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);
+
+}