You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Atom Syndication Format Overview

Atom is an XML-based document format that describes lists of related information known as "feeds". Feeds are composed of a number of items, known as "entries", each with an extensible set of attached metadata. For example, each entry has a title. The primary use case that Atom addresses is the syndication of Web content such as weblogs and news headlines to Web sites as well as directly to user agents.

Data Model

Apache Wink provides an Atom Syndication Format data model for consuming and producing Atom Feeds and Atom Entries (application/atom+xml). All of the model classes are located under the org.apache.wink.common.model.atom and org.apache.wink.common.model.synd packages.

Important Note

The Atom Syndication Format data model can also be used to produce Atom Feeds and Atom Entries in HTML (text/html) and JSON (application/json) formats. For more details regarding HTML see section HTML (TBD). For JSON format see section (TBD)

Atom Feed Support

TBD

 

Supported

Media Types

Data Model

Provider registration

Read

Yes

application/atom+xml

org.apache.wink.common.model.atom.AtomFeed
org.apache.wink.common.model.synd.SyndFeed

Not required. Registered by default

Write

Yes

application/atom+xml

org.apache.wink.common.model.atom.AtomFeed
org.apache.wink.common.model.synd.SyndFeed

Not required. Registered by default

Atom Entry Support

TBD

 

Supported

Media Types

Data Model

Provider registration

Read

Yes

application/atom+xml

org.apache.wink.common.model.atom.AtomEntry
org.apache.wink.common.model.synd.SyndEntry

Not required. Registered by default

Write

Yes

application/atom+xml

org.apache.wink.common.model.atom.AtomEntry
org.apache.wink.common.model.synd.SyndEntry

Not required. Registered by default

Examples

TBD

Producing Atom Feed

TBD

    @GET
    @Produces(MediaType.APPLICATION_ATOM_XML)
    public AtomFeed getFeed() {
        AtomFeed feed = new AtomFeed();
        feed.setId("http://example.com/atomfeed");
        feed.setTitle(new AtomText("Example"));
        feed.setUpdated(new Date());
        AtomLink link1 = new AtomLink();
        ...
            
        return feed;
    }
}

Consuming Atom Feed

TBD

        @POST
    @Consumes(MediaType.APPLICATION_ATOM_XML)
    public void setFeed(AtomFeed feed) {
        ...
                
        return;
    }

Producing Atom Entry

TBD

    @GET
    @Produces(MediaType.APPLICATION_ATOM_XML)
    public AtomEntry getEntry() {
        AtomEntry entry = new AtomEntry();
        entry.setId("http://example.com/entry");
        entry.setTitle(new AtomText("Web Demo"));
        entry.getLinks().add(link2);
        entry.setUpdated(new Date());
        entry.setPublished(new Date());
        ...
        return entry;
    }

Consuming Atom Entry

TBD

    @POST
    @Consumes(MediaType.APPLICATION_ATOM_XML)
    public void setEntry(AtomEntry entry) {
        ...
                
        return;
   }

Atom Providers

Apache Wink provides a set of entity providers that are capable of mapping Atom Feed and Atom Entry XML documents to and from an Atom data model.

Reference

Refer to chapter ‎9 TBD for more information on Data Models.

AtomFeedProvider

Handles reading and writing of the AtomFeedProvider class for the application/atom+xml media type.

 

Supported

Media Types

Entity

Read

Yes

application/atom+xml

AtomFeed

Write

Yes

application/atom+xml

AtomFeed

AtomFeedSyndFeedProvider

Handles reading and writing of the AtomFeedSyndFeedProvider class for the application/atom+xml media type.

 

Supported

Media Types

Entity

Read

Yes

application/atom+xml

SyndFeed

Write

Yes

application/atom+xml

SyndFeed

AtomFeedJAXBElementProvider

Handles reading and writing of the AtomFeedJAXBElementProvider class for the application/atom+xml media type.

 

Supported

Media Types

Entity

Read

Yes

application/atom+xml

JAXBElement<AtomFeed>

Write

Yes

application/atom+xml

JAXBElement<AtomFeed>

AtomEntryProvider

Handles reading and writing of the AtomEntryProvider class for the application/atom+xml media type.

 

Supported

Media Types

Entity

Read

Yes

application/atom+xml

AtomEntry

Write

Yes

application/atom+xml

AtomEntry

AtomEntrySyndEntryProvider

Handles reading and writing of the AtomEntrySyndEntryProvider class for the application/atom+xml media type.

 

Supported

Media Types

Entity

Read

Yes

application/atom+xml

SyndEntry

Write

Yes

application/atom+xml

SyndEntry

AtomEntryJAXBElementProvider

Handles reading and writing of the AtomEntryJAXBElementProvider class for the application/atom+xml media type.

 

Supported

Media Types

Entity

Read

Yes

application/atom+xml

JAXBElement<AtomEntry>

Write

Yes

application/atom+xml

JAXBElement<AtomEntry>

Atom Data Models

Apache Wink provides an Atom data model for consuming and producing Atom feeds and entries (application/atom+xml). All of the model classes are located under the com.hp.symphony.common.model.atom package.

  • No labels