diff --git a/libraries/pom.xml b/libraries/pom.xml
index efdf20423a..87971fb26e 100644
--- a/libraries/pom.xml
+++ b/libraries/pom.xml
@@ -181,6 +181,11 @@
jetty-servlet
${jetty.version}
+
+ rome
+ rome
+ ${rome.version}
+
io.specto
hoverfly-java
@@ -497,5 +502,6 @@
1.6.0
1.7.1
2.1.2
+ 1.0
diff --git a/libraries/src/main/java/com/baeldung/rome/RSSRomeExample.java b/libraries/src/main/java/com/baeldung/rome/RSSRomeExample.java
new file mode 100644
index 0000000000..66a9e0ebce
--- /dev/null
+++ b/libraries/src/main/java/com/baeldung/rome/RSSRomeExample.java
@@ -0,0 +1,76 @@
+package com.baeldung.rome;
+
+import com.sun.syndication.feed.synd.*;
+import com.sun.syndication.io.FeedException;
+import com.sun.syndication.io.SyndFeedInput;
+import com.sun.syndication.io.SyndFeedOutput;
+import com.sun.syndication.io.XmlReader;
+
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.Writer;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class RSSRomeExample {
+
+ public static void main(String[] args) throws IOException, FeedException {
+ SyndFeed feed = createFeed();
+ addEntryToFeed(feed);
+ publishFeed(feed);
+ readFeed();
+ }
+
+ private static SyndFeed createFeed() {
+ SyndFeed feed = new SyndFeedImpl();
+ feed.setFeedType("rss_1.0");
+ feed.setTitle("Test title");
+ feed.setLink("http://www.somelink.com");
+ feed.setDescription("Basic description");
+
+ return feed;
+ }
+
+ private static void addEntryToFeed(SyndFeed feed) {
+ SyndEntry entry = new SyndEntryImpl();
+ entry.setTitle("Entry title");
+ entry.setLink("http://www.somelink.com/entry1");
+
+ addDescriptionToEntry(entry);
+ addCategoryToEntry(entry);
+
+ feed.setEntries(Arrays.asList(entry));
+ }
+
+ private static void addDescriptionToEntry(SyndEntry entry) {
+ SyndContent description = new SyndContentImpl();
+ description.setType("text/html");
+ description.setValue("First entry");
+
+ entry.setDescription(description);
+ }
+
+ private static void addCategoryToEntry(SyndEntry entry) {
+ List categories = new ArrayList<>();
+ SyndCategory category = new SyndCategoryImpl();
+ category.setName("Sophisticated category");
+ categories.add(category);
+
+ entry.setCategories(categories);
+ }
+
+ private static void publishFeed(SyndFeed feed) throws IOException, FeedException {
+ Writer writer = new FileWriter("xyz.txt");
+ SyndFeedOutput syndFeedOutput = new SyndFeedOutput();
+ syndFeedOutput.output(feed, writer);
+ writer.close();
+ }
+
+ private static SyndFeed readFeed() throws IOException, FeedException {
+ URL feedSource = new URL("http://rssblog.whatisrss.com/feed/");
+ SyndFeedInput input = new SyndFeedInput();
+ return input.build(new XmlReader(feedSource));
+ }
+}
\ No newline at end of file