Sunday 21 May 2017

Atom: Category element

Category element conveys information about a category associated with an entry or feed. Category element has three attributes associated with it.
a.   term attribute
b.   scheme attribute
c.   label attribute

term attribute
Category element must has this attribute, term attribute specifies category to which the entry or feed belongs.

scheme attribute
It is an is an IRI that identifies a categorization scheme.

label attribute
The "label" attribute provides a human-readable label for display in end-user applications.  The content of the "label" attribute is Language-Sensitive.  Entities such as "&amp;" and "&lt;" represent their corresponding characters ("&" and "<", respectively), not markup.

Example
Feed Category element
<feed xmlns="http://www.w3.org/2005/Atom">
  <category term="Programming" scheme="scheme" label="Java Tutorial for beginners"/>
  .....
  .....
</feed>


Entry category element

<entry>
    <category term="GUI" scheme="scheme" label="SWT for beginners"/>
 ....
 ....
</entry>

Following is the complete working application.


HelloWorld.java
import java.io.IOException;
import java.util.Date;

import org.apache.abdera.Abdera;
import org.apache.abdera.model.Content;
import org.apache.abdera.model.Entry;
import org.apache.abdera.model.Feed;
import org.apache.abdera.model.Text;
import org.apache.abdera.writer.Writer;

public class HelloWorld {

 private static void addMetaData(Feed feed) {
  feed.setId("tag:blogger.com,1999:blog-3062500619105519975");
  feed.setUpdated(new Date());
  feed.setTitle("java tutorial : Blog to learn java programming");
  feed.setSubtitle("Learners Blog");

  feed.addCategory("scheme", "Programming", "Java Tutorial for beginners");
 }

 private static void addLinksToFeed(Feed feed) {
  /* Adding Links */
  String rel = "http://schemas.google.com/g/2005#feed";
  String type = "application/atom+xml";
  String href = "https://self-learning-java-tutorial.blogspot.com/feeds/posts/default";
  String title = "";
  String hreflang = "";
  long length = 0;

  feed.addLink(href, rel, type, title, hreflang, length);

  rel = "self";
  type = "application/atom+xml";
  href = "http://www.blogger.com/feeds/3062500619105519975/posts/default?alt=atom";

  feed.addLink(href, rel, type, title, hreflang, length);

 }

 private static void addAuthorToFeed(Feed feed) {
  String name = "hari krishna";
  String email = "noreply@blogger.com";
  String iri = "https://self-learning-java-tutorial.blogspot.com";

  feed.addAuthor(name, email, iri);
 }

 private static void addEntry(Feed feed) {

  Entry entry1 = feed.addEntry();
  entry1.setId("tag:blogger.com,1999:blog-3062500619105519975.post-918659526208416960");
  Date date = new Date();
  entry1.setPublished(date);
  entry1.setUpdated(date);
  entry1.setTitle("SWT: Slider Tutorial", Text.Type.TEXT);
  entry1.setContent("Slider class is used to define Slider widget", Content.Type.HTML);
  entry1.addAuthor("Hari Krishna Gurram", "noreply@blogger.com",
    "https://self-learning-java-tutorial.blogspot.com");
  entry1.addAuthor("Rama Krishna Gurram", "noreply@blogger.com",
    "https://self-learning-java-tutorial.blogspot.com");
  entry1.addContributor("Ritweek Mehenty", "noreply@blogger.com",
    "https://self-learning-java-tutorial.blogspot.com");
  entry1.addContributor("Sailaja Navakotla", "noreply@blogger.com",
    "https://self-learning-java-tutorial.blogspot.com");

  entry1.addCategory("scheme", "GUI", "SWT for beginners");

  feed.addEntry(entry1);
 }

 public static void main(String args[]) throws IOException {
  Abdera abdera = new Abdera();

  /* Create a new Feed instance. */
  Feed feed = abdera.newFeed();

  /* Populate feed */
  addMetaData(feed);
  addLinksToFeed(feed);
  addAuthorToFeed(feed);
  addEntry(feed);

  /* Print the feed to console */
  Writer writer = abdera.getWriterFactory().getWriter("prettyxml");
  feed.writeTo(writer, System.out);
 }
}

Output
<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>tag:blogger.com,1999:blog-3062500619105519975</id>
  <updated>2016-12-17T15:33:42.127Z</updated>
  <title type="text">java tutorial : Blog to learn java programming</title>
  <subtitle type="text">Learners Blog</subtitle>
  <category term="Programming" scheme="scheme" label="Java Tutorial for beginners"/>
  <link href="https://self-learning-java-tutorial.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" title="" hreflang="" length="0"/>
  <link href="http://www.blogger.com/feeds/3062500619105519975/posts/default?alt=atom" rel="self" type="application/atom+xml" title="" hreflang="" length="0"/>
  <author>
    <name>hari krishna</name>
    <email>noreply@blogger.com</email>
    <uri>https://self-learning-java-tutorial.blogspot.com</uri>
  </author>
  <entry>
    <id>tag:blogger.com,1999:blog-3062500619105519975.post-918659526208416960</id>
    <published>2016-12-17T15:33:42.147Z</published>
    <updated>2016-12-17T15:33:42.147Z</updated>
    <title type="text">SWT: Slider Tutorial</title>
    <content type="html">Slider class is used to define Slider widget</content>
    <author>
      <name>Hari Krishna Gurram</name>
      <email>noreply@blogger.com</email>
      <uri>https://self-learning-java-tutorial.blogspot.com</uri>
    </author>
    <author>
      <name>Rama Krishna Gurram</name>
      <email>noreply@blogger.com</email>
      <uri>https://self-learning-java-tutorial.blogspot.com</uri>
    </author>
    <contributor>
      <name>Ritweek Mehenty</name>
      <email>noreply@blogger.com</email>
      <uri>https://self-learning-java-tutorial.blogspot.com</uri>
    </contributor>
    <contributor>
      <name>Sailaja Navakotla</name>
      <email>noreply@blogger.com</email>
      <uri>https://self-learning-java-tutorial.blogspot.com</uri>
    </contributor>
    <category term="GUI" scheme="scheme" label="SWT for beginners"/>
  </entry>
</feed>





Previous                                                 Next                                                 Home

No comments:

Post a Comment