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
[20/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/org/rometools/feed/module/activitystreams/types/Review.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Review.java b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Review.java
new file mode 100644
index 0000000..06df4b8
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Review.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2011 robert.cooper.
+ *
+ * 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.
+ * under the License.
+ */
+
+package org.rometools.feed.module.activitystreams.types;
+
+/**
+ * <p>The "review" object type represents a primarily prose-based
+ * commentary on another object.
+ *</p>
+ *<p>The "review" object type is identified by the URI <tt>http://activitystrea.ms/schema/1.0/review</tt>.
+ *</p>
+ *<p>A review has the following additional components:
+ *</p>
+ *<p></p>
+ *<blockquote class="text"><dl>
+ *<dt>Title</dt>
+ *<dd>The title of the review. Represented by the
+ * Name component of the base Object Construct. Many systems do not
+ * have the concept of a title for a review; such systems MUST omit
+ * the Name component. Processors SHOULD refer to such reviews as
+ * simply being "a review", with appropriate localization, if they
+ * are to be described in a sentence.
+ *</dd>
+ *<dt>Content</dt>
+ *<dd>The content of the comment. Represented in
+ * JSON as a property called <tt>content</tt>
+ * whose value is a JSON string containing a fragment of HTML that
+ * represents the content. Publishers SHOULD include any markup
+ * necessary to achieve a similar presentation to that on the
+ * publisher's own HTML pages, including any links that the service
+ * automatically adds. Processors MAY remove all HTML markup and
+ * consider the comment to be plain text.
+ *</dd>
+ *<dt>Reviewed Object</dt>
+ *<dd>The Object Construct representing
+ * the item that this review applies to. Represented as the In
+ * Reply To Object component of the base Object Construct.
+ *</dd>
+ *<dt>Rating</dt>
+ *<dd>A rating for the item, given as a number
+ * between 1.0 and 5.0 inclusive with one decimal place of
+ * precision. Represented in JSON as a property called <tt>rating</tt> whose value is a JSON number giving
+ * the rating.
+ *</dd>
+ *</dl></blockquote>
+ * @author robert.cooper
+ */
+public class Review extends ActivityObject {
+
+ @Override
+ public String getTypeIRI() {
+ return "http://activitystrea.ms/schema/1.0/review";
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Service.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Service.java b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Service.java
new file mode 100644
index 0000000..b7d5584
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Service.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2011 robert.cooper.
+ *
+ * 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.
+ * under the License.
+ */
+
+package org.rometools.feed.module.activitystreams.types;
+
+/**
+ * <p>The "service" Object type represents a website, personal website
+ * or blog, business, brand, or other entity that performs some kind of
+ * work for other entities, people, or services, or acts as kind of
+ * container for other objects.
+ *</p>
+ *<p>The "service" Object type is identified by the URI <tt>http://activitystrea.ms/schema/1.0/service</tt>.
+ *</p>
+ *<p>A service has the following additional components:
+ *</p>
+ *<p></p>
+ *<blockquote class="text"><dl>
+ *<dt>icon</dt>
+ *<dd>A Media Link Construct representing a link to
+ * a small image representing the service. Represented in JSON as a
+ * property named <tt>icon</tt> whose value is a
+ * JSON object with properties as defined in [TODO: xref the JSON
+ * serialization of a Media Link Construct]. The linked image MUST
+ * have an aspect ratio of one (horizontal) to one (vertical) and
+ * SHOULD be suitable for presentation at a small size.
+ *</dd>
+ *</dl></blockquote>
+ * @author robert.cooper
+ */
+public class Service extends ActivityObject {
+
+ @Override
+ public String getTypeIRI() {
+ return "http://activitystrea.ms/schema/1.0/service";
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Song.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Song.java b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Song.java
new file mode 100644
index 0000000..d6be3ef
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Song.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2011 robert.cooper.
+ *
+ * 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.
+ * under the License.
+ */
+package org.rometools.feed.module.activitystreams.types;
+
+
+/**
+ * <p>The "song" Object type represents a song or a recording of a
+ * song.
+ *</p>
+ *<p>Objects of type Song might contain information about the song or
+ * recording, or they might contain some representation of the
+ * recording itself. In the latter case, the song SHOULD also be
+ * annotated with the "audio" object type as described in <a class='info' href='#audio'>Section 3.2.2<span> (</span><span class='info'>Audio</span><span>)</span></a> and use its properties. This type should only
+ * be used when the publisher can guarantee that the object is a song
+ * rather than merely a generic audio stream.
+ *</p>
+ *<p>The Object type URL for the "song" Object type is <tt>http://activitystrea.ms/schema/1.0/song</tt>.
+ *</p>
+ *<p>A song has no additional components.
+ *</p>
+ * @author robert.cooper
+ */
+public class Song extends ActivityObject {
+ private Audio audio;
+
+ /**
+ * Set the value of audio
+ *
+ * @param newaudio new value of audio
+ */
+ public void setAudio(Audio newaudio) {
+ this.audio = newaudio;
+ }
+
+ /**
+ * Get the value of audio
+ *
+ * @return the value of audio
+ */
+ public Audio getAudio() {
+ return this.audio;
+ }
+
+ @Override
+ public String getTypeIRI() {
+ return "http://activitystrea.ms/schema/1.0/song";
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Status.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Status.java b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Status.java
new file mode 100644
index 0000000..7636474
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Status.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2011 robert.cooper.
+ *
+ * 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.
+ * under the License.
+ */
+
+package org.rometools.feed.module.activitystreams.types;
+
+/**
+ * <p>The "status" Object type represents a human-readable update of
+ * the author's situation, mood, location or other status.
+ *</p>
+ *<p>A status is similar in structure to a note, but carries the
+ * additional meaning that the content is primarily describing
+ * something its author is doing, feeling or experiencing.
+ *</p>
+ *<p>A consumers MAY consider the content of the most recent status
+ * object it encountered to be the user's current status, unless the
+ * most recent status update is old. When a status becomes too old is
+ * not defined by this specification.
+ *</p>
+ *<p>The "status" object type is identified by the URI <tt>http://activitystrea.ms/schema/1.0/status</tt>.
+ *</p>
+ *<p>A status has the same components as a note.
+ *</p>
+ * @author robert.cooper
+ */
+public class Status extends ActivityObject {
+
+ @Override
+ public String getTypeIRI() {
+ return "http://activitystrea.ms/schema/1.0/status";
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Verb.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Verb.java b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Verb.java
new file mode 100644
index 0000000..9f2b0f3
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Verb.java
@@ -0,0 +1,205 @@
+/*
+ * Copyright 2011 robert.cooper.
+ *
+ * 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 icense for the specific language governing permissions and
+ * limitations under the License.
+ * under the License.
+ */
+package org.rometools.feed.module.activitystreams.types;
+
+
+/**
+ *
+ * @author robert.cooper
+ */
+public enum Verb {
+ /**
+ * The "mark as favorite" Verb indicates that the Subject marked the Object as an item of
+ * special interest. Objects so marked often appear in a collection of such Objects which
+ * MAY be published as a feed of entries annotated with this Verb.
+ * If a particular service uses favorites as a mechanism by which a user can recall
+ * items that were earlier marked, it MAY be appropriate to also mark activities of
+ * this type with the "save" Verb as described in Section 3.1.8.
+ * The verb URI for the "mark as favorite" Verb is http://activitystrea.ms/schema/1.0/favorite.
+ */
+ MARK_AS_FAVORITE("http://activitystrea.ms/schema/1.0/favorite"),
+ /**
+ * The "start following" Verb indicates that the Subject began following the activity
+ * of the Object. In most cases, the Object of this Verb will be a user, but it can
+ * potentially be of any type that can sensibly generate activity.
+ *
+ * The verb URI for the "start following" Verb is http://activitystrea.ms/schema/1.0/follow.
+ *
+ * Processors MAY ignore (silently drop) successive identical "start following" activities
+ * regardless of whether they maintain state sufficient to determine (A), (B), or (C) above.
+ */
+ START_FOLLOWING("http://activitystrea.ms/schema/1.0/follow"),
+ /**
+ * The "mark as liked" verb indicates that the actor indicated that it likes the object.
+ *
+ * The verb URI for the "mark as liked" Verb is http://activitystrea.ms/schema/1.0/like.
+ */
+ MARK_AS_LIKED("http://activitystrea.ms/schema/1.0/like"),
+ /**
+ * The "make friend" Verb indicates the creation of a friendship that is reciprocated by the object.
+ *
+ * Since this verb implies an activity on the part of its object, processors MUST NOT accept
+ * activities with this Verb unless they are able to verify through some external means that
+ * there is in fact a reciprocated connection. For example, a processor MAY have received a
+ * guarantee from a particular publisher that the publisher will only use this Verb in cases
+ * where a reciprocal relationship exists.
+ *
+ * The verb URI for the "make friend" Verb is http://activitystrea.ms/schema/1.0/make-friend.
+ */
+ MAKE_FRIEND("http://activitystrea.ms/schema/1.0/make-friend"),
+ /**
+ * The "join" Verb indicates that the actor has become a member of the Object.
+ * This specification only defines the meaning of this Verb when its Object is a Group,
+ * though implementors SHOULD be prepared to handle other Object types as meaning
+ * MAY be provided by extension specifications.
+ *
+ * Processors MAY ignore (silently drop) successive identical "join" activities
+ * regardless of whether they maintain state sufficient to determine (A) or (B) above.
+ *
+ * The "join" Verb is identified by the URI http://activitystrea.ms/schema/1.0/join.
+ */
+ JOIN("http://activitystrea.ms/schema/1.0/join"),
+ /**
+ * The "play" verb indicates that the subject spent some time enjoying the object.
+ * For example, if the object is a video this indicates that the subject watched all or part of the video.
+ *
+ * The "play" Verb is identified by the URI http://activitystrea.ms/schema/1.0/play.
+ */
+ PLAY("http://activitystrea.ms/schema/1.0/play"),
+ /**
+ * The "Post" Verb is described in section 8 of the AtomActivity specification.
+ * It is only referenced here for completeness.
+ *
+ * http://activitystrea.ms/schema/1.0/post
+ */
+ POST("http://activitystrea.ms/schema/1.0/post"),
+ /**
+ * The "save" Verb indicates that the Subject has called out the Object as being of
+ * interest primarily to him- or herself. Though this action MAY be shared publicly,
+ * the implication is that the Object has been saved primarily for the actor's own
+ * benefit rather than to show it to others as would be indicated by the "share"
+ * Verb (Section 3.1.9).
+ *
+ * The "save" Verb is identified by the URI http://activitystrea.ms/schema/1.0/save.
+ */
+ SAVE("http://activitystrea.ms/schema/1.0/save"),
+ /**
+ * The "share" Verb indicates that the Subject has called out the Object to readers.
+ * In most cases, the actor did not create the Object being shared, but is instead
+ * drawing attention to it.
+ *
+ * The "share" Verb is identified by the URI http://activitystrea.ms/schema/1.0/share.
+ */
+ SHARE("http://activitystrea.ms/schema/1.0/share"),
+ /**
+ * The "tag" verb indicates that the actor has identified the presence of a target
+ * inside another object. For example, the actor may have specified that a particular
+ * user appears in a photo.
+ *
+ * The "tag" verb is identified by the URI http://activitystrea.ms/schema/1.0/tag.
+ *
+ * The target of the "tag" verb gives the object in which the tag has been added.
+ * For example, if a user appears in a photo, the activity:object is the user and
+ * the activity:target is the photo.
+ */
+ TAG("http://activitystrea.ms/schema/1.0/tag"),
+ /**
+ * The "update" Verb indicates that the Subject has modified the referenced Object.
+ *
+ * Implementors SHOULD use verbs such as Section 3.1.7 where the Subject is adding
+ * new items to a Section 3.2.8 or similar. Update is reserved for modifications
+ * to existing Objects or data such as changing a user's profile information.
+ *
+ * The "update" Verb is identified by the URI http://activitystrea.ms/schema/1.0/update.
+ */
+ UPDATE("http://activitystrea.ms/schema/1.0/update"),
+ /**
+ *
+ *<p>The "positive RSVP" verb indicates that the actor has made a
+ * positive RSVP for the object. This specification only defines the
+ * meaning of this verb when its object is an event (see <a class='info' href='#event'>Section 4.2.1<span> (</span><span class='info'>Event</span><span>)</span></a>), though implementors SHOULD be prepared to
+ * handle other object types as meaning MAY be provided by extension
+ * specifications.
+ *</p>
+ *<p>The use of this Verb is only appropriate when the RSVP was
+ * created by an explicit action by the actor. It is not appropriate to
+ * use this verb when a user has been added as an attendee by an event
+ * organiser or administrator.
+ *</p>
+ *<p>The verb URI for the "positive RSVP" Verb is <tt>http://activitystrea.ms/schema/1.0/rsvp-yes</tt>.
+ *</p>
+ */
+ RSVP_YES("http://activitystrea.ms/schema/1.0/rsvp-yes"),
+ /**
+ * <p>The "possible RSVP" verb indicates that the actor has made a
+ * possible RSVP for the object. This specification only defines the
+ * meaning of this verb when its object is an event (see <a class='info' href='#event'>Section 4.2.1<span> (</span><span class='info'>Event</span><span>)</span></a>), though implementors SHOULD be prepared to
+ * handle other object types as meaning MAY be provided by extension
+ * specifications.
+ *</p>
+ *<p>The use of this Verb is only appropriate when the RSVP was
+ * created by an explicit action by the actor. It is not appropriate to
+ * use this verb when a user has been added as an attendee by an event
+ * organiser or administrator.
+ *</p>
+ *<p>The verb URI for the "possible RSVP" Verb is <tt>http://activitystrea.ms/schema/1.0/rsvp-maybe</tt>.
+ *</p>
+ */
+ RSVP_MAYBE("http://activitystrea.ms/schema/1.0/rsvp-maybe"),
+ /**
+ * <p>The "negative RSVP" verb indicates that the actor has made a
+ * negative RSVP for the object. This specification only defines the
+ * meaning of this verb when its object is an event (see <a class='info' href='#event'>Section 4.2.1<span> (</span><span class='info'>Event</span><span>)</span></a>), though implementors SHOULD be prepared to
+ * handle other object types as meaning MAY be provided by extension
+ * specifications.
+ *</p>
+ *<p>The use of this Verb is only appropriate when the RSVP was
+ * created by an explicit action by the actor. It is not appropriate to
+ * use this verb when a user has been added as an attendee by an event
+ * organiser or administrator.
+ *</p>
+ *<p>The verb URI for the "negative RSVP" Verb is <tt>http://activitystrea.ms/schema/1.0/rsvp-no</tt>.
+ *</p>
+ */
+ RSVP_NO("http://activitystrea.ms/schema/1.0/rsvp-no");
+ private final String iri;
+
+ /**
+ * @param iri
+ */
+ Verb(final String iri){
+ this.iri = iri;
+ }
+
+ @Override
+ public String toString(){
+ return iri;
+ }
+ /**
+ *
+ * @param iri
+ * @return
+ */
+ public static Verb fromIRI(String iri){
+ for(Verb v: Verb.values()){
+ if(v.toString().equals(iri)){
+ return v;
+ }
+ }
+ return null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Video.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Video.java b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Video.java
new file mode 100644
index 0000000..4044c86
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Video.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2011 robert.cooper.
+ *
+ * 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.
+ * under the License.
+ */
+
+package org.rometools.feed.module.activitystreams.types;
+
+/**
+ * <p>The "video" Object type represents video content, which usually
+ * consists of a motion picture track and an audio track.
+ *</p>
+ *<p>The "video" Object type is identified by the URI <tt>http://activitystrea.ms/schema/1.0/video</tt>.
+ *</p>
+ *<p>A video has the following additional components:
+ *</p>
+ *<p></p>
+ *<blockquote class="text"><dl>
+ *<dt>Video Stream Link</dt>
+ *<dd>A Media Link Construct linking
+ * to the video content itself. Represented in JSON as a property
+ * called <tt>stream</tt> whose value is a JSON
+ * object with properties as defined in [TODO: xref the JSON
+ * serialization of a Media Link Construct]
+ *</dd>
+ *<dt>Embed Code</dt>
+ *<dd>An HTML fragment that, when embedded in
+ * an HTML page, will provide an interactive player UI for the
+ * video stream. Represented in JSON as a property called <tt>embedCode</tt> whose value is a JSON string
+ * containing the fragment of HTML.
+ *</dd>
+ *</dl></blockquote>
+ * @author robert.cooper
+ */
+public class Video {
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/atomthread/ThreadModule.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/atomthread/ThreadModule.java b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/atomthread/ThreadModule.java
new file mode 100644
index 0000000..37ef9d3
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/atomthread/ThreadModule.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2011 robert.cooper.
+ *
+ * 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.
+ * under the License.
+ */
+
+package org.rometools.feed.module.atomthread;
+
+/**
+ *
+ * @author robert.cooper
+ */
+public interface ThreadModule {
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/atomthread/package.html
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/atomthread/package.html b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/atomthread/package.html
new file mode 100644
index 0000000..74a2f12
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/atomthread/package.html
@@ -0,0 +1,3 @@
+<html><body>
+http://www.ietf.org/rfc/rfc4685.txt
+</body></html>
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/Article.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/Article.java b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/Article.java
new file mode 100644
index 0000000..0c7dafc
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/Article.java
@@ -0,0 +1,396 @@
+/*
+ * Article.java
+ *
+ * Created on November 16, 2005, 1:01 PM
+ *
+ * This library is provided under dual licenses.
+ * You may choose the terms of the Lesser General Public License or the Apache
+ * License at your discretion.
+ *
+ * Copyright (C) 2005 Robert Cooper, Temple of the Screaming Penguin
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ *
+ * 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 org.rometools.feed.module.base;
+
+import java.util.Date;
+
+
+/**
+ * This is an interface for the GoogleBase plug in that exposes methods used for
+ * Article or News entry types.
+ * @author <a href="mailto:cooper@screaming-penguin.com">Robert "kebernet" Cooper</a>
+ * @version $Revision: 1.2 $
+ */
+public interface Article extends GlobalInterface {
+ /**
+ * Array of Author Names. Limit 10.
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ *
+ * <tbody><tr valign="top">
+ * <td colspan="2" bgcolor="#dddddd" valign="top"><font size="-1">
+ * <b><a name="author"></a>author</b></font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Details</b></font></td>
+ *
+ * <td><font size="-1">
+ * Author of the item.</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Example</b></font></td>
+ * <td><font size="-1"> <g:author>John Steinbeck</g:author></font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Attribute of</b></font></td>
+ * <td><font size="-1">
+ * Reference Items, News and Articles</font></td>
+ * </tr>
+ *
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ * <b>Content type</b></font></td>
+ * <td><font size="-1">
+ * string</font></td>
+ * </tr>
+ * </tbody></table>
+ * @param authors Array of Author Names. Limit 10.
+ */
+ public void setAuthors(String[] authors);
+
+ /**
+ * Array of Author Names. Limit 10.
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ *
+ * <tbody><tr valign="top">
+ * <td colspan="2" bgcolor="#dddddd" valign="top"><font size="-1">
+ * <b><a name="author"></a>author</b></font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Details</b></font></td>
+ *
+ * <td><font size="-1">
+ * Author of the item.</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Example</b></font></td>
+ * <td><font size="-1"> <g:author>John Steinbeck</g:author></font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Attribute of</b></font></td>
+ * <td><font size="-1">
+ * Reference Items, News and Articles</font></td>
+ * </tr>
+ *
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ * <b>Content type</b></font></td>
+ * <td><font size="-1">
+ * string</font></td>
+ * </tr>
+ * </tbody></table>
+ * @return Array of author names.
+ */
+ public String[] getAuthors();
+
+ /**
+ * Source for this article.
+ *
+ *
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ * <tbody><tr valign="top">
+ *
+ * <td colspan="2" bgcolor="#dddddd"><font size="-1">
+ * <b><a name="news_source"></a>news_source</b></font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Details</b></font></td>
+ *
+ * <td><font size="-1">
+ * The source of news content.</font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Example</b></font></td>
+ * <td><font size="-1"> <g:news_source>Journal</g:news_source></font></td>
+ *
+ * </tr>
+ *
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Attribute of</b></font></td>
+ * <td><font size="-1">
+ * News and Articles</font></td>
+ * </tr>
+ *
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ *
+ * <b>Content type</b></font></td>
+ * <td><font size="-1">
+ * string</font></td>
+ * </tr>
+ * </tbody></table>
+ * @param newsSource Source for this article
+ */
+ public void setNewsSource(String newsSource);
+
+ /**
+ * Source for this article.
+ *
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ * <tbody><tr valign="top">
+ *
+ * <td colspan="2" bgcolor="#dddddd"><font size="-1">
+ * <b><a name="news_source"></a>news_source</b></font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Details</b></font></td>
+ *
+ * <td><font size="-1">
+ * The source of news content.</font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Example</b></font></td>
+ * <td><font size="-1"> <g:news_source>Journal</g:news_source></font></td>
+ *
+ * </tr>
+ *
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Attribute of</b></font></td>
+ * <td><font size="-1">
+ * News and Articles</font></td>
+ * </tr>
+ *
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ *
+ * <b>Content type</b></font></td>
+ * <td><font size="-1">
+ * string</font></td>
+ * </tr>
+ * </tbody></table>
+ * @return source for this article.
+ */
+ public String getNewsSource();
+
+ /**
+ * Number of pages in the article.
+ *
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ *
+ * <tbody><tr valign="top">
+ * <td colspan="2" bgcolor="#dddddd" valign="top"><font size="-1">
+ * <b><a name="pages"></a>pages</b></font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Details</b></font></td>
+ * <td><font size="-1">
+ *
+ * The number of pages in the publication.</font></td>
+ * </tr>
+ *
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Example</b></font></td>
+ * <td><font size="-1"> <g:pages>18</g:pages></font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ * <b>Attribute of</b></font></td>
+ * <td><font size="-1">
+ * Reference Items, News and Articles</font></td>
+ * </tr>
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ *
+ * <b>Content type</b></font></td>
+ * <td><font size="-1">
+ * integer</font></td>
+ * </tr>
+ * </tbody></table>
+ * @param pages Number of pages in the article
+ */
+ public void setPages(Integer pages);
+
+ /**
+ * Number of pages in the article.
+ *
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ *
+ * <tbody><tr valign="top">
+ * <td colspan="2" bgcolor="#dddddd" valign="top"><font size="-1">
+ * <b><a name="pages"></a>pages</b></font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Details</b></font></td>
+ * <td><font size="-1">
+ *
+ * The number of pages in the publication.</font></td>
+ * </tr>
+ *
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Example</b></font></td>
+ * <td><font size="-1"> <g:pages>18</g:pages></font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ * <b>Attribute of</b></font></td>
+ * <td><font size="-1">
+ * Reference Items, News and Articles</font></td>
+ * </tr>
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ *
+ * <b>Content type</b></font></td>
+ * <td><font size="-1">
+ * integer</font></td>
+ * </tr>
+ * </tbody></table>
+ * @return Number of pages in the article
+ */
+ public Integer getPages();
+
+ /**
+ * Date article was published.
+ *
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ * <tbody><tr valign="top">
+ * <td colspan="2" bgcolor="#dddddd"><font size="-1">
+ * <b><a name="publish_date"></a>publish_date</b></font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ *
+ * <b>Details</b></font></td>
+ * <td><font size="-1">
+ * Date the item was published in <a href="http://www.iso.org/iso/en/prods-services/popstds/datesandtime.html">ISO 8601</a> format:
+ * YYYY-MM-DD</font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ *
+ * <b>Example</b></font></td>
+ * <td><font size="-1"> <g:publish_date>2005-12-20</g:publish_date></font></td>
+ * </tr>
+ *
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Attribute of</b></font></td>
+ *
+ * <td><font size="-1">
+ * Reference Items</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ *
+ * <b>Content type</b></font></td>
+ * <td><font size="-1">
+ *
+ * date</font></td>
+ * </tr>
+ * </tbody></table>
+ * @param publishDate Date article was published
+ */
+ public void setPublishDate(Date publishDate);
+
+ /**
+ * Date article was published.
+ *
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ * <tbody><tr valign="top">
+ * <td colspan="2" bgcolor="#dddddd"><font size="-1">
+ * <b><a name="publish_date"></a>publish_date</b></font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ *
+ * <b>Details</b></font></td>
+ * <td><font size="-1">
+ * Date the item was published in <a href="http://www.iso.org/iso/en/prods-services/popstds/datesandtime.html">ISO 8601</a> format:
+ * YYYY-MM-DD</font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ *
+ * <b>Example</b></font></td>
+ * <td><font size="-1"> <g:publish_date>2005-12-20</g:publish_date></font></td>
+ * </tr>
+ *
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Attribute of</b></font></td>
+ *
+ * <td><font size="-1">
+ * Reference Items</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ *
+ * <b>Content type</b></font></td>
+ * <td><font size="-1">
+ *
+ * date</font></td>
+ * </tr>
+ * </tbody></table>
+ * @return Date article was published
+ */
+ public Date getPublishDate();
+}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/Course.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/Course.java b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/Course.java
new file mode 100644
index 0000000..f4e1ce6
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/Course.java
@@ -0,0 +1,567 @@
+/*
+ * CourseInformation.java
+ *
+ * Created on November 16, 2005, 11:12 AM
+ * This library is provided under dual licenses.
+ * You may choose the terms of the Lesser General Public License or the Apache
+ * License at your discretion.
+ *
+ * Copyright (C) 2005 Robert Cooper, Temple of the Screaming Penguin
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ *
+ * 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 org.rometools.feed.module.base;
+
+import org.rometools.feed.module.base.types.DateTimeRange;
+
+
+/**
+ * This is an interface for the GoogleBase plug in that exposes methods used for
+ * Class or Course information entry types.
+ * @author <a href="mailto:cooper@screaming-penguin.com">Robert "kebernet" Cooper</a>
+ * @version $Revision: 1.2 $
+ */
+public interface Course extends GlobalInterface {
+ /**
+ * The timeframe a course is running.
+ *
+ *
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ *
+ * <tbody><tr valign="top">
+ *
+ * <td colspan="2" bgcolor="#dddddd"><font size="-1">
+ * <b><a name="course_date_range"></a>course_date_range</b></font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Details</b></font></td>
+ * <td><font size="-1">Date and time range a class is in session, in <a href="http://www.iso.org/iso/en/prods-services/popstds/datesandtime.html">ISO 8601</a>. Two sub-attributes
+ * are included in course_date_range attribute.<ul type="disc">
+ *
+ * <li>start = Start date and time of a trip in
+ * format YYYY-MM-DDThh:mm:ss</li>
+ * <li>end = End date and time of a trip in
+ * format YYYY-MM-DDThh:mm:ss</li></ul></font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Example</b></font></td>
+ * <td><font size="-1"> <g:course_date_range> <br>
+ *
+ * <g:start>2005-12-20T09:30:01</g:start>
+ * <br>
+ * <g:end>2005-12-29T10:30:59</g:end><br>
+ * </g:course_date_range></font></td>
+ * </tr>
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ *
+ * <b>Attribute of</b></font></td>
+ * <td><font size="-1">
+ * Course schedules</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ *
+ * <b>Content type</b></font></td>
+ *
+ * <td><font size="-1">
+ * dateTimeRange</font></td>
+ * </tr>
+ * </tbody></table>
+ * @param courseDateRange The timeframe a course is running
+ */
+ public void setCourseDateRange(DateTimeRange courseDateRange);
+
+ /**
+ * The timeframe a course is running.
+ *
+ *
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ *
+ * <tbody><tr valign="top">
+ *
+ * <td colspan="2" bgcolor="#dddddd"><font size="-1">
+ * <b><a name="course_date_range"></a>course_date_range</b></font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Details</b></font></td>
+ * <td><font size="-1">Date and time range a class is in session, in <a href="http://www.iso.org/iso/en/prods-services/popstds/datesandtime.html">ISO 8601</a>. Two sub-attributes
+ * are included in course_date_range attribute.<ul type="disc">
+ *
+ * <li>start = Start date and time of a trip in
+ * format YYYY-MM-DDThh:mm:ss</li>
+ * <li>end = End date and time of a trip in
+ * format YYYY-MM-DDThh:mm:ss</li></ul></font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Example</b></font></td>
+ * <td><font size="-1"> <g:course_date_range> <br>
+ *
+ * <g:start>2005-12-20T09:30:01</g:start>
+ * <br>
+ * <g:end>2005-12-29T10:30:59</g:end><br>
+ * </g:course_date_range></font></td>
+ * </tr>
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ *
+ * <b>Attribute of</b></font></td>
+ * <td><font size="-1">
+ * Course schedules</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ *
+ * <b>Content type</b></font></td>
+ *
+ * <td><font size="-1">
+ * dateTimeRange</font></td>
+ * </tr>
+ * </tbody></table>
+ * @return The timeframe a course is running
+ */
+ public DateTimeRange getCourseDateRange();
+
+ /**
+ * ID code associated with a course.
+ *
+ *
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ * <tbody><tr valign="top">
+ * <td colspan="2" bgcolor="#dddddd" valign="top"> <font size="-1"><b><a name="course_number"></a>course_number</b></font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"> <font size="-1"><b>Details</b></font></td>
+ *
+ * <td> <font size="-1">ID code associated with a course</font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"> <font size="-1"><b>Example</b></font></td>
+ * <td> <font size="-1"><g:course_number>HIST-90A</g:course_number></font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ *
+ * <td width="120"> <font size="-1"><b>Attribute
+ * of</b></font></td>
+ * <td> <font size="-1">Course schedules</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"> <font size="-1"><b>Content
+ * type</b></font></td>
+ *
+ * <td> <font size="-1">string</font></td>
+ *
+ * </tr>
+ * </tbody></table>
+ * @param courseNumber ID code associated with a course
+ */
+ public void setCourseNumber(String courseNumber);
+
+ /**
+ * ID code associated with a course.
+ *
+ *
+ *
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ * <tbody><tr valign="top">
+ * <td colspan="2" bgcolor="#dddddd" valign="top"> <font size="-1"><b><a name="course_number"></a>course_number</b></font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"> <font size="-1"><b>Details</b></font></td>
+ *
+ * <td> <font size="-1">ID code associated with a course</font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"> <font size="-1"><b>Example</b></font></td>
+ * <td> <font size="-1"><g:course_number>HIST-90A</g:course_number></font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ *
+ * <td width="120"> <font size="-1"><b>Attribute
+ * of</b></font></td>
+ * <td> <font size="-1">Course schedules</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"> <font size="-1"><b>Content
+ * type</b></font></td>
+ *
+ * <td> <font size="-1">string</font></td>
+ *
+ * </tr>
+ * </tbody></table>
+ * @return ID code associated with a course
+ */
+ public String getCourseNumber();
+
+ /**
+ * Time a class is in session.
+ *
+ *
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ * <tbody><tr valign="top">
+ * <td colspan="2" bgcolor="#dddddd" valign="top"> <font size="-1"><b><a name="course_times"></a>course_times</b></font></td>
+ *
+ * </tr>
+ *
+ * <tr valign="top">
+ * <td width="120"> <font size="-1"><b>Details</b></font></td>
+ * <td> <font size="-1">Time a class is in session.</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"> <font size="-1"><b>Example</b></font></td>
+ *
+ * <td> <font size="-1"><g:course_times>MWF 08:30 - 09:45</g:course_times></font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"> <font size="-1"><b>Attribute
+ * of</b></font></td>
+ * <td> <font size="-1">Course schedules</font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"> <font size="-1"><b>Content
+ * type</b></font></td>
+ *
+ * <td> <font size="-1">string</font></td>
+ * </tr>
+ * </tbody></table>
+ * @param courseTimes Time a class is in session
+ */
+ public void setCourseTimes(String courseTimes);
+
+ /**
+ * Time a class is in session.
+ *
+ *
+ *
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ * <tbody><tr valign="top">
+ * <td colspan="2" bgcolor="#dddddd" valign="top"> <font size="-1"><b><a name="course_times"></a>course_times</b></font></td>
+ *
+ * </tr>
+ *
+ * <tr valign="top">
+ * <td width="120"> <font size="-1"><b>Details</b></font></td>
+ * <td> <font size="-1">Time a class is in session.</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"> <font size="-1"><b>Example</b></font></td>
+ *
+ * <td> <font size="-1"><g:course_times>MWF 08:30 - 09:45</g:course_times></font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"> <font size="-1"><b>Attribute
+ * of</b></font></td>
+ * <td> <font size="-1">Course schedules</font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"> <font size="-1"><b>Content
+ * type</b></font></td>
+ *
+ * <td> <font size="-1">string</font></td>
+ * </tr>
+ * </tbody></table>
+ * @return Time a class is in session
+ */
+ public String getCourseTimes();
+
+ /**
+ * Salary for this position.
+ *
+ *
+ *
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ * <tbody><tr valign="top">
+ * <td colspan="2" bgcolor="#dddddd" valign="top"><font size="-1">
+ * <b><a name="salary"></a>salary</b></font></td>
+ * </tr>
+ *
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ * <b>Details</b></font></td>
+ * <td><font size="-1">
+ * Salary for this position. Non-numeric values such as "$" symbols are not acceptable. </font></td>
+ * </tr>
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ *
+ * <b>Example</b></font></td>
+ * <td><font size="-1">
+ * <g:salary>55000</g:salary></font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ *
+ * <b>Attribute of</b></font></td>
+ *
+ * <td><font size="-1">
+ * Jobs</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Content type</b></font></td>
+ *
+ * <td><font size="-1">
+ *
+ * float</font></td>
+ * </tr>
+ * </tbody></table>
+ * @param salary Salary for this position
+ */
+ public void setSalary(Float salary);
+
+ /**
+ * Salary for this position.
+ *
+ *
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ * <tbody><tr valign="top">
+ * <td colspan="2" bgcolor="#dddddd" valign="top"><font size="-1">
+ * <b><a name="salary"></a>salary</b></font></td>
+ * </tr>
+ *
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ * <b>Details</b></font></td>
+ * <td><font size="-1">
+ * Salary for this position. Non-numeric values such as "$" symbols are not acceptable. </font></td>
+ * </tr>
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ *
+ * <b>Example</b></font></td>
+ * <td><font size="-1">
+ * <g:salary>55000</g:salary></font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ *
+ * <b>Attribute of</b></font></td>
+ *
+ * <td><font size="-1">
+ * Jobs</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Content type</b></font></td>
+ *
+ * <td><font size="-1">
+ *
+ * float</font></td>
+ * </tr>
+ * </tbody></table>
+ * @return Salary for this position
+ */
+ public Float getSalary();
+
+ /**
+ * Topics of study for a course.
+ *
+ *
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ * <tbody><tr valign="top">
+ * <td colspan="2" bgcolor="#dddddd" valign="top"><font size="-1">
+ * <b><a name="subject"></a>subject</b></font></td>
+ * </tr>
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ *
+ * <b>Details</b></font></td>
+ * <td><font size="-1">
+ * Topic of study for a course.</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Example</b></font></td>
+ *
+ * <td><font size="-1"> <g:subject>Trigonometry</g:subject></font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Attribute of</b></font></td>
+ * <td><font size="-1">
+ *
+ * Course schedules</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Content type</b></font></td>
+ * <td><font size="-1">
+ * string</font></td>
+ *
+ * </tr>
+ * </tbody></table>
+ * @param subject Topics of study for a course
+ */
+ public void setSubjects(String[] subject);
+
+ /**
+ * Topics of study for a course.
+ *
+ *
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ * <tbody><tr valign="top">
+ * <td colspan="2" bgcolor="#dddddd" valign="top"><font size="-1">
+ * <b><a name="subject"></a>subject</b></font></td>
+ * </tr>
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ *
+ * <b>Details</b></font></td>
+ * <td><font size="-1">
+ * Topic of study for a course.</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Example</b></font></td>
+ *
+ * <td><font size="-1"> <g:subject>Trigonometry</g:subject></font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Attribute of</b></font></td>
+ * <td><font size="-1">
+ *
+ * Course schedules</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Content type</b></font></td>
+ * <td><font size="-1">
+ * string</font></td>
+ *
+ * </tr>
+ * </tbody></table>
+ * @return Topics of study for a course
+ */
+ public String[] getSubjects();
+
+ /**
+ * Name of the school at which a class is offered.
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ * <tbody><tr valign="top">
+ * <td colspan="2" bgcolor="#dddddd" valign="top"><font size="-1">
+ * <b><a name="university"></a>university</b></font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Details</b></font></td>
+ * <td><font size="-1">
+ * Name of the school a class is offered at. </font></td>
+ * </tr>
+ *
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ * <b>Example</b></font></td>
+ * <td><font size="-1"> <g:university>Stanford</g:university></font></td>
+ * </tr>
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ *
+ * <b>Attribute of</b></font></td>
+ * <td><font size="-1">
+ * Course schedules</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Content type</b></font></td>
+ *
+ * <td><font size="-1">
+ *
+ * string</font></td>
+ * </tr>
+ * </tbody></table>
+ * @param university Name of the school at which a class is offered.
+ */
+ public void setUniversity(String university);
+
+ /**
+ * Name of the school at which a class is offered.
+ * <table border="1" cellpadding="5" cellspacing="0" width="640">
+ * <tbody><tr valign="top">
+ * <td colspan="2" bgcolor="#dddddd" valign="top"><font size="-1">
+ * <b><a name="university"></a>university</b></font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Details</b></font></td>
+ * <td><font size="-1">
+ * Name of the school a class is offered at. </font></td>
+ * </tr>
+ *
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ * <b>Example</b></font></td>
+ * <td><font size="-1"> <g:university>Stanford</g:university></font></td>
+ * </tr>
+ * <tr valign="top">
+ *
+ * <td width="120"><font size="-1">
+ *
+ * <b>Attribute of</b></font></td>
+ * <td><font size="-1">
+ * Course schedules</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td width="120"><font size="-1">
+ * <b>Content type</b></font></td>
+ *
+ * <td><font size="-1">
+ *
+ * string</font></td>
+ * </tr>
+ * </tbody></table>
+ * @return Name of the school at which a class is offered.
+ */
+ public String getUniversity();
+}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/CustomTag.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/CustomTag.java b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/CustomTag.java
new file mode 100644
index 0000000..55139c6
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/CustomTag.java
@@ -0,0 +1,125 @@
+/*
+ * CustomTag.java
+ *
+ * Created on February 6, 2006, 12:17 AM
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+package org.rometools.feed.module.base;
+
+
+/**
+ * This class represents a custom tag name and value.
+ * @author <a href="mailto:cooper@screaming-penguin.com">Robert "kebernet" Cooper</a>
+ * @version $Revision: 1.2 $
+ */
+public interface CustomTag {
+
+ /**
+ * Returns the tag name used.
+ * @return Returns the tag name used.
+ */
+ public String getName();
+
+ /**
+ * The value of the custom tag.
+ * <br>
+ * <br>
+ * <table border="1" cellpadding="6" cellspacing="0">
+ * <tbody><tr valign="top">
+ * <td><strong><font size="-1">Type (JavaType)</font></strong></td>
+ *
+ * <td><strong><font size="-1">Description</font></strong></td>
+ * <td><strong><font size="-1">Examples</font></strong></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><font size="-1">string (String)</font></td>
+ * <td><font size="-1">Any string</font></td>
+ * <td><font size="-1">Blue</font></td>
+ *
+ * </tr>
+ * <tr valign="top">
+ * <td><font size="-1">int (Integer)</font></td>
+ * <td><font size="-1">Whole number values</font></td>
+ * <td><font size="-1">1000</font></td>
+ * </tr>
+ * <tr valign="top">
+ *
+ * <td><font size="-1">float (Float)</font></td>
+ * <td><font size="-1">Numbers with decimal digits</font></td>
+ * <td><font size="-1">3.5</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><font size="-1">intUnit (IntUnit)</font></td>
+ *
+ * <td><font size="-1">Whole number value and a string</font></td>
+ *
+ * <td><font size="-1">10 km</font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><font size="-1">floatUnit (FloatUnit)</font></td>
+ * <td><font size="-1">Numbers with decimal digits and a string</font></td>
+ *
+ * <td><font size="-1">1.5 km</font></td>
+ * </tr>
+ *
+ * <tr valign="top">
+ * <td><font size="-1">date (ShortDate)</font></td>
+ * <td><font size="-1">Date of an event, in format YYYY-MM-DD</font></td>
+ * <td><font size="-1">2005-12-12</font></td>
+ * </tr>
+ *
+ * <tr valign="top">
+ * <td><font size="-1">dateTime (java.util.Date)</font></td>
+ *
+ * <td><font size="-1">Date and time for an event, in format YYYY-MM-DDThh:mm:ss</font></td>
+ * <td><font size="-1">2005-12-12T12:00:00 </font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><font size="-1">dateTimeRange (DateTimeRange)</font></td>
+ *
+ * <td><font size="-1">Start and end dates for an event. An attribute of this type will contain two sub-attributes, <start> and <end> in format YYYY-MM-DD</font></td>
+ *
+ * <td><font size="-1"><start>1975-09-25</start><br><end>1975-09-25</end>
+ *
+ * </font></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><font size="-1">url (java.net.URL)</font></td>
+ * <td><font size="-1">HTTP URL </font></td>
+ *
+ * <td><font size="-1">http://www.google.com</font></td>
+ * </tr>
+ *
+ * <tr valign="top">
+ * <td><font size="-1">boolean (Boolean)</font></td>
+ * <td><font size="-1">Value may be either true or false.</font></td>
+ * <td><font size="-1">true</font></td>
+ * </tr>
+ *
+ * <tr valign="top">
+ * <td><font size="-1">location (CustomTagImpl.Location)</font></td>
+ *
+ * <td><font size="-1">Location</font></td>
+ * <td><font size="-1">921 W. Dana Street, Mtn View, CA-94103 </font></td>
+ * </tr>
+ *
+ * </tbody></table>
+ * @return The value of the tag. The objects class is determined by the "type" attribute on the tag.
+ */
+ public Object getValue();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/CustomTagImpl.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/CustomTagImpl.java b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/CustomTagImpl.java
new file mode 100644
index 0000000..8438d8d
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/CustomTagImpl.java
@@ -0,0 +1,215 @@
+/*
+ * CustomTagImpl.java
+ *
+ * Created on February 6, 2006, 12:06 AM
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+package org.rometools.feed.module.base;
+
+import org.rometools.feed.module.base.types.DateTimeRange;
+import org.rometools.feed.module.base.types.FloatUnit;
+import org.rometools.feed.module.base.types.IntUnit;
+import org.rometools.feed.module.base.types.ShortDate;
+
+import java.net.URL;
+
+import java.util.Date;
+
+
+/**
+ * @version $Revision: 1.1 $
+ * @author <a href="mailto:cooper@screaming-penguin.com">Robert "kebernet" Cooper</a>
+ */
+public class CustomTagImpl implements CustomTag {
+ private Object value;
+ private String name;
+
+ /** Creates a new instance of CustomTagImpl */
+ public CustomTagImpl(String name,String value) {
+ if( name == null || value == null ){ throw new NullPointerException("Name and Value cannont be null."); }
+ this.name = name;
+ this.value = value;
+ }
+
+ public CustomTagImpl(String name,Integer value) {
+ if( name == null || value == null ){ throw new NullPointerException("Name and Value cannont be null."); }
+ this.name = name;
+ this.value = value;
+ }
+
+ public CustomTagImpl(String name,Float value) {
+ if( name == null || value == null ){ throw new NullPointerException("Name and Value cannont be null."); }
+ this.name = name;
+ this.value = value;
+ }
+
+ public CustomTagImpl(String name,IntUnit value) {
+ if( name == null || value == null ){ throw new NullPointerException("Name and Value cannont be null."); }
+ this.name = name;
+ this.value = value;
+ }
+
+ public CustomTagImpl(String name,FloatUnit value) {
+ if( name == null || value == null ){ throw new NullPointerException("Name and Value cannont be null."); }
+ this.name = name;
+ this.value = value;
+ }
+
+ public CustomTagImpl(String name,ShortDate value) {
+ if( name == null || value == null ){ throw new NullPointerException("Name and Value cannont be null."); }
+ this.name = name;
+ this.value = value;
+ }
+
+ public CustomTagImpl(String name,Date value) {
+ if( name == null || value == null ){ throw new NullPointerException("Name and Value cannont be null."); }
+ this.name = name;
+ this.value = value;
+ }
+
+ public CustomTagImpl(String name,DateTimeRange value) {
+ if( name == null || value == null ){ throw new NullPointerException("Name and Value cannont be null."); }
+ this.name = name;
+ this.value = value;
+ }
+
+ public CustomTagImpl(String name,URL value) {
+ if( name == null || value == null ){ throw new NullPointerException("Name and Value cannont be null."); }
+ this.name = name;
+ this.value = value;
+ }
+
+ public CustomTagImpl(String name,Boolean value) {
+ if( name == null || value == null ){ throw new NullPointerException("Name and Value cannont be null."); }
+ this.name = name;
+ this.value = value;
+ }
+
+ public CustomTagImpl(String name,Location value) {
+ if( name == null || value == null ){ throw new NullPointerException("Name and Value cannont be null."); }
+ this.name = name;
+ this.value = value;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public Object getValue() {
+ return this.value;
+ }
+
+ public boolean equals( Object o ){
+ if( o instanceof CustomTag ){
+ CustomTag tag = (CustomTag) o;
+ if( this.name.equals( tag.getName() ) && this.value.equals( tag.getValue() ))
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Creates and returns a copy of this object. The precise meaning
+ * of "copy" may depend on the class of the object. The general
+ * intent is that, for any object <tt>x</tt>, the expression:
+ * <blockquote>
+ * <pre>
+ * x.clone() != x</pre></blockquote>
+ * will be true, and that the expression:
+ * <blockquote>
+ * <pre>
+ * x.clone().getClass() == x.getClass()</pre></blockquote>
+ * will be <tt>true</tt>, but these are not absolute requirements.
+ * While it is typically the case that:
+ * <blockquote>
+ * <pre>
+ * x.clone().equals(x)</pre></blockquote>
+ * will be <tt>true</tt>, this is not an absolute requirement.
+ * <p>
+ * By convention, the returned object should be obtained by calling
+ * <tt>super.clone</tt>. If a class and all of its superclasses (except
+ * <tt>Object</tt>) obey this convention, it will be the case that
+ * <tt>x.clone().getClass() == x.getClass()</tt>.
+ * <p>
+ * By convention, the object returned by this method should be independent
+ * of this object (which is being cloned). To achieve this independence,
+ * it may be necessary to modify one or more fields of the object returned
+ * by <tt>super.clone</tt> before returning it. Typically, this means
+ * copying any mutable objects that comprise the internal "deep structure"
+ * of the object being cloned and replacing the references to these
+ * objects with references to the copies. If a class contains only
+ * primitive fields or references to immutable objects, then it is usually
+ * the case that no fields in the object returned by <tt>super.clone</tt>
+ * need to be modified.
+ * <p>
+ * The method <tt>clone</tt> for class <tt>Object</tt> performs a
+ * specific cloning operation. First, if the class of this object does
+ * not implement the interface <tt>Cloneable</tt>, then a
+ * <tt>CloneNotSupportedException</tt> is thrown. Note that all arrays
+ * are considered to implement the interface <tt>Cloneable</tt>.
+ * Otherwise, this method creates a new instance of the class of this
+ * object and initializes all its fields with exactly the contents of
+ * the corresponding fields of this object, as if by assignment; the
+ * contents of the fields are not themselves cloned. Thus, this method
+ * performs a "shallow copy" of this object, not a "deep copy" operation.
+ * <p>
+ * The class <tt>Object</tt> does not itself implement the interface
+ * <tt>Cloneable</tt>, so calling the <tt>clone</tt> method on an object
+ * whose class is <tt>Object</tt> will result in throwing an
+ * exception at run time.
+ *
+ * @return a clone of this instance.
+ * @exception CloneNotSupportedException if the object's class does not
+ * support the <code>Cloneable</code> interface. Subclasses
+ * that override the <code>clone</code> method can also
+ * throw this exception to indicate that an instance cannot
+ * be cloned.
+ * @see java.lang.Cloneable
+ */
+ public Object clone() throws CloneNotSupportedException {
+ CustomTagImpl cti = new CustomTagImpl( this.name, "" );
+ cti.value = this.value;
+ return cti;
+ }
+
+ public String toString() {
+ return "[custom name=\""+this.name+"\" value=\""+this.value.toString()+"\"]";
+ }
+ public static class Location {
+ private String value;
+
+ public Location(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public Object clone() {
+ return new Location(this.value);
+ }
+
+ public String toString() {
+ return value;
+ }
+
+ public boolean equals( Object o ){
+ if( o instanceof Location && ((Location) o).value.equals(this.value) ) return true;
+ else return false;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/CustomTags.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/CustomTags.java b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/CustomTags.java
new file mode 100644
index 0000000..00bdb75
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/CustomTags.java
@@ -0,0 +1,38 @@
+/*
+ * CustomTags.java
+ *
+ * Created on February 6, 2006, 12:26 AM
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+package org.rometools.feed.module.base;
+
+import com.sun.syndication.feed.module.Module;
+import java.util.List;
+
+/**
+ * @version $Revision: 1.1 $
+ * @author <a href="mailto:cooper@screaming-penguin.com">Robert "kebernet" Cooper</a>
+ */
+public interface CustomTags extends Module {
+
+ public static final String URI = "http://base.google.com/cns/1.0";
+
+ public List getValues();
+
+ public void setValues(List values);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/f7a4e00f/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/CustomTagsImpl.java
----------------------------------------------------------------------
diff --git a/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/CustomTagsImpl.java b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/CustomTagsImpl.java
new file mode 100644
index 0000000..40263e7
--- /dev/null
+++ b/commons/sesame-tools-rio-rss/src/ext/java/org/rometools/feed/module/base/CustomTagsImpl.java
@@ -0,0 +1,68 @@
+/*
+ * CustomTagsImpl.java
+ *
+ * Created on February 6, 2006, 12:26 AM
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+package org.rometools.feed.module.base;
+
+import com.sun.syndication.feed.CopyFrom;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @version $Revision: 1.1 $
+ * @author <a href="mailto:cooper@screaming-penguin.com">Robert "kebernet" Cooper</a>
+ */
+public class CustomTagsImpl implements CustomTags {
+
+ private List values;
+ /** Creates a new instance of CustomTagsImpl */
+ public CustomTagsImpl() {
+ }
+
+ public List getValues(){
+ values = (values == null )? new ArrayList() : values;
+ return values;
+ }
+
+ public void setValues(List values){
+ this.values = values;
+ }
+
+ public void copyFrom(CopyFrom object) {
+ CustomTags ct = (CustomTags) object;
+ this.values = new ArrayList( ct.getValues() );
+ }
+
+ @Override
+ public Object clone() {
+ CustomTagsImpl cti = new CustomTagsImpl();
+ cti.values = new ArrayList( this.values );
+ return cti;
+ }
+
+ public Class getInterface(){
+ return CustomTags.class;
+ }
+
+ public String getUri() {
+ return CustomTags.URI;
+ }
+
+
+}