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 2014/01/08 16:25:53 UTC

[37/51] [abbrv] [partial] MARMOTTA-397: Reorganized and renamed Marmotta Sesame Tools

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/HasLocation.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/HasLocation.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/HasLocation.java
new file mode 100644
index 0000000..2ec3ec8
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/HasLocation.java
@@ -0,0 +1,89 @@
+/*
+ *  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;
+
+import org.rometools.feed.module.georss.GeoRSSModule;
+import org.rometools.feed.module.portablecontacts.ContactModule;
+
+/**
+ * <p>Location is a concept which can be used inside the atom:entry
+ *          level, atom:author and activity:object. Location can be specified
+ *          via geographic coordinates, a street address, a free-form location
+ *          name or a combination of these. Geographic coordinates should be
+ *          included as a geo:point element as described by the GeoRSS
+ *          specification. Addresses should be included using a poco:address
+ *          element defined at Portable Contacts specification. The entry level
+ *          location represents the location of the author at the time the
+ *          activity was performed. The author level location represents the
+ *          primary location of the author. Finally, the location within other
+ *          objects represents the physical location of those objects. All
+ *          location fields are optional. For free form addresses use the
+ *          poco:formatted field.
+ *</p>
+ *<p><a class='info' href='#location-poco'>Figure&nbsp;1<span> (</span><span class='info'>Location Example</span><span>)</span></a>
+ *</p>
+ *<p><br /><hr class="insert" />
+ *<a name="location-poco"></a>
+ *</p>
+ *<div style='display: table; width: 0; margin-left: 3em; margin-right: auto'><pre>&lt;entry&gt;
+ *  &lt;id&gt;tag:world:activity:1212121212121&lt;/id&gt;
+ *  &lt;title&gt;Rob liked Goldeberg's Deli&lt;/title&gt;
+ *  &lt;author&gt;
+ *    &lt;name&gt;Rob Dolin&lt;/name&gt;
+ *    &lt;id&gt;tag:world:person:1212121212121&lt;/id&gt;
+ *    &lt;link rel="alternate" type="text/html" href="http://robdolin.com" /&gt;
+ *    &lt;poco:address&gt;
+ *      &lt;poco:locality&gt;Marina del Rey&lt;/poco:locality&gt;
+ *      &lt;poco:region&gt;CA&lt;/poco:region&gt;
+ *      &lt;poco:postalCode&gt;90292&lt;/poco:postalCode&gt;
+ *      &lt;poco:country&gt;US&lt;/poco:country&gt;
+ *    &lt;/poco:address&gt;
+ *  &lt;/author&gt;
+ *  &lt;activity:object&gt;
+ *    &lt;activity:object-type&gt;http://activitystrea.ms/schema/1.0/place&lt;/object-type&gt;
+ *    &lt;id&gt;tag:world:place:1212121212121&lt;/id&gt;
+ *    &lt;title&gt;Goldberg's Deli&lt;/title&gt;
+ *    &lt;link rel="alternate" type="text/html" href="http://www.deli.com" /&gt;
+ *    &lt;geo:point&gt;33.9777 -118.4351&lt;/geo:point&gt;
+ *    &lt;poco:address&gt;
+ *      &lt;poco:streetAddress&gt;14016 Bora Bora Way&lt;/poco:streetAddress&gt;
+ *      &lt;poco:locality&gt;Marina del Rey&lt;/poco:locality&gt;
+ *      &lt;poco:region&gt;CA&lt;/poco:region&gt;
+ *      &lt;poco:postalCode&gt;90292&lt;/poco:postalCode&gt;
+ *      &lt;poco:country&gt;US&lt;/poco:country&gt;
+ *    &lt;/poco:address&gt;
+ *  &lt;/activity:object&gt;
+ *  &lt;geo:point&gt;33.9777 -119.4351&lt;/geo:point&gt;
+ *  &lt;activity:verb&gt;http://activitystrea.ms/schema/1.0/like&lt;/activity:verb&gt;
+ *&lt;/entry&gt;</pre></div><p>
+ *<table border="0" cellpadding="0" cellspacing="2" align="center"><tr><td align="center"><font face="monaco, MS Sans Serif" size="1"><b>&nbsp;Figure&nbsp;1: Location Example&nbsp;</b></font><br /></td></tr></table><hr class="insert" />
+ *
+ *</p>
+ * @author robert.cooper
+ */
+public interface HasLocation {
+
+
+    public GeoRSSModule getLocation();
+
+    public void setLocation(GeoRSSModule location);
+
+    public ContactModule getAddress();
+
+    public void setAddress(ContactModule address);
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/List.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/List.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/List.java
new file mode 100644
index 0000000..8a79ac7
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/List.java
@@ -0,0 +1,39 @@
+/*
+ *  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 "list" object type represents a collection of related
+ *          objects.
+ *</p>
+ *<p>The "list" object type is identified by the URI <tt>http://activitystrea.ms/schema/1.0/list</tt>.
+ *</p>
+ *<p>A list has no additional components.
+ *</p>
+ 
+ * @author robert.cooper
+ */
+public class List extends ActivityObject
+{
+
+    @Override
+    public String getTypeIRI() {
+        return "http://activitystrea.ms/schema/1.0/list";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Mood.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Mood.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Mood.java
new file mode 100644
index 0000000..ba37cb4
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Mood.java
@@ -0,0 +1,79 @@
+/*
+ *  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>Mood describes the mood of the user when the activity was
+ *          performed. This is usually collected via an extra field in the user
+ *          interface used to perform the activity. For the purpose of this
+ *          schema, a mood is a freeform, short mood keyword or phrase along
+ *          with an optional mood icon image.
+ *</p>
+ *<p>Moods are included via a mood element in the namespace <tt>http://activitystrea.ms/context/</tt>.
+ *</p>
+ *<p>The content of the mood element is the mood keyword or
+ *          phrase.
+ *</p>
+ *<p>The mood element may have an optional <tt>icon</tt>
+ *          attribute which contains the URL of a mood icon image. The mood icon
+ *          image SHOULD be small and appropriate to be displayed alongside the
+ *          mood keyword at a normal text size.
+ *</p>
+ * @author robert.cooper
+ */
+public class Mood {
+    private String iconUrl;
+    private String text;
+
+    /**
+     * Set the value of iconUrl
+     *
+     * @param newiconUrl new value of iconUrl
+     */
+    public void setIconUrl(String newiconUrl) {
+        this.iconUrl = newiconUrl;
+    }
+
+    /**
+     * Get the value of iconUrl
+     *
+     * @return the value of iconUrl
+     */
+    public String getIconUrl() {
+        return this.iconUrl;
+    }
+
+    /**
+     * Set the value of text
+     *
+     * @param newtext new value of text
+     */
+    public void setText(String newtext) {
+        this.text = newtext;
+    }
+
+    /**
+     * Get the value of text
+     *
+     * @return the value of text
+     */
+    public String getText() {
+        return this.text;
+    }
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Note.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Note.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Note.java
new file mode 100644
index 0000000..63b20c5
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Note.java
@@ -0,0 +1,59 @@
+/*
+ *  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 "note" Object type represents short-form text messages. This
+ *          Object type is intended for use in "micro-blogging" and in systems
+ *          where users are invited to publish short, often plain-text messages
+ *          whose useful lifespan is generally shorter than that of an article
+ *          or weblog entry.
+ *</p>
+ *<p>A note is similar in structure to an article, but it does not
+ *          have a title and its body tends to be shorter. Applications will
+ *          often display the entire content of a note in an activity stream UI,
+ *          whereas they MAY display only the title or the title and summary for
+ *          a weblog entry.
+ *</p>
+ *<p>The "note" Object type is identified by the URI <tt>http://activitystrea.ms/schema/1.0/note</tt>.
+ *</p>
+ *<p>A note has the following additional components:
+ *</p>
+ *<p></p>
+ *<blockquote class="text"><dl>
+ *<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>
+ *</dl></blockquote>
+ * @author robert.cooper
+ */
+public class Note extends ActivityObject {
+
+    @Override
+    public String getTypeIRI() {
+        return "http://activitystrea.ms/schema/1.0/note";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Person.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Person.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Person.java
new file mode 100644
index 0000000..e2009a8
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Person.java
@@ -0,0 +1,84 @@
+/*
+ *  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;
+
+import com.sun.syndication.feed.atom.Link;
+
+/**
+ * <p>The "person" Object type represents a user account. This is often
+          represents a person, but might also be a company or fictitious
+ *          character that is being represented by a user account.
+ *</p>
+ *<p>The "person" Object type is identified by the URI <tt>http://activitystrea.ms/schema/1.0/person</tt>.
+ *</p>
+ *<p>A person has the following additional components:
+ *</p>
+ *<p></p>
+ *<blockquote class="text"><dl>
+ *<dt>Display Name</dt>
+ *<dd>A name that can be used for the
+ *              person in the user interface. This is often a name by which the
+ *              individual is known in a given context; no restriction is placed
+ *              on what kind of name may be used here. Represented by the Name
+ *              component of the base Object Construct.
+ *</dd>
+ *<dt>Avatar</dt>
+ *<dd>A link to an "avatar" or "userpic" image
+ *              for the user. Represented by the Representative Image component
+ *              of the base Object Construct.
+ *</dd>
+ *</dl></blockquote>
+ @author robert.cooper
+ */
+public class Person extends ActivityObject  {
+
+    @Override
+    public String getTypeIRI() {
+       return "http://activitystrea.ms/schema/1.0/person";
+    }
+
+
+
+    /**
+     * Get the value of avatar
+     *
+     * @return the value of avatar
+     */
+    public Link getAvatar() {
+        Link result = this.findRelatedLink("avatar");
+        if(result != null){
+            return result;
+        }
+        return this.findRelatedLink("userpic");
+    }
+
+    /**
+     * Set the value of avatar
+     *
+     * @param newavatar new value of avatar
+     */
+    public void setAvatar(Link newavatar) {
+        Link old = this.getAvatar();
+        if(old != null){
+            this.getOtherLinks().remove(old);
+        }
+        newavatar.setRel("avatar");
+        this.getOtherLinks().add(newavatar);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Photo.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Photo.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Photo.java
new file mode 100644
index 0000000..6f57edb
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Photo.java
@@ -0,0 +1,55 @@
+/*
+ *  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 "photo" object type represents a graphical still image.
+ *</p>
+ *<p>The "photo" Object type is identified by the URI <tt>http://activitystrea.ms/schema/1.0/photo</tt>.
+ *</p>
+ *<p>A photo has the following additional components:
+ *</p>
+ *<p></p>
+ *<blockquote class="text"><dl>
+ *<dt>Thumbnail</dt>
+ *<dd>A link to a thumbnail version of the
+ *              image. Represented by the Representative Image component of the
+ *              base Object Construct. Processors MAY ignore thumbnails that are
+ *              of an inappropriate size for their user interface.
+ *</dd>
+ *<dt>Larger Image</dt>
+ *<dd>A Media Link Construct linking to a
+ *              larger -- ideally, full-size -- version of the photo intended
+ *              for standalone viewing. Represented in JSON as a property named
+ *              <tt>fullImage</tt> whose value is a JSON
+ *              object with properties as defined in [TODO: xref the JSON
+ *              serialization of a Media Link Construct].
+ *</dd>
+ *</dl></blockquote>
+ * @author robert.cooper
+ */
+public class Photo extends ActivityObject {
+
+    @Override
+    public String getTypeIRI() {
+        return "http://activitystrea.ms/schema/1.0/photo";
+    }
+
+
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/PhotoAlbum.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/PhotoAlbum.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/PhotoAlbum.java
new file mode 100644
index 0000000..2e4e2a1
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/PhotoAlbum.java
@@ -0,0 +1,47 @@
+/*
+ *  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 "photo album" object type represents a collection of
+ *          images.
+ *</p>
+ *<p>The "photo album" object type is identified by the URI <tt>http://activitystrea.ms/schema/1.0/photo-album</tt>.
+ *</p>
+ *<p>The photo album has the following additional components:
+ *</p>
+ *<p></p>
+ *<blockquote class="text"><dl>
+ *<dt>Preview Image Link</dt>
+ *<dd>A Media Link Construct
+ *              describing an image file that can be used as a preview image for
+ *              the album. Represented by the Representative Image component of
+ *              the base Object Construct. Processors MAY ignore thumbnails that
+ *              are of an inappropriate size for their user interface.
+ *</dd>
+ *</dl></blockquote>
+ * @author robert.cooper
+ */
+public class PhotoAlbum extends ActivityObject {
+
+    @Override
+    public String getTypeIRI() {
+        return "http://activitystrea.ms/schema/1.0/photo-album";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Place.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Place.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Place.java
new file mode 100644
index 0000000..4d650b0
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Place.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 "place" object type represents a location on Earth.
+ *</p>
+ *<p>The "place" object type is identified by the URI <tt>http://activitystrea.ms/schema/1.0/place</tt>.
+ *</p>
+ *<p>A place has the following additional components:
+ *</p>
+ *<p></p>
+ *<blockquote class="text"><dl>
+ *<dt>Latitude</dt>
+ *<dd>The latitude of the place as a point on
+ *              Earth. Represented in JSON as a property named <tt>latitude</tt> whose value is a JSON number
+ *              containing a decimal representation of the latitude in
+ *              degrees.
+ *</dd>
+ *<dt>Longitude</dt>
+ *<dd>The longitude of the place as a point on
+ *              Earth. Represented in JSON as a property named <tt>longitude</tt> whose value is a JSON number
+ *              containing a decimal representation of the longitude in
+ *             degrees.
+ *</dd>
+ *</dl></blockquote>
+ * @author robert.cooper
+ */
+public class Place extends ActivityObject {
+
+    @Override
+    public String getTypeIRI() {
+        return "http://activitystrea.ms/schema/1.0/place";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Playlist.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Playlist.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Playlist.java
new file mode 100644
index 0000000..dfea5e8
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Playlist.java
@@ -0,0 +1,38 @@
+/*
+ *  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 "playlist" object type represents an ordered list of
+ *          time-based media items, such as video and audio objects.
+ *</p>
+ *<p>The "playlist" object type is identified by the URI <tt>http://activitystrea.ms/schema/1.0/playlist</tt>.
+ *</p>
+ *<p>A playlist has no additional components.
+ *</p>
+ * @author robert.cooper
+ */
+public class Playlist extends ActivityObject  {
+
+    @Override
+    public String getTypeIRI() {
+        return "http://activitystrea.ms/schema/1.0/playlist";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Product.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Product.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Product.java
new file mode 100644
index 0000000..efee22d
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Product.java
@@ -0,0 +1,54 @@
+/*
+ *  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 "product" object type represents a commercial good or
+ *          service.
+ *</p>
+ *<p>The "product" object type is identified by the URI <tt>http://activitystrea.ms/schema/1.0/product</tt>.
+ *</p>
+ *<p>A product has the following additional components:
+ *</p>
+ *<p></p>
+ *<blockquote class="text"><dl>
+ *<dt>Thumbnail</dt>
+ *<dd>A link to a thumbnail-sized image that
+ *              contains a photo of the product. Represented by the
+ *              Representative Image component of the base Object Construct.
+ *              Processors MAY ignore thumbnails that are of an inappropriate
+ *              size for their user interface.
+ *</dd>
+ *<dt>Larger Image</dt>
+ *<dd>A Media Link Construct linking to a
+ *              larger -- ideally, full-size -- version of the photo of the
+ *              product. Represented in JSON as a property named <tt>fullImage</tt> whose value is a JSON object with
+ *              properties as defined in [TODO: xref the JSON serialization of a
+ *              Media Link Construct].
+ *</dd>
+ *</dl></blockquote>
+ * @author robert.cooper
+ */
+public class Product extends ActivityObject {
+
+    @Override
+    public String getTypeIRI() {
+        return "http://activitystrea.ms/schema/1.0/product";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Review.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Review.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Review.java
new file mode 100644
index 0000000..06df4b8
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-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/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Service.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Service.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Service.java
new file mode 100644
index 0000000..b7d5584
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-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/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Song.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Song.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Song.java
new file mode 100644
index 0000000..d6be3ef
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-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&nbsp;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/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Status.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Status.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Status.java
new file mode 100644
index 0000000..7636474
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-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/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Verb.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Verb.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Verb.java
new file mode 100644
index 0000000..9f2b0f3
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-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&nbsp;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&nbsp;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&nbsp;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/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Video.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Video.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/activitystreams/types/Video.java
new file mode 100644
index 0000000..4044c86
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-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/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/atomthread/ThreadModule.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/atomthread/ThreadModule.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/atomthread/ThreadModule.java
new file mode 100644
index 0000000..37ef9d3
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-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/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/atomthread/package.html
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/atomthread/package.html b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/atomthread/package.html
new file mode 100644
index 0000000..9d854f2
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-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/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/base/Article.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/base/Article.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/base/Article.java
new file mode 100644
index 0000000..0c7dafc
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-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"> &lt;g:author&gt;John Steinbeck&lt;/g:author&gt;</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"> &lt;g:author&gt;John Steinbeck&lt;/g:author&gt;</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"> &lt;g:news_source&gt;Journal&lt;/g:news_source&gt;</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"> &lt;g:news_source&gt;Journal&lt;/g:news_source&gt;</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"> &lt;g:pages&gt;18&lt;/g:pages&gt;</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"> &lt;g:pages&gt;18&lt;/g:pages&gt;</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"> &lt;g:publish_date&gt;2005-12-20&lt;/g:publish_date&gt;</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"> &lt;g:publish_date&gt;2005-12-20&lt;/g:publish_date&gt;</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/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/base/Course.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/base/Course.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/org/rometools/feed/module/base/Course.java
new file mode 100644
index 0000000..f4e1ce6
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-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"> &lt;g:course_date_range&gt; <br>
+     *
+     * &lt;g:start&gt;2005-12-20T09:30:01&lt;/g:start&gt;
+     *  <br>
+     * &lt;g:end&gt;2005-12-29T10:30:59&lt;/g:end&gt;<br>
+     * &lt;/g:course_date_range&gt;</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"> &lt;g:course_date_range&gt; <br>
+     *
+     * &lt;g:start&gt;2005-12-20T09:30:01&lt;/g:start&gt;
+     *  <br>
+     * &lt;g:end&gt;2005-12-29T10:30:59&lt;/g:end&gt;<br>
+     * &lt;/g:course_date_range&gt;</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">&lt;g:course_number&gt;HIST-90A&lt;/g:course_number&gt;</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">&lt;g:course_number&gt;HIST-90A&lt;/g:course_number&gt;</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">&lt;g:course_times&gt;MWF 08:30 - 09:45&lt;/g:course_times&gt;</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">&lt;g:course_times&gt;MWF 08:30 - 09:45&lt;/g:course_times&gt;</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">
+     * &lt;g:salary&gt;55000&lt;/g:salary&gt;</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">
+     * &lt;g:salary&gt;55000&lt;/g:salary&gt;</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"> &lt;g:subject&gt;Trigonometry&lt;/g:subject&gt;</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"> &lt;g:subject&gt;Trigonometry&lt;/g:subject&gt;</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"> &lt;g:university&gt;Stanford&lt;/g:university&gt;</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"> &lt;g:university&gt;Stanford&lt;/g:university&gt;</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();
+}