You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by ja...@apache.org on 2013/03/01 13:15:45 UTC

[28/32] MARMOTTA-109: included org.rometools:rome:1.1.1-LMF and org.rometools:rome-modules:1.5.1-LMF in source

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Enclosure.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Enclosure.java b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Enclosure.java
new file mode 100644
index 0000000..4d22131
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Enclosure.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 The ROME Team
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.rss;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+
+import java.io.Serializable;
+
+/**
+ * Bean for item enclosures of RSS feeds.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class Enclosure implements Cloneable,Serializable {
+    private ObjectBean _objBean;
+    private String _url;
+    private long _length;
+    private String _type;
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public Enclosure() {
+        _objBean = new ObjectBean(this.getClass(),this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    @Override
+    public boolean equals(Object other) {
+        if(!(other instanceof Enclosure)){
+            return false;
+        }
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the enclosure URL.
+     * <p>
+     * @return the enclosure URL, <b>null</b> if none.
+     *
+     */
+    public String getUrl() {
+        return _url;
+    }
+
+    /**
+     * Sets the enclosure URL.
+     * <p>
+     * @param url the enclosure URL to set, <b>null</b> if none.
+     *
+     */
+    public void setUrl(String url) {
+        _url = url;
+    }
+
+    /**
+     * Returns the enclosure length.
+     * <p>
+     * @return the enclosure length, <b>0</b> if none.
+     *
+     */
+    public long getLength() {
+        return _length;
+    }
+
+    /**
+     * Sets the enclosure length.
+     * <p>
+     * @param length the enclosure length to set, <b>0</b> if none.
+     *
+     */
+    public void setLength(long length) {
+        _length = length;
+    }
+
+    /**
+     * Returns the enclosure type.
+     * <p>
+     * @return the enclosure type, <b>null</b> if none.
+     *
+     */
+    public String getType() {
+        return _type;
+    }
+
+    /**
+     * Sets the enclosure type.
+     * <p>
+     * @param type the enclosure type to set, <b>null</b> if none.
+     *
+     */
+    public void setType(String type) {
+        _type = type;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Guid.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Guid.java b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Guid.java
new file mode 100644
index 0000000..e75ace4
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Guid.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 The ROME Team
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.rss;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+
+import java.io.Serializable;
+
+/**
+ * Bean for item GUIDs of RSS feeds.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class Guid implements Cloneable,Serializable {
+    private ObjectBean _objBean;
+    private boolean _permaLink;
+    private String _value;
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public Guid() {
+        _objBean = new ObjectBean(this.getClass(),this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    @Override
+    public boolean equals(Object other) {
+        if(!(other instanceof Guid)){
+            return false;
+        }
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the guid perma link.
+     * <p>
+     * @return the guid perma link, <b>null</b> if none.
+     *
+     */
+    public boolean isPermaLink() {
+        return _permaLink;
+    }
+
+    /**
+     * Sets the guid perma link.
+     * <p>
+     * @param permaLink the guid perma link to set, <b>null</b> if none.
+     *
+     */
+    public void setPermaLink(boolean permaLink) {
+        _permaLink = permaLink;
+    }
+
+    /**
+     * Returns the guid value.
+     * <p>
+     * @return the guid value, <b>null</b> if none.
+     *
+     */
+    public String getValue() {
+        return _value;
+    }
+
+    /**
+     * Sets the guid value.
+     * <p>
+     * @param value the guid value to set, <b>null</b> if none.
+     *
+     */
+    public void setValue(String value) {
+        _value = value;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Image.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Image.java b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Image.java
new file mode 100644
index 0000000..4971683
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Image.java
@@ -0,0 +1,218 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.rss;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+
+import java.io.Serializable;
+
+/**
+ * Bean for images of RSS feeds.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class Image implements Cloneable,Serializable {
+    private ObjectBean _objBean;
+    private String _title;
+    private String _url;
+    private String _link;
+    private Integer _width = -1;
+    private Integer _height = -1;
+    private String _description;
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public Image() {
+        _objBean = new ObjectBean(this.getClass(),this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    @Override
+    public boolean equals(Object other) {
+        if(!(other instanceof Image)){
+            return false;
+        }
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the image title.
+     * <p>
+     * @return the image title, <b>null</b> if none.
+     *
+     */
+    public String getTitle() {
+        return _title;
+    }
+
+    /**
+     * Sets the image title.
+     * <p>
+     * @param title the image title to set, <b>null</b> if none.
+     *
+     */
+    public void setTitle(String title) {
+        _title = title;
+    }
+
+    /**
+     * Returns the image URL.
+     * <p>
+     * @return the image URL, <b>null</b> if none.
+     *
+     */
+    public String getUrl() {
+        return _url;
+    }
+
+    /**
+     * Sets the image URL.
+     * <p>
+     * @param url the image URL to set, <b>null</b> if none.
+     *
+     */
+    public void setUrl(String url) {
+        _url = url;
+    }
+
+    /**
+     * Returns the image link.
+     * <p>
+     * @return the image link, <b>null</b> if none.
+     *
+     */
+    public String getLink() {
+        return _link;
+    }
+
+    /**
+     * Sets the image link.
+     * <p>
+     * @param link the image link to set, <b>null</b> if none.
+     *
+     */
+    public void setLink(String link) {
+        _link = link;
+    }
+
+    /**
+     * Returns the image width.
+     * <p>
+     * @return the image width, <b>null</b> if none.
+     *
+     */
+    public Integer getWidth() {
+        return _width;
+    }
+
+    /**
+     * Sets the image width.
+     * <p>
+     * @param width the image width to set, <b>null</b> if none.
+     *
+     */
+    public void setWidth(Integer width) {
+        _width = width;
+    }
+
+    /**
+     * Returns the image height.
+     * <p>
+     * @return the image height, <b>null</b> if none.
+     *
+     */
+    public Integer getHeight() {
+        return _height;
+    }
+
+    /**
+     * Sets the image height.
+     * <p>
+     * @param height the image height to set, <b>null</b> if none.
+     *
+     */
+    public void setHeight(Integer height) {
+        _height = height;
+    }
+
+    /**
+     * Returns the image description.
+     * <p>
+     * @return the image description, <b>null</b> if none.
+     *
+     */
+    public String getDescription() {
+        return _description;
+    }
+
+    /**
+     * Sets the image description.
+     * <p>
+     * @param description the image description to set, <b>null</b> if none.
+     *
+     */
+    public void setDescription(String description) {
+        _description = description;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Item.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Item.java b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Item.java
new file mode 100644
index 0000000..9931dd8
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Item.java
@@ -0,0 +1,440 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 The ROME Team
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.rss;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+import com.sun.syndication.feed.module.Module;
+import com.sun.syndication.feed.module.impl.ModuleUtils;
+import com.sun.syndication.feed.module.Extendable;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.io.Serializable;
+
+/**
+ * Bean for items of RSS feeds.
+ * <p>
+ * It handles all RSS versions without loosing information.
+ * <p>
+ * For RSS1.0 it supports Dublin Core and Syndication modules. Note that
+ * those modules currently support simple syntax format only.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class Item implements Cloneable, Serializable, Extendable {
+    private ObjectBean _objBean;
+    private String _title;
+    private String _link;
+    private String _uri;
+    private Description _description;
+    private Content _content;
+    private Source _source;
+    private List<Enclosure> _enclosures;
+    private List<Category> _categories;
+    private Guid _guid;
+    private String _comments;
+    private String _author;
+    private Date _pubDate;
+    private Date _expirationDate;
+    private List<Module> _modules;
+    private List _foreignMarkup;
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public Item() {
+        _objBean = new ObjectBean(this.getClass(),this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    @Override
+    public boolean equals(Object other) {
+        if (other == null || !(other instanceof Item)) {
+            return false;
+        }
+        // can't use foreign markup in equals, due to JDOM equals impl
+        Object fm = getForeignMarkup();
+        setForeignMarkup(((Item)other).getForeignMarkup());       
+        boolean ret = _objBean.equals(other);
+        // restore foreign markup
+        setForeignMarkup(fm);
+        return ret;
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the item title.
+     * <p>
+     * @return the item title, <b>null</b> if none.
+     *
+     */
+    public String getTitle() {
+        return _title;
+    }
+
+    /**
+     * Sets the item title.
+     * <p>
+     * @param title the item title to set, <b>null</b> if none.
+     *
+     */
+    public void setTitle(String title) {
+        _title = title;
+    }
+
+    /**
+     * Returns the item link.
+     * <p>
+     * @return the item link, <b>null</b> if none.
+     *
+     */
+    public String getLink() {
+        return _link;
+    }
+
+    /**
+     * Sets the item link.
+     * <p>
+     * @param link the item link to set, <b>null</b> if none.
+     *
+     */
+    public void setLink(String link) {
+        _link = link;
+    }
+
+    /**
+     * Returns the item uri.
+     * <p>
+     * @return the item uri, <b>null</b> if none.
+     */
+    public String getUri() {
+        return _uri;
+    }
+
+    /**
+     * Sets the item uri.
+     * <p>
+     * @param uri the item uri to set, <b>null</b> if none.
+     */
+    public void setUri(String uri) {
+        _uri = uri;
+    }
+
+    /**
+     * Returns the item description.
+     * <p>
+     * @return the item description, <b>null</b> if none.
+     *
+     */
+    public Description getDescription() {
+        return _description;
+    }
+
+    /**
+     * Sets the item description.
+     * <p>
+     * @param description the item description to set, <b>null</b> if none.
+     *
+     */
+    public void setDescription(Description description) {
+        _description = description;
+    }
+
+    /**
+     * Returns the item content.
+     * <p>
+     * @return the item content, <b>null</b> if none.
+     *
+     */
+    public Content getContent() {
+        return _content;
+    }
+
+    /**
+     * Sets the item content.
+     * <p>
+     * @param content the item content to set, <b>null</b> if none.
+     *
+     */
+    public void setContent(Content content) {
+        _content = content;
+    }
+
+    /**
+     * Returns the item source.
+     * <p>
+     * @return the item source, <b>null</b> if none.
+     *
+     */
+    public Source getSource() {
+        return _source;
+    }
+
+    /**
+     * Sets the item source.
+     * <p>
+     * @param source the item source to set, <b>null</b> if none.
+     *
+     */
+    public void setSource(Source source) {
+        _source = source;
+    }
+
+    /**
+     * Returns the item enclosures.
+     * <p>
+     * @return a list of Enclosure elements with the item enclosures,
+     *         an empty list if none.
+     *
+     */
+    public List<Enclosure> getEnclosures() {
+        return (_enclosures==null) ? (_enclosures=new ArrayList<Enclosure>()) : _enclosures;
+    }
+
+    /**
+     * Sets the item enclosures.
+     * <p>
+     * @param enclosures the list of Enclosure elements with the item enclosures to set,
+     *        an empty list or <b>null</b> if none.
+     *
+     */
+    public void setEnclosures(List<Enclosure> enclosures) {
+        _enclosures = enclosures;
+    }
+
+    /**
+     * Returns the item categories.
+     * <p>
+     * @return a list of Category elements with the item categories,
+     *         an empty list if none.
+     *
+     */
+    public List getCategories() {
+        return (_categories==null) ? (_categories=new ArrayList<Category>()) : _categories;
+    }
+
+    /**
+     * Sets the item categories.
+     * <p>
+     * @param categories the list of Categories elements with the item categories to set,
+     *        an empty list or <b>null</b> if none.
+     *
+     */
+    public void setCategories(List<Category> categories) {
+        _categories = categories;
+    }
+
+    /**
+     * Returns the item GUID.
+     * <p>
+     * @return the item GUID, <b>null</b> if none.
+     *
+     */
+    public Guid getGuid() {
+        return _guid;
+    }
+
+    /**
+     * Sets the item GUID.
+     * <p>
+     * @param guid the item GUID to set, <b>null</b> if none.
+     *
+     */
+    public void setGuid(Guid guid) {
+        _guid = guid;
+    }
+
+    /**
+     * Returns the item comments.
+     * <p>
+     * @return the item comments, <b>null</b> if none.
+     *
+     */
+    public String getComments() {
+        return _comments;
+    }
+
+    /**
+     * Sets the item comments.
+     * <p>
+     * @param comments the item comments to set, <b>null</b> if none.
+     *
+     */
+    public void setComments(String comments) {
+        _comments = comments;
+    }
+
+    /**
+     * Returns the item author.
+     * <p>
+     * @return the item author, <b>null</b> if none.
+     *
+     */
+    public String getAuthor() {
+        return _author;
+    }
+
+    /**
+     * Sets the item author.
+     * <p>
+     * @param author the item author to set, <b>null</b> if none.
+     *
+     */
+    public void setAuthor(String author) {
+        _author = author;
+    }
+
+    /**
+     * Returns the item modules.
+     * <p>
+     * @return a list of ModuleImpl elements with the item modules,
+     *         an empty list if none.
+     *
+     */
+    public List<Module> getModules() {
+        return (_modules==null) ? (_modules=new ArrayList<Module>()) : _modules;
+    }
+
+    /**
+     * Sets the item modules.
+     * <p>
+     * @param modules the list of ModuleImpl elements with the item modules to set,
+     *        an empty list or <b>null</b> if none.
+     *
+     */
+    public void setModules(List<Module> modules) {
+        _modules = modules;
+    }
+
+    /**
+     * Returns the module identified by a given URI.
+     * <p>
+     * @param uri the URI of the ModuleImpl.
+     * @return The module with the given URI, <b>null</b> if none.
+     */
+    public Module getModule(String uri) {
+        return ModuleUtils.getModule(_modules,uri);
+    }
+
+
+    /**
+     * Returns the item publishing date.
+     * <p>
+     * @return the item publishing date, <b>null</b> if none.
+     *
+     */
+    public Date getPubDate() {
+        return _pubDate == null ? null : new Date( _pubDate.getTime());
+    }
+
+    /**
+     * Sets the item publishing date.
+     * <p>
+     * @param pubDate the item publishing date to set, <b>null</b> if none.
+     *
+     */
+    public void setPubDate(Date pubDate) {
+        _pubDate = pubDate == null ? null : new Date( pubDate.getTime());
+    }
+
+    /**
+     * Returns the item expiration date.
+     * <p>
+     * @return the item expiration date, <b>null</b> if none.
+     *
+     */
+    public Date getExpirationDate() {
+        return _expirationDate == null ? null : new Date(_expirationDate.getTime());
+    }
+
+    /**
+     * Sets the item expiration date.
+     * <p>
+     * @param expirationDate the item expiration date to set, <b>null</b> if none.
+     *
+     */
+    public void setExpirationDate(Date expirationDate) {
+        _expirationDate = expirationDate == null ? null : new Date(expirationDate.getTime());
+    }
+
+    /**
+     * Returns foreign markup found at item level.
+     * <p>
+     * @return Opaque object to discourage use
+     *
+     */
+    public Object getForeignMarkup() {
+        return (_foreignMarkup==null) ? (_foreignMarkup=new ArrayList()) : _foreignMarkup;
+    }
+
+    /**
+     * Sets foreign markup found at item level.
+     * <p>
+     * @param foreignMarkup Opaque object to discourage use
+     *
+     */
+    public void setForeignMarkup(Object foreignMarkup) {
+        _foreignMarkup = (List)foreignMarkup;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Source.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Source.java b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Source.java
new file mode 100644
index 0000000..8122e39
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Source.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 The ROME Team
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.rss;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+
+import java.io.Serializable;
+
+/**
+ * Bean for item sources of RSS feeds.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class Source implements Cloneable,Serializable {
+    private ObjectBean _objBean;
+    private String _url;
+    private String _value;
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public Source() {
+        _objBean = new ObjectBean(this.getClass(),this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    @Override
+    public boolean equals(Object other) {
+        if(!(other instanceof Source)){
+            return false;
+        }
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the source URL.
+     * <p>
+     * @return the source URL, <b>null</b> if none.
+     *
+     */
+    public String getUrl() {
+        return _url;
+    }
+
+    /**
+     * Sets the source URL.
+     * <p>
+     * @param url the source URL to set, <b>null</b> if none.
+     *
+     */
+    public void setUrl(String url) {
+        _url = url;
+    }
+
+    /**
+     * Returns the source value.
+     * <p>
+     * @return the source value, <b>null</b> if none.
+     *
+     */
+    public String getValue() {
+        return _value;
+    }
+
+    /**
+     * Sets the source value.
+     * <p>
+     * @param value the source value to set, <b>null</b> if none.
+     *
+     */
+    public void setValue(String value) {
+        _value = value;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/TextInput.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/TextInput.java b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/TextInput.java
new file mode 100644
index 0000000..b797941
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/rss/TextInput.java
@@ -0,0 +1,177 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 The ROME Team
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.rss;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+
+import java.io.Serializable;
+
+/**
+ * Bean for text input of RSS feeds.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class TextInput implements Cloneable,Serializable {
+    private ObjectBean _objBean;
+    private String _title;
+    private String _description;
+    private String _name;
+    private String _link;
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public TextInput() {
+        _objBean = new ObjectBean(this.getClass(),this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    @Override
+    public boolean equals(Object other) {
+        if(!(other instanceof TextInput)){
+            return false;
+        }
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the text input title.
+     * <p>
+     * @return the text input title, <b>null</b> if none.
+     *
+     */
+    public String getTitle() {
+        return _title;
+    }
+
+    /**
+     * Sets the text input title.
+     * <p>
+     * @param title the text input title to set, <b>null</b> if none.
+     *
+     */
+    public void setTitle(String title) {
+        _title = title;
+    }
+
+    /**
+     * Returns the text input description.
+     * <p>
+     * @return the text input description, <b>null</b> if none.
+     *
+     */
+    public String getDescription() {
+        return _description;
+    }
+
+    /**
+     * Sets the text input description.
+     * <p>
+     * @param description the text input description to set, <b>null</b> if none.
+     *
+     */
+    public void setDescription(String description) {
+        _description = description;
+    }
+
+    /**
+     * Returns the text input name.
+     * <p>
+     * @return the text input name, <b>null</b> if none.
+     *
+     */
+    public String getName() {
+        return _name;
+    }
+
+    /**
+     * Sets the text input name.
+     * <p>
+     * @param name the text input name to set, <b>null</b> if none.
+     *
+     */
+    public void setName(String name) {
+        _name = name;
+    }
+
+    /**
+     * Returns the text input link.
+     * <p>
+     * @return the text input link, <b>null</b> if none.
+     *
+     */
+    public String getLink() {
+        return _link;
+    }
+
+    /**
+     * Sets the text input link.
+     * <p>
+     * @param link the text input link to set, <b>null</b> if none.
+     *
+     */
+    public void setLink(String link) {
+        _link = link;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/Converter.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/Converter.java b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/Converter.java
new file mode 100644
index 0000000..9f46b1d
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/Converter.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.synd;
+
+import com.sun.syndication.feed.WireFeed;
+import com.sun.syndication.feed.synd.SyndFeed;
+
+/**
+ * Interface that defines the functionality to convert a SyndFeedImpl
+ * to a real feed (RSS or Atom) and vice versa.
+ * <p>
+ * Each implementation knows how to deal with a specific type (version)
+ * of a real feed.
+ * <p>
+ * Implementations must be thread safe.
+ * <p>
+ * TODO: explain how developers can plugin their own implementations.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public interface Converter {
+
+    /**
+     * Returns the type (version) of the real feed this converter handles.
+     * <p>
+     * @see WireFeed for details on the format of this string.
+     * <p>
+     * @return the real feed type.
+     *
+     */
+    public String getType();
+
+    /**
+     * Makes a deep copy/conversion of the values of a real feed into a SyndFeedImpl.
+     * <p>
+     * It assumes the given SyndFeedImpl has no properties set.
+     * <p>
+     * @param feed real feed to copy/convert.
+     * @param syndFeed the SyndFeedImpl that will contain the copied/converted values of the real feed.
+     *
+     */
+    public void copyInto(WireFeed feed,SyndFeed syndFeed);
+
+    /**
+     * Creates real feed with a deep copy/conversion of the values of a SyndFeedImpl.
+     * <p>
+     * @param syndFeed SyndFeedImpl to copy/convert value from.
+     * @return a real feed with copied/converted values of the SyndFeedImpl.
+     *
+     */
+    public WireFeed createRealFeed(SyndFeed syndFeed);
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndCategory.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndCategory.java b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndCategory.java
new file mode 100644
index 0000000..6354c33
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndCategory.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 The ROME Team
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.synd;
+
+
+
+
+/**
+ * Bean interface for categories of SyndFeedImpl feeds and entries.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public interface SyndCategory extends Cloneable {
+    /**
+     * Returns the category name.
+     * <p>
+     * @return the category name, <b>null</b> if none.
+     *
+     */
+    String getName();
+
+    /**
+     * Sets the category name.
+     * <p>
+     * @param name the category name to set, <b>null</b> if none.
+     *
+     */
+    void setName(String name);
+
+    /**
+     * Returns the category taxonomy URI.
+     * <p>
+     * @return the category taxonomy URI, <b>null</b> if none.
+     *
+     */
+    String getTaxonomyUri();
+
+    /**
+     * Sets the category taxonomy URI.
+     * <p>
+     * @param taxonomyUri the category taxonomy URI to set, <b>null</b> if none.
+     *
+     */
+    void setTaxonomyUri(String taxonomyUri);
+
+    /**
+     * Creates a deep clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    public Object clone() throws CloneNotSupportedException;
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndCategoryImpl.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndCategoryImpl.java b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndCategoryImpl.java
new file mode 100644
index 0000000..eacefbb
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndCategoryImpl.java
@@ -0,0 +1,287 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 ROME Team
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.synd;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+import com.sun.syndication.feed.module.DCSubjectImpl;
+import com.sun.syndication.feed.module.DCSubject;
+
+import java.util.AbstractList;
+import java.util.List;
+import java.util.ArrayList;
+import java.io.Serializable;
+
+/**
+ * Bean for categories of SyndFeedImpl feeds and entries.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class SyndCategoryImpl implements Serializable, SyndCategory {
+    private ObjectBean _objBean;
+    private DCSubject _subject;
+
+    /**
+     * For implementations extending SyndContentImpl to be able to use the ObjectBean functionality
+     * with extended interfaces.
+     * <p>
+     * @param subject the DC subject to wrap.
+     */
+    SyndCategoryImpl(DCSubject subject) {
+        _objBean = new ObjectBean(SyndCategory.class,this);
+        _subject = subject;
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    @Override
+    public boolean equals(Object other) {
+        if(!(other instanceof SyndCategoryImpl)){
+            return false;
+        }
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Package private constructor, used by SyndCategoryListFacade.
+     * <p>
+     * @return the DC subject being wrapped.
+     *
+     */
+    DCSubject getSubject() {
+        return _subject;
+    }
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public SyndCategoryImpl() {
+        this(new DCSubjectImpl());
+    }
+
+    /**
+     * Returns the category name.
+     * <p>
+     * @return the category name, <b>null</b> if none.
+     *
+     */
+    public String getName() {
+        return _subject.getValue();
+    }
+
+    /**
+     * Sets the category name.
+     * <p>
+     * @param name the category name to set, <b>null</b> if none.
+     *
+     */
+    public void setName(String name) {
+        _subject.setValue(name);
+    }
+
+    /**
+     * Returns the category taxonomy URI.
+     * <p>
+     * @return the category taxonomy URI, <b>null</b> if none.
+     *
+     */
+    public String getTaxonomyUri() {
+        return _subject.getTaxonomyUri();
+    }
+
+    /**
+     * Sets the category taxonomy URI.
+     * <p>
+     * @param taxonomyUri the category taxonomy URI to set, <b>null</b> if none.
+     *
+     */
+    public void setTaxonomyUri(String taxonomyUri) {
+        _subject.setTaxonomyUri(taxonomyUri);
+    }
+
+}
+
+
+/**
+ * List implementation for SyndCategoryImpl elements. To be directly used by the SyndFeedImpl
+ * and SyndEntryImpl classes only.
+ * <p>
+ * It acts as a facade on top of the DCSubjectImpl elements of the underlying list
+ * and remains in synch with it. It is possible to work on either list, the categories
+ * one or the subjects one and they remain in synch.
+ * <p>
+ * This is necessary because the SyndFeedImpl categories are just a convenience to access
+ * the DublinCore subjects.
+ * <P>
+ * All this mess to avoid making DCSubjectImpl implement SyndCategory (which it would be odd).
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+class SyndCategoryListFacade extends AbstractList<SyndCategory> {
+    private List<DCSubject> _subjects;
+
+    /**
+     * Default constructor. Creates and empty list.
+     */
+    public SyndCategoryListFacade() {
+        this(new ArrayList<DCSubject>());
+    }
+
+    /**
+     * Creates a facade list of categories on top the given subject list.
+     * <P>
+     * @param subjects the list of subjects to create the facade.
+     *
+     */
+    public SyndCategoryListFacade(List<DCSubject> subjects) {
+        _subjects = subjects;
+    }
+
+    /**
+     * Gets the category by index.
+     * <p>
+     * @param index the index position to retrieve the category.
+     * @return the SyndCategoryImpl in position index, <b>null</b> if none.
+     *
+     */
+    public SyndCategory get(int index) {
+        return new SyndCategoryImpl((DCSubject) _subjects.get(index));
+    }
+
+    /**
+     * Returns the size of the list.
+     * <p>
+     * @return the size of the list.
+     *
+     */
+    public int size() {
+        return _subjects.size();
+    }
+
+    /**
+     * Sets a category in an existing position in the list.
+     * <p>
+     * @param index position to set the category.
+     * @param obj the SyndCategoryImpl object to set.
+     * @return the SyndCategoryImpl object that is being replaced, <b>null</b> if none.
+     *
+     */
+    @Override
+    public SyndCategory set(int index, SyndCategory obj) {
+        SyndCategoryImpl sCat = (SyndCategoryImpl) obj;
+        DCSubject subject = (sCat!=null) ? sCat.getSubject() : null;
+        subject = (DCSubject) _subjects.set(index,subject);
+        return (subject!=null) ? new SyndCategoryImpl(subject) : null;
+    }
+
+    /**
+    * Adds a category to the list.
+    * <p>
+    * @param index position to add the category.
+    * @param obj the SyndCategoryImpl object to add.
+     *
+     */
+    @Override
+    public void add(int index,SyndCategory obj) {
+        SyndCategoryImpl sCat = (SyndCategoryImpl) obj;
+        DCSubject subject = (sCat!=null) ? sCat.getSubject() : null;
+        _subjects.add(index,subject);
+    }
+
+    /**
+     * Removes a category element from a specific position.
+     * <p>
+     * @param index position to remove the category from.
+     * @return the SyndCategoryImpl being removed from position index, <b>null</b> if none.
+     *
+     */
+    @Override
+    public SyndCategory remove(int index) {
+        DCSubject subject = (DCSubject) _subjects.remove(index);
+        return (subject!=null) ? new SyndCategoryImpl(subject) : null;
+    }
+
+    /**
+     * Returns a list with the DCSubject elements of the SyndCategoryImpl list facade.
+     * To be used by the SyndFeedImpl class only.
+     * <p>
+     * @param cList the list with SyndCategoryImpl elements to convert to subject list.
+     * @return a list with DCSubject elements corresponding to the categories in the given list.
+     *
+     */
+    public static List<DCSubject> convertElementsSyndCategoryToSubject(List<SyndCategory> cList) {
+        List<DCSubject> sList = null;
+        if (cList!=null) {
+            sList = new ArrayList();
+            for (int i=0;i<cList.size();i++) {
+                SyndCategoryImpl sCat = (SyndCategoryImpl) cList.get(i);
+                DCSubject subject = null;
+                if (sCat!=null) {
+                    subject = sCat.getSubject();
+                }
+                sList.add(subject);
+            }
+        }
+        return sList;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndContent.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndContent.java b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndContent.java
new file mode 100644
index 0000000..12645fe
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndContent.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.synd;
+
+import com.sun.syndication.feed.CopyFrom;
+
+
+/**
+ * Bean interface for content of SyndFeedImpl entries.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public interface SyndContent extends Cloneable,CopyFrom<SyndContent> {
+    /**
+     * Returns the content type.
+     * <p>
+     * When used for the description of an entry, if <b>null</b> 'text/plain' must be assumed.
+     * <p>
+     * @return the content type, <b>null</b> if none.
+     *
+     */
+    String getType();
+
+    /**
+     * Sets the content type.
+     * <p>
+     * When used for the description of an entry, if <b>null</b> 'text/plain' must be assumed.
+     * <p>
+     * @param type the content type to set, <b>null</b> if none.
+     *
+     */
+    void setType(String type);
+    
+    /**
+     * Gets the content mode (needed for Atom 0.3 support).
+     * @return type the content, <b>null</b> if none.
+     *
+     */
+    String getMode();
+
+    /**
+     * Sets the content mode (needed for Atom 0.3 support).
+     * @param mode the content mode to set, <b>null</b> if none.
+     *
+     */
+    void setMode(String mode);
+
+    /**
+     * Returns the content value.
+     * <p>
+     * @return the content value, <b>null</b> if none.
+     *
+     */
+    String getValue();
+
+    /**
+     * Sets the content value.
+     * <p>
+     * @param value the content value to set, <b>null</b> if none.
+     *
+     */
+    void setValue(String value);
+
+    /**
+     * Creates a deep clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    public Object clone() throws CloneNotSupportedException;
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndContentImpl.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndContentImpl.java b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndContentImpl.java
new file mode 100644
index 0000000..7fd7f28
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndContentImpl.java
@@ -0,0 +1,177 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.synd;
+
+import com.sun.syndication.feed.CopyFrom;
+import com.sun.syndication.feed.impl.ObjectBean;
+import com.sun.syndication.feed.impl.CopyFromHelper;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.io.Serializable;
+
+/**
+ * Bean for content of SyndFeedImpl entries.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class SyndContentImpl implements Serializable, SyndContent {
+    private ObjectBean _objBean;
+    private String _type;
+    private String _value;
+    private String _mode;
+
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public SyndContentImpl() {
+        _objBean = new ObjectBean(SyndContent.class,this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    public boolean equals(Object other) {
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the content type.
+     * <p>
+     * When used for the description of an entry, if <b>null</b> 'text/plain' must be assumed.
+     * <p>
+     * @return the content type, <b>null</b> if none.
+     *
+     */
+    public String getType() {
+        return _type;
+    }
+
+    /**
+     * Sets the content type.
+     * <p>
+     * When used for the description of an entry, if <b>null</b> 'text/plain' must be assumed.
+     * <p>
+     * @param type the content type to set, <b>null</b> if none.
+     *
+     */
+    public void setType(String type) {
+        _type = type;
+    }
+
+    /**
+     * Returns the content mode.
+     * @return the content mode, <b>null</b> if none.
+     *
+     */
+    public String getMode() {
+        return _mode;
+    }
+
+    /**
+     * Sets the content mode.
+     * @param mode the content mode to set, <b>null</b> if none.
+     *
+     */
+    public void setMode(String mode) {
+        _mode = mode;
+    }
+
+    /**
+     * Returns the content value.
+     * <p>
+     * @return the content value, <b>null</b> if none.
+     *
+     */
+    public String getValue() {
+        return _value;
+    }
+
+    /**
+     * Sets the content value.
+     * <p>
+     * @param value the content value to set, <b>null</b> if none.
+     *
+     */
+    public void setValue(String value) {
+        _value = value;
+    }
+
+
+    public Class getInterface() {
+        return SyndContent.class;
+    }
+
+    public void copyFrom(CopyFrom obj) {
+        COPY_FROM_HELPER.copy(this,obj);
+    }
+
+    private static final CopyFromHelper COPY_FROM_HELPER;
+
+    static {
+        Map basePropInterfaceMap = new HashMap();
+        basePropInterfaceMap.put("type",String.class);
+        basePropInterfaceMap.put("value",String.class);
+
+        Map basePropClassImplMap = Collections.EMPTY_MAP;
+
+        COPY_FROM_HELPER = new CopyFromHelper(SyndContent.class,basePropInterfaceMap,basePropClassImplMap);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndEnclosure.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndEnclosure.java b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndEnclosure.java
new file mode 100644
index 0000000..34ee4e6
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndEnclosure.java
@@ -0,0 +1,57 @@
+package com.sun.syndication.feed.synd;
+
+import com.sun.syndication.feed.CopyFrom;
+
+/**
+ * @author Alejandro Abdelnur
+ */
+public interface SyndEnclosure extends Cloneable, CopyFrom<SyndEnclosure> {
+    /**
+     * Returns the enclosure URL.
+     * <p>
+     * @return the enclosure URL, <b>null</b> if none.
+     *
+     */
+    public String getUrl();
+
+    /**
+     * Sets the enclosure URL.
+     * <p>
+     * @param url the enclosure URL to set, <b>null</b> if none.
+     *
+     */
+    public void setUrl(String url);
+
+    /**
+     * Returns the enclosure length.
+     * <p>
+     * @return the enclosure length, <b>0</b> if none.
+     *
+     */
+    public long getLength();
+
+    /**
+     * Sets the enclosure length.
+     * <p>
+     * @param length the enclosure length to set, <b>0</b> if none.
+     *
+     */
+    public void setLength(long length);
+
+    /**
+     * Returns the enclosure type.
+     * <p>
+     * @return the enclosure type, <b>null</b> if none.
+     *
+     */
+    public String getType();
+
+    /**
+     * Sets the enclosure type.
+     * <p>
+     * @param type the enclosure type to set, <b>null</b> if none.
+     *
+     */
+    public void setType(String type);
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndEnclosureImpl.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndEnclosureImpl.java b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndEnclosureImpl.java
new file mode 100644
index 0000000..2bb64ba
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndEnclosureImpl.java
@@ -0,0 +1,155 @@
+package com.sun.syndication.feed.synd;
+
+import com.sun.syndication.feed.CopyFrom;
+import com.sun.syndication.feed.impl.ObjectBean;
+import com.sun.syndication.feed.impl.CopyFromHelper;
+
+import java.io.Serializable;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Collections;
+
+/**
+ * @author Alejandro Abdelnur
+ */
+public class SyndEnclosureImpl implements Serializable,SyndEnclosure {
+    private ObjectBean _objBean;
+    private String _url;
+    private String _type;
+    private long   _length;
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public SyndEnclosureImpl() {
+        _objBean = new ObjectBean(SyndEnclosure.class,this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    public boolean equals(Object other) {
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the enclosure URL.
+     * <p/>
+     *
+     * @return the enclosure URL, <b>null</b> if none.
+     */
+    public String getUrl() {
+        return _url;
+    }
+
+    /**
+     * Sets the enclosure URL.
+     * <p/>
+     *
+     * @param url the enclosure URL to set, <b>null</b> if none.
+     */
+    public void setUrl(String url) {
+        _url = url;
+    }
+
+    /**
+     * Returns the enclosure length.
+     * <p/>
+     *
+     * @return the enclosure length, <b>null</b> if none.
+     */
+    public long getLength() {
+        return _length;
+    }
+
+    /**
+     * Sets the enclosure length.
+     * <p/>
+     *
+     * @param length the enclosure length to set, <b>null</b> if none.
+     */
+    public void setLength(long length) {
+        _length = length;
+    }
+
+    /**
+     * Returns the enclosure type.
+     * <p/>
+     *
+     * @return the enclosure type, <b>null</b> if none.
+     */
+    public String getType() {
+        return _type;
+    }
+
+    /**
+     * Sets the enclosure type.
+     * <p/>
+     *
+     * @param type the enclosure type to set, <b>null</b> if none.
+     */
+    public void setType(String type) {
+        _type = type;
+    }
+
+    public Class<? extends CopyFrom> getInterface() {
+        return SyndEnclosure.class;
+    }
+
+    public void copyFrom(CopyFrom obj) {
+        COPY_FROM_HELPER.copy(this,obj);
+    }
+
+    private static final CopyFromHelper COPY_FROM_HELPER;
+
+    static {
+        Map basePropInterfaceMap = new HashMap();
+        basePropInterfaceMap.put("url",String.class);
+        basePropInterfaceMap.put("type",String.class);
+        basePropInterfaceMap.put("length",Long.TYPE);
+
+        Map basePropClassImplMap = Collections.EMPTY_MAP;
+
+        COPY_FROM_HELPER = new CopyFromHelper(SyndEnclosure.class,basePropInterfaceMap,basePropClassImplMap);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndEntry.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndEntry.java b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndEntry.java
new file mode 100644
index 0000000..fb7a286
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndEntry.java
@@ -0,0 +1,390 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.synd;
+
+import java.util.Date;
+import java.util.List;
+
+import com.sun.syndication.feed.CopyFrom;
+import com.sun.syndication.feed.module.Extendable;
+import com.sun.syndication.feed.module.Module;
+
+/**
+ * Bean interface for entries of SyndFeedImpl feeds.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public interface SyndEntry extends Cloneable, CopyFrom, Extendable {
+
+    /**
+     * Returns the entry URI.
+     * <p>
+     * How the entry URI maps to a concrete feed type (RSS or Atom) depends on
+     * the concrete feed type. This is explained in detail in Rome documentation,
+     * <a href="http://wiki.java.net/bin/edit/Javawsxml/Rome04URIMapping">Feed and entry URI mapping</a>.
+     * <p>
+     * The returned URI is a normalized URI as specified in RFC 2396bis.
+     * <p>
+     * @return the entry URI, <b>null</b> if none.
+     *
+     */
+    String getUri();
+
+    /**
+     * Sets the entry URI.
+     * <p>
+     * How the entry URI maps to a concrete feed type (RSS or Atom) depends on
+     * the concrete feed type. This is explained in detail in Rome documentation,
+     * <a href="http://wiki.java.net/bin/edit/Javawsxml/Rome04URIMapping">Feed and entry URI mapping</a>.
+     * <p>
+     * @param uri the entry URI to set, <b>null</b> if none.
+     *
+     */
+    void setUri(String uri);
+
+    /**
+     * Returns the entry title.
+     * <p>
+     * @return the entry title, <b>null</b> if none.
+     *
+     */
+    String getTitle();
+
+    /**
+     * Sets the entry title.
+     * <p>
+     * @param title the entry title to set, <b>null</b> if none.
+     *
+     */
+    void setTitle(String title);
+
+    /**
+     * Returns the entry title as a text construct.
+     * <p>
+     * @return the entry title, <b>null</b> if none.
+     *
+     */
+    SyndContent getTitleEx();
+
+    /**
+     * Sets the entry title as a text construct.
+     * <p>
+     * @param title the entry title to set, <b>null</b> if none.
+     *
+     */
+    void setTitleEx(SyndContent title);
+
+    /**
+     * Returns the entry link.
+     * <p>
+     * @return the entry link, <b>null</b> if none.
+     *
+     */
+    String getLink();
+
+    /**
+     * Sets the entry link.
+     * <p>
+     * @param link the entry link to set, <b>null</b> if none.
+     *
+     */
+    void setLink(String link);
+
+    /**
+     * Returns the entry links
+     * <p>
+     * @return the entry links, <b>null</b> if none.
+     *
+     */
+    List<SyndLink> getLinks();
+
+    /**
+     * Sets the entry links.
+     * <p>
+     * @param links the entry links to set, <b>null</b> if none.
+     *
+     */
+    void setLinks(List<SyndLink> links);
+
+    /**
+     * Returns the entry description.
+     * <p>
+     * @return the entry description, <b>null</b> if none.
+     *
+     */
+    SyndContent getDescription();
+
+    /**
+     * Sets the entry description.
+     * <p>
+     * @param description the entry description to set, <b>null</b> if none.
+     *
+     */
+    void setDescription(SyndContent description);
+
+    /**
+     * Returns the entry contents.
+     * <p>
+     * @return a list of SyndContentImpl elements with the entry contents,
+     *         an empty list if none.
+     *
+     */
+    List<SyndContent> getContents();
+
+    /**
+     * Sets the entry contents.
+     * <p>
+     * @param contents the list of SyndContentImpl elements with the entry contents to set,
+     *        an empty list or <b>null</b> if none.
+     *
+     */
+    void setContents(List<SyndContent> contents);
+
+    /**
+     * Returns the entry enclosures.
+     * <p>
+     * @return a list of SyndEnclosure elements with the entry enclosures,
+     *         an empty list if none.
+     *
+     */
+    public List<SyndEnclosure> getEnclosures();
+
+    /**
+     * Sets the entry enclosures.
+     * <p>
+     * @param enclosures the list of SyndEnclosure elements with the entry enclosures to set,
+     *        an empty list or <b>null</b> if none.
+     *
+     */
+    public void setEnclosures(List<SyndEnclosure> enclosures);
+
+    /**
+     * Returns the entry published date.
+     * <p>
+     * This method is a convenience method, it maps to the Dublin Core module date.
+     * <p>
+     * @return the entry published date, <b>null</b> if none.
+     *
+     */
+    Date getPublishedDate();
+
+    /**
+     * Sets the entry published date.
+     * <p>
+     * This method is a convenience method, it maps to the Dublin Core module date.
+     * <p>
+     * @param publishedDate the entry published date to set, <b>null</b> if none.
+     *
+     */
+    void setPublishedDate(Date publishedDate);
+
+    /**
+     * Returns the entry updated date.
+     * <p>
+     * @return the entry updated date, <b>null</b> if none.
+     *
+     */
+    Date getUpdatedDate();
+
+    /**
+     * Sets the entry updated date.
+     * <p>
+     * @param updatedDate the entry updated date to set, <b>null</b> if none.
+     *
+     */
+    void setUpdatedDate(Date updatedDate);
+
+    /**
+     * Returns the entry authors.
+     * <p>
+     * For Atom feeds, this returns the authors as a list of SyndPerson objects, 
+     * for RSS feeds this method is a convenience method, it maps to the 
+     * Dublin Core module creator.
+     * <p>
+     * @return the feed author, <b>null</b> if none.
+     *
+     */
+    List<SyndPerson> getAuthors();
+
+    /**
+     * Sets the entry author.
+     * <p>
+     * For Atom feeds, this sets the authors as a list of SyndPerson 
+     * objects, for RSS feeds this method is a convenience method, it maps 
+     * to the Dublin Core module creator.
+     * <p>
+     * @param authors the feed author to set, <b>null</b> if none.
+     *
+     */
+    void setAuthors(List<SyndPerson> authors);
+    
+    /**
+     * Returns the name of the first entry author in the collection of authors.
+     * <p>
+     * For Atom feeds, this returns the authors as a list of SyndPerson objects, 
+     * for RSS feeds this method is a convenience method, it maps to the 
+     * Dublin Core module creator.
+     * <p>
+     * @return the feed author, <b>null</b> if none.
+     *
+     */
+    String getAuthor();
+
+    /**
+     * Sets the entry author.
+     * <p>
+     * For Atom feeds, this sets the feed author's name, for RSS feeds 
+     * this method is a convenience method, it maps to the Dublin Core 
+     * module creator.
+     * <p>
+     * @param author the feed author to set, <b>null</b> if none.
+     */
+    void setAuthor(String author);
+    
+    /**
+     * Returns the feed author.
+     * <p>
+     * For Atom feeds, this returns the contributors as a list of 
+     * SyndPerson objects
+     * <p>
+     * @return the feed author, <b>null</b> if none.
+     *
+     */
+    List<SyndPerson> getContributors();
+
+    /**
+     * Sets the feed contributors.
+     * <p>
+     * Returns contributors as a list of SyndPerson objects.
+     * <p>
+     * @param contributors the feed contributors to set, <b>null</b> if none.
+     *
+     */
+    void setContributors(List<SyndPerson> contributors);
+
+    /**
+     * Returns the entry categories.
+     * <p>
+     * This method is a convenience method, it maps to the Dublin Core module subjects.
+     * <p>
+     * @return a list of SyndCategoryImpl elements with the entry categories,
+     *         an empty list if none.
+     *
+     */
+    List<SyndCategory> getCategories();
+
+    /**
+     * Sets the entry categories.
+     * <p>
+     * This method is a convenience method, it maps to the Dublin Core module subjects.
+     * <p>
+     * @param categories the list of SyndCategoryImpl elements with the entry categories to set,
+     *        an empty list or <b>null</b> if none.
+     *
+     */
+    void setCategories(List<SyndCategory> categories);
+    
+    /**
+     * Returns the entry source.
+     * <p>
+     * This returns the entry source as a SyndFeed
+     * <p>
+     * @return the SyndFeed to which this entry is attributed
+     * 
+     */
+    SyndFeed getSource();
+    
+    /**
+     * Sets the entry source feed (for use if different from containing feed)
+     * <p>
+     * @param source the original SyndFeed that contained this article
+     * 
+     */
+    void setSource(SyndFeed source);
+    
+    /**
+     * Return the original item this SyndEntry is generated from. 
+     * The type of the object returned depends on the original type of 
+     * the feed. Atom 0.3/1.0 will return com.sun.syndication.feed.atom.Entry,
+     * while RSS will return com.sun.syndication.feed.rss.Item.java.
+     * If this entry was not generated from a WireFeed, or the SyndFeed
+     * was not set to preserve the WireFeed then it will return null
+     * 
+     * @return the WireFeed Item or Entry this Entry is generated from, or null 
+     */
+    Object getWireEntry();
+
+    
+    /**
+     * Returns the module identified by a given URI.
+     * <p>
+     * @param uri the URI of the ModuleImpl.
+     * @return The module with the given URI, <b>null</b> if none.
+     */
+    public Module getModule(String uri);
+
+    /**
+     * Returns the entry modules.
+     * <p>
+     * @return a list of ModuleImpl elements with the entry modules,
+     *         an empty list if none.
+     *
+     */
+    List<Module> getModules();
+
+    /**
+     * Sets the entry modules.
+     * <p>
+     * @param modules the list of ModuleImpl elements with the entry modules to set,
+     *        an empty list or <b>null</b> if none.
+     *
+     */
+    void setModules(List<Module> modules);
+
+    /**
+     * Returns foreign markup found at channel level.
+     * <p>
+     * @return Opaque object to discourage use
+     *
+     */
+    public Object getForeignMarkup();
+
+    /**
+     * Sets foreign markup found at channel level.
+     * <p>
+     * @param foreignMarkup Opaque object to discourage use
+     *
+     */
+    public void setForeignMarkup(Object foreignMarkup);
+    
+    /**
+     * Creates a deep clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    public Object clone() throws CloneNotSupportedException;
+
+    /**
+     * Returns the first instance of a SyndLink with the specified relation, or null
+     *
+     */
+    public SyndLink findRelatedLink(String relation);
+
+}