You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by jm...@apache.org on 2011/11/10 22:48:48 UTC
svn commit: r1200583 [4/5] - in /abdera/abdera2:
activities/src/main/java/org/apache/abdera2/activities/client/
activities/src/main/java/org/apache/abdera2/activities/extra/
activities/src/main/java/org/apache/abdera2/activities/io/gson/
activities/src...
Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/OfferObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/OfferObject.java?rev=1200583&r1=1200582&r2=1200583&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/OfferObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/OfferObject.java Thu Nov 10 21:48:45 2011
@@ -1,5 +1,7 @@
package org.apache.abdera2.activities.model.objects;
+import java.util.Map;
+
import org.apache.abdera2.activities.io.gson.Properties;
import org.apache.abdera2.activities.io.gson.Property;
import org.apache.abdera2.activities.model.ASObject;
@@ -10,128 +12,117 @@ import org.joda.time.DateTime;
* A simple "objectType":"offer" object that serves primarily as an
* example of creating new ASObject types.
*/
-@Name("offer")
-@Properties({
- @Property(name="validFrom",to=DateTime.class),
- @Property(name="validUntil",to=DateTime.class)
-})
@SuppressWarnings("unchecked")
public class OfferObject extends ASObject {
- private static final long serialVersionUID = 8693274483912587801L;
- public OfferObject() {}
+ public OfferObject(Map<String,Object> map) {
+ super(map,OfferBuilder.class,OfferObject.class);
+ }
- public OfferObject(String displayName) {
- setDisplayName(displayName);
+ public <X extends OfferObject, M extends Builder<X,M>>OfferObject(Map<String,Object> map,Class<M>_class,Class<X>_obj) {
+ super(map,_class,_obj);
}
public <T extends ASObject>T getAvailability() {
return (T)getProperty("availability");
}
- public void setAvailability(ASObject availability) {
- setProperty("availability", availability);
- }
-
public <T extends ASObject>T getCondition() {
return (T)getProperty("condition");
}
- public void setCondition(ASObject condition) {
- setProperty("condition", condition);
- }
-
public <T extends ASObject>T getItem() {
return (T)getProperty("item");
}
- public void setItem(ASObject item) {
- setProperty("item", item);
- }
-
public String getPrice() {
return getProperty("price");
}
- public void setPrice(String price) {
- setProperty("price", price);
- }
-
public String getCurrency() {
return getProperty("currency");
}
- public void setCurrency(String currency) {
- setProperty("currency",currency);
- }
-
public DateTime getValidUntil() {
return getProperty("validUntil");
}
- public void setValidUntil(DateTime date) {
- setProperty("validUntil", date);
- }
-
public DateTime getValidFrom() {
return getProperty("validFrom");
}
- public void setValidFrom(DateTime date) {
- setProperty("validFrom", date);
- }
-
public <T extends ASObject>T getRestriction() {
return (T)getProperty("restriction");
}
- public void setRestriction(ASObject restriction) {
- setProperty("restriction", restriction);
+ public static OfferBuilder makeOffer() {
+ return new OfferBuilder("offer");
}
- public static <T extends OfferObject>OfferObjectGenerator<T> makeOffer() {
- return new OfferObjectGenerator<T>();
+ @Name("offer")
+ @Properties({
+ @Property(name="validFrom",to=DateTime.class),
+ @Property(name="validUntil",to=DateTime.class)
+ })
+ public static final class OfferBuilder extends Builder<OfferObject,OfferBuilder> {
+
+ public OfferBuilder() {
+ super(OfferObject.class,OfferBuilder.class);
+ }
+
+ public OfferBuilder(Map<String, Object> map) {
+ super(map, OfferObject.class,OfferBuilder.class);
+ }
+
+ public OfferBuilder(String objectType) {
+ super(objectType, OfferObject.class,OfferBuilder.class);
+ }
+
}
- public static class OfferObjectGenerator<T extends OfferObject> extends ASObjectGenerator<T> {
- public OfferObjectGenerator() {
- super((Class<T>)OfferObject.class);
+ public static abstract class Builder<X extends OfferObject,M extends Builder<X,M>>
+ extends ASObject.Builder<X,M> {
+ public Builder(Class<X>_class,Class<M>_builder) {
+ super(_class,_builder);
+ }
+ public Builder(String objectType,Class<X>_class,Class<M>_builder) {
+ super(objectType,_class,_builder);
}
- public OfferObjectGenerator(Class<T> _class) {
- super(_class);
+ public Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
+ super(map,_class,_builder);
}
- public <X extends OfferObjectGenerator<T>>X availability(ASObject obj) {
- item.setAvailability(obj);
- return (X)this;
+ public M availability(ASObject obj) {
+ set("availability",obj);
+ return (M)this;
}
- public <X extends OfferObjectGenerator<T>>X condition(ASObject obj) {
- item.setCondition(obj);
- return (X)this;
+ public M condition(ASObject obj) {
+ set("condition",obj);
+ return (M)this;
}
- public <X extends OfferObjectGenerator<T>>X currency(String obj) {
- item.setCurrency(obj);
- return (X)this;
+ public M currency(String obj) {
+ set("currency",obj);
+ return (M)this;
}
- public <X extends OfferObjectGenerator<T>>X item(ASObject obj) {
- item.setItem(obj);
- return (X)this;
+ public M item(ASObject obj) {
+ set("item",obj);
+ return (M)this;
}
- public <X extends OfferObjectGenerator<T>>X price(String obj) {
- item.setPrice(obj);
- return (X)this;
+ public M price(String obj) {
+ set("price",obj);
+ return (M)this;
}
- public <X extends OfferObjectGenerator<T>>X restriction(ASObject obj) {
- item.setRestriction(obj);
- return (X)this;
+ public M restriction(ASObject obj) {
+ set("restriction",obj);
+ return (M)this;
}
- public <X extends OfferObjectGenerator<T>>X validFrom(DateTime obj) {
- item.setValidFrom(obj);
- return (X)this;
+ public M validFrom(DateTime obj) {
+ set("validFrom",obj);
+ return (M)this;
}
- public <X extends OfferObjectGenerator<T>>X validUntil(DateTime obj) {
- item.setValidUntil(obj);
- return (X)this;
+ public M validUntil(DateTime obj) {
+ set("validUntil",obj);
+ return (M)this;
}
}
}
Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/OrganizationObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/OrganizationObject.java?rev=1200583&r1=1200582&r2=1200583&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/OrganizationObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/OrganizationObject.java Thu Nov 10 21:48:45 2011
@@ -1,6 +1,7 @@
package org.apache.abdera2.activities.model.objects;
import java.util.Date;
+import java.util.Map;
import org.apache.abdera2.activities.io.gson.Properties;
import org.apache.abdera2.activities.io.gson.Property;
@@ -9,185 +10,152 @@ import org.apache.abdera2.common.anno.Na
import org.apache.abdera2.common.iri.IRI;
import org.joda.time.DateTime;
-@Name("organization")
-@Properties({
- @Property(name="webpage",to=IRI.class),
- @Property(name="endDate",to=Date.class),
- @Property(name="startDate",to=Date.class)
-})
public class OrganizationObject extends ASObject {
- private static final long serialVersionUID = -6983890349791967283L;
-
- public OrganizationObject() {}
+ public OrganizationObject(Map<String,Object> map) {
+ super(map,OrganizationBuilder.class,OrganizationObject.class);
+ }
- public OrganizationObject(String displayName) {
- super(displayName);
+ public <X extends OrganizationObject, M extends Builder<X,M>>OrganizationObject(Map<String,Object> map,Class<M>_class,Class<X>_obj) {
+ super(map,_class,_obj);
}
public Address getAddress() {
return getProperty("address");
}
- public void setAddress(Address address) {
- setProperty("address", address);
- }
-
public String getDepartment() {
return getProperty("department");
}
- public void setDepartment(String dept) {
- setProperty("department", dept);
- }
-
public String getDescription() {
return getProperty("description");
}
- public void setDescription(String description) {
- setProperty("description", description);
- }
-
public DateTime getEndDate() {
return getProperty("endDate");
}
- public void setEndDate(DateTime date) {
- setProperty("endDate", date);
- }
-
public String getField() {
return getProperty("field");
}
- public void setField(String field) {
- setProperty("field", field);
- }
-
public String getName() {
return getProperty("name");
}
- public void setName(String name) {
- setProperty("name", name);
- }
-
public String getSalary() {
return getProperty("salary");
}
- public void setSalary(String salary) {
- setProperty("salary", salary);
- }
-
public DateTime getStartDate() {
return getProperty("startDate");
}
- public void setStartDate(DateTime date) {
- setProperty("startDate", date);
- }
-
public String getSubfield() {
return getProperty("subfield");
}
- public void setSubfield(String val) {
- setProperty("subfield", val);
- }
-
public String getTitle() {
return getProperty("title");
}
- public void setTitle(String title) {
- setProperty("title", title);
- }
-
public String getType() {
return getProperty("type");
}
- public void setType(String type) {
- setProperty("type", type);
- }
-
public IRI getWebpage() {
return getProperty("webpage");
}
- public void setWebpage(IRI val) {
- setProperty("webpage", val);
+ public static OrganizationBuilder makeOrganization() {
+ return new OrganizationBuilder("organization");
}
- public void setWebpage(String val) {
- setWebpage(new IRI(val));
- }
-
- public static <T extends OrganizationObject>OrganizationObjectGenerator<T> makeOrganization() {
- return new OrganizationObjectGenerator<T>();
+ @Name("organization")
+ @Properties({
+ @Property(name="webpage",to=IRI.class),
+ @Property(name="endDate",to=Date.class),
+ @Property(name="startDate",to=Date.class)
+ })
+ public static final class OrganizationBuilder extends Builder<OrganizationObject,OrganizationBuilder> {
+
+ public OrganizationBuilder() {
+ super(OrganizationObject.class,OrganizationBuilder.class);
+ }
+
+ public OrganizationBuilder(Map<String, Object> map) {
+ super(map, OrganizationObject.class,OrganizationBuilder.class);
+ }
+
+ public OrganizationBuilder(String objectType) {
+ super(objectType, OrganizationObject.class,OrganizationBuilder.class);
+ }
+
}
@SuppressWarnings("unchecked")
- public static class OrganizationObjectGenerator<T extends OrganizationObject> extends ASObjectGenerator<T> {
- public OrganizationObjectGenerator() {
- super((Class<? extends T>) OrganizationObject.class);
- }
- public OrganizationObjectGenerator(Class<T> _class) {
- super(_class);
- }
- public <X extends OrganizationObjectGenerator<T>>X address(Address address) {
- item.setAddress(address);
- return (X)this;
- }
- public <X extends OrganizationObjectGenerator<T>>X department(String val) {
- item.setDepartment(val);
- return (X)this;
- }
- public <X extends OrganizationObjectGenerator<T>>X description(String val) {
- item.setDescription(val);
- return (X)this;
- }
- public <X extends OrganizationObjectGenerator<T>>X endDate(DateTime dt) {
- item.setEndDate(dt);
- return (X)this;
- }
- public <X extends OrganizationObjectGenerator<T>>X field(String field) {
- item.setField(field);
- return (X)this;
- }
- public <X extends OrganizationObjectGenerator<T>>X name(String name) {
- item.setName(name);
- return (X)this;
- }
- public <X extends OrganizationObjectGenerator<T>>X salary(String salary) {
- item.setSalary(salary);
- return (X)this;
- }
- public <X extends OrganizationObjectGenerator<T>>X startDate(DateTime dt) {
- item.setStartDate(dt);
- return (X)this;
- }
- public <X extends OrganizationObjectGenerator<T>>X subfield(String val) {
- item.setSubfield(val);
- return (X)this;
- }
- public <X extends OrganizationObjectGenerator<T>>X title(String val) {
- item.setTitle(val);
- return (X)this;
- }
- public <X extends OrganizationObjectGenerator<T>>X type(String val) {
- item.setType(val);
- return (X)this;
- }
- public <X extends OrganizationObjectGenerator<T>>X webpage(String uri) {
- item.setWebpage(uri);
- return (X)this;
- }
- public <X extends OrganizationObjectGenerator<T>>X webpage(IRI uri) {
- item.setWebpage(uri);
- return (X)this;
+ public static abstract class Builder<X extends OrganizationObject, M extends Builder<X,M>>
+ extends ASObject.Builder<X,M> {
+ public Builder(Class<X>_class,Class<M>_builder) {
+ super(_class,_builder);
+ }
+ public Builder(String objectType,Class<X>_class,Class<M>_builder) {
+ super(objectType,_class,_builder);
+ }
+ public Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
+ super(map,_class,_builder);
+ }
+ public M address(Address address) {
+ set("address",address);
+ return (M)this;
+ }
+ public M department(String val) {
+ set("department",val);
+ return (M)this;
+ }
+ public M description(String val) {
+ set("description",val);
+ return (M)this;
+ }
+ public M endDate(DateTime dt) {
+ set("endDate",dt);
+ return (M)this;
+ }
+ public M field(String field) {
+ set("field",field);
+ return (M)this;
+ }
+ public M name(String name) {
+ set("name",name);
+ return (M)this;
+ }
+ public M salary(String salary) {
+ set("salary",salary);
+ return (M)this;
+ }
+ public M startDate(DateTime dt) {
+ set("startDate",dt);
+ return (M)this;
+ }
+ public M subfield(String val) {
+ set("subfield",val);
+ return (M)this;
+ }
+ public M title(String val) {
+ set("title",val);
+ return (M)this;
+ }
+ public M type(String val) {
+ set("type",val);
+ return (M)this;
+ }
+ public M webpage(String uri) {
+ return webpage(new IRI(uri));
+ }
+ public M webpage(IRI uri) {
+ set("webpage",uri);
+ return (M)this;
}
}
}
Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/PersonObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/PersonObject.java?rev=1200583&r1=1200582&r2=1200583&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/PersonObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/PersonObject.java Thu Nov 10 21:48:45 2011
@@ -17,8 +17,7 @@
*/
package org.apache.abdera2.activities.model.objects;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.Map;
import org.apache.abdera2.activities.io.gson.Properties;
import org.apache.abdera2.activities.io.gson.Property;
@@ -26,361 +25,364 @@ import org.apache.abdera2.activities.mod
import org.apache.abdera2.common.anno.Name;
import org.apache.abdera2.common.iri.IRI;
-@Name("person")
-@Properties({
- @Property(name="profileUrl",to=IRI.class),
- @Property(name="thumbnailUrl",to=IRI.class),
- @Property(name="urls",to=IRI.class),
- @Property(name="name",to=NameObject.class),
- @Property(name="preferredName",to=NameObject.class),
- @Property(name="nativeName",to=NameObject.class),
- @Property(name="alternateNames",to=NameObject.class),
- @Property(name="accounts",to=AccountObject.class),
- @Property(name="addresses",to=Address.class),
- @Property(name="organizations",to=OrganizationObject.class)
-})
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Iterables;
+
public class PersonObject
extends ASObject {
-
- private static final long serialVersionUID = 5240611684336430061L;
- public PersonObject() { }
+ public PersonObject(Map<String,Object> map) {
+ super(map,PersonBuilder.class,PersonObject.class);
+ }
- public PersonObject(String displayName) {
- setDisplayName(displayName);
+ public <X extends PersonObject, M extends Builder<X,M>>PersonObject(Map<String,Object> map, Class<M> _class,Class<X>_obj) {
+ super(map,_class,_obj);
}
-
+
public String getAboutMe() {
return getProperty("aboutMe");
}
- public void setAboutMe(String val) {
- setProperty("aboutMe", val);
- }
-
public String getContactPreference() {
return getProperty("contactPreference");
}
- public void setContactPreference(String val) {
- setProperty("contactPreference", val);
- }
-
public String getDn() {
return getProperty("dn");
}
- public void setDn(String val) {
- setProperty("dn", val);
- }
-
public String getPreferredUsername() {
return getProperty("preferredUsername");
}
- public void setPreferredUsername(String val) {
- setProperty("preferredUsername", val);
- }
-
public IRI getProfileUrl() {
return getProperty("profileUrl");
}
- public void setProfileUrl(IRI iri) {
- setProperty("profileUrl", iri);
- }
-
- public void setProfileUrl(String iri) {
- setProfileUrl(new IRI(iri));
- }
-
public String getStatus() {
return getProperty("status");
}
- public void setStatus(String status) {
- setProperty("status", status);
- }
-
public IRI getThumbnailUrl() {
return getProperty("thumbnailUrl");
}
- public void setThumbnailUrl(IRI iri) {
- setProperty("thumbnailUrl", iri);
- }
-
- public void setThumbnailUrl(String iri) {
- setThumbnailUrl(new IRI(iri));
- }
-
public String getUtcOffset() {
return getProperty("utcOffset");
}
- public void setUtcOffset(String val) {
- setProperty("utfOffset",val);
- }
-
public NameObject getName() {
return getProperty("name");
}
- public void setName(NameObject name) {
- setProperty("name", name);
- }
-
public NameObject getNativeName() {
return getProperty("nativeName");
}
- public void setNativeName(NameObject name) {
- setProperty("nativeName", name);
- }
-
public NameObject getPreferredName() {
return getProperty("preferredName");
}
- public void setPreferredName(NameObject name) {
- setProperty("preferredName", name);
- }
-
public Iterable<NameObject> getAlternateNames() {
- return getProperty("alternateNames");
- }
-
- public void setAlternateNames(Set<NameObject> set) {
- setProperty("alternateNames", set);
- }
-
- public void addAlternateName(NameObject name) {
- Set<NameObject> list = getProperty("alternateNames");
- if (list == null) {
- list = new HashSet<NameObject>();
- setProperty("alternateNames",list);
- }
- list.add(name);
+ return checkEmpty(this.<Iterable<NameObject>>getProperty("alternateNames"));
}
public Iterable<String> getEmails() {
- return getProperty("emails");
- }
-
- public void setEmails(Set<String> set) {
- setProperty("emails", set);
- }
-
- public void addEmail(String email) {
- Set<String> list = getProperty("email");
- if (list == null) {
- list = new HashSet<String>();
- setProperty("emails",list);
- }
- list.add(email);
+ return checkEmpty(this.<Iterable<String>>getProperty("emails"));
}
public Iterable<String> getIms() {
- return getProperty("ims");
- }
-
- public void setIms(Set<String> set) {
- setProperty("ims", set);
- }
-
- public void addIm(String im) {
- Set<String> list = getProperty("ims");
- if (list == null) {
- list = new HashSet<String>();
- setProperty("ims",list);
- }
- list.add(im);
+ return checkEmpty(this.<Iterable<String>>getProperty("ims"));
}
public Iterable<String> getPhoneNumbers() {
- return getProperty("phoneNumbers");
- }
-
- public void setPhoneNumbers(Set<String> set) {
- setProperty("phoneNumbers", set);
- }
-
- public void addPhoneNumber(String phoneNumber) {
- Set<String> list = getProperty("phoneNumbers");
- if (list == null) {
- list = new HashSet<String>();
- setProperty("phoneNumbers",list);
- }
- list.add(phoneNumber);
+ return checkEmpty(this.<Iterable<String>>getProperty("phoneNumbers"));
}
public Iterable<IRI> getUrls() {
- return getProperty("urls");
- }
-
- public void setUrls(Set<IRI> set) {
- setProperty("urls", set);
- }
-
- public void addUrl(IRI url) {
- Set<IRI> list = getProperty("urls");
- if (list == null) {
- list = new HashSet<IRI>();
- setProperty("urls",list);
- }
- list.add(url);
- }
-
- public void addUrl(String url) {
- addUrl(new IRI(url));
+ return checkEmpty(this.<Iterable<IRI>>getProperty("urls"));
}
public Iterable<Address> getAddresses() {
- return getProperty("addresses");
- }
-
- public void setAddresses(Set<Address> set) {
- setProperty("addresses", set);
- }
-
- public void addAddress(Address address) {
- Set<Address> list = getProperty("addresses");
- if (list == null) {
- list = new HashSet<Address>();
- setProperty("addresses",list);
- }
- list.add(address);
+ return checkEmpty(this.<Iterable<Address>>getProperty("addresses"));
}
public Iterable<AccountObject> getAccounts() {
- return getProperty("accounts");
- }
-
- public void setAccounts(Set<AccountObject> set) {
- setProperty("accounts", set);
- }
-
- public void addAccount(AccountObject service) {
- Set<ServiceObject> list = getProperty("accounts");
- if (list == null) {
- list = new HashSet<ServiceObject>();
- setProperty("accounts",list);
- }
- list.add(service);
+ return checkEmpty(this.<Iterable<AccountObject>>getProperty("accounts"));
}
public Iterable<OrganizationObject> getOrganizations() {
- return getProperty("organizations");
+ return checkEmpty(this.<Iterable<OrganizationObject>>getProperty("organizations"));
}
- public void setOrganizations(Set<OrganizationObject> set) {
- setProperty("organizations", set);
+ public static PersonBuilder makePerson() {
+ return new PersonBuilder("person");
}
- public void addOrganization(OrganizationObject org) {
- Set<OrganizationObject> list = getProperty("organizations");
- if (list == null) {
- list = new HashSet<OrganizationObject>();
- setProperty("organizations",list);
+ public static PersonBuilder makePerson(String displayName) {
+ return makePerson().displayName(displayName);
+ }
+
+ @Name("person")
+ @Properties({
+ @Property(name="profileUrl",to=IRI.class),
+ @Property(name="thumbnailUrl",to=IRI.class),
+ @Property(name="urls",to=IRI.class),
+ @Property(name="name",to=NameObject.class),
+ @Property(name="preferredName",to=NameObject.class),
+ @Property(name="nativeName",to=NameObject.class),
+ @Property(name="alternateNames",to=NameObject.class),
+ @Property(name="accounts",to=AccountObject.class),
+ @Property(name="addresses",to=Address.class),
+ @Property(name="organizations",to=OrganizationObject.class)
+ })
+ public static final class PersonBuilder extends Builder<PersonObject,PersonBuilder> {
+
+ public PersonBuilder() {
+ super(PersonObject.class, PersonBuilder.class);
}
- list.add(org);
- }
-
- public static <T extends PersonObject>PersonObjectGenerator<T> makePerson() {
- return new PersonObjectGenerator<T>();
+
+ public PersonBuilder(Map<String, Object> map) {
+ super(map, PersonObject.class, PersonBuilder.class);
+ }
+
+ public PersonBuilder(String objectType) {
+ super(objectType, PersonObject.class, PersonBuilder.class);
+ }
+
}
@SuppressWarnings("unchecked")
- public static class PersonObjectGenerator<T extends PersonObject> extends ASObjectGenerator<T> {
- public PersonObjectGenerator() {
- super((Class<T>)PersonObject.class);
- }
- public PersonObjectGenerator(Class<? extends T> _class) {
- super(_class);
- }
- public <X extends PersonObjectGenerator<T>>X account(AccountObject object) {
- item.addAccount(object);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X address(Address object) {
- item.addAddress(object);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X alternateName(NameObject name) {
- item.addAlternateName(name);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X email(String email) {
- item.addEmail(email);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X im(String im) {
- item.addIm(im);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X organization(OrganizationObject object) {
- item.addOrganization(object);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X phoneNumber(String pn) {
- item.addPhoneNumber(pn);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X urls(String url) {
- item.addUrl(url);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X urls(IRI url) {
- item.addUrl(url);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X aboutMe(String val) {
- item.setAboutMe(val);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X contactPreference(String val) {
- item.setContactPreference(val);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X dn(String val) {
- item.setDn(val);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X name(NameObject val) {
- item.setName(val);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X nativeName(NameObject val) {
- item.setNativeName(val);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X preferredName(NameObject val) {
- item.setPreferredName(val);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X profileUrl(String val) {
- item.setProfileUrl(val);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X profileUrl(IRI val) {
- item.setProfileUrl(val);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X status(String val) {
- item.setStatus(val);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X thumbnailUrl(String val) {
- item.setThumbnailUrl(val);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X thumbnailUrl(IRI val) {
- item.setThumbnailUrl(val);
- return (X)this;
- }
- public <X extends PersonObjectGenerator<T>>X utcOffset(String val) {
- item.setUtcOffset(val);
- return (X)this;
+ public static class Builder<X extends PersonObject, M extends Builder<X,M>>
+ extends ASObject.Builder<X,M> {
+ private final ImmutableSet.Builder<AccountObject> accounts = ImmutableSet.builder();
+ private final ImmutableSet.Builder<Address> addresses = ImmutableSet.builder();
+ private final ImmutableSet.Builder<NameObject> altnames = ImmutableSet.builder();
+ private final ImmutableSet.Builder<String> emails = ImmutableSet.builder();
+ private final ImmutableSet.Builder<String> ims = ImmutableSet.builder();
+ private final ImmutableSet.Builder<OrganizationObject> orgs = ImmutableSet.builder();
+ private final ImmutableSet.Builder<String> phones = ImmutableSet.builder();
+ private final ImmutableSet.Builder<IRI> urls = ImmutableSet.builder();
+ boolean a,b,c,d,e,f,g,h;
+ public Builder(Class<X>_class,Class<M>_builder) {
+ super(_class,_builder);
+ }
+ public Builder(String objectType,Class<X>_class,Class<M>_builder) {
+ super(objectType,_class,_builder);
+ }
+ public Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
+ super(map,_class,_builder);
+ }
+ public M account(AccountObject object) {
+ if (object == null) return (M)this;
+ a = true;
+ accounts.add(object);
+ return (M)this;
+ }
+ public M account(AccountObject... objects) {
+ if (objects.length == 0) return (M)this;
+ for (AccountObject object : objects)
+ account(object);
+ return (M)this;
+ }
+ public M account(Iterable<AccountObject> objects) {
+ if (Iterables.isEmpty(objects)) return (M)this;
+ for (AccountObject object : objects)
+ account(object);
+ return (M)this;
+ }
+ public M address(Address object) {
+ if (object == null) return (M)this;
+ b = true;
+ addresses.add(object);
+ return (M)this;
+ }
+ public M address(Address... objects) {
+ if (objects.length == 0) return (M)this;
+ for (Address object : objects)
+ address(object);
+ return (M)this;
+ }
+ public M address(Iterable<Address> objects) {
+ if (Iterables.isEmpty(objects)) return (M)this;
+ for (Address object : objects)
+ address(object);
+ return (M)this;
+ }
+ public M alternateName(NameObject name) {
+ if (name == null) return (M)this;
+ c = true;
+ altnames.add(name);
+ return (M)this;
+ }
+ public M alternateName(NameObject... objects) {
+ if (objects.length == 0) return (M)this;
+ for (NameObject object : objects)
+ alternateName(object);
+ return (M)this;
+ }
+ public M alternateName(Iterable<NameObject> objects) {
+ if (Iterables.isEmpty(objects)) return (M)this;
+ for (NameObject object : objects)
+ alternateName(object);
+ return (M)this;
+ }
+ public M email(String email) {
+ if (email == null) return (M)this;
+ d = true;
+ emails.add(email);
+ return (M)this;
+ }
+ public M email(String... objects) {
+ if (objects.length == 0) return (M)this;
+ for (String object : objects)
+ email(object);
+ return (M)this;
+ }
+ public M email(Iterable<String> objects) {
+ if (Iterables.isEmpty(objects)) return (M)this;
+ for (String object : objects)
+ email(object);
+ return (M)this;
+ }
+ public M im(String im) {
+ if (im == null) return (M)this;
+ e = true;
+ ims.add(im);
+ return (M)this;
+ }
+ public M im(String... objects) {
+ if (objects.length == 0) return (M)this;
+ for (String object : objects)
+ im(object);
+ return (M)this;
+ }
+ public M im(Iterable<String> objects) {
+ if (Iterables.isEmpty(objects)) return (M)this;
+ for (String object : objects)
+ im(object);
+ return (M)this;
+ }
+ public M organization(OrganizationObject object) {
+ if (object == null) return (M)this;
+ f = true;
+ orgs.add(object);
+ return (M)this;
+ }
+ public M organization(OrganizationObject... objects) {
+ if (objects.length == 0) return (M)this;
+ for (OrganizationObject object : objects)
+ organization(object);
+ return (M)this;
+ }
+ public M organization(Iterable<OrganizationObject> objects) {
+ if (Iterables.isEmpty(objects)) return (M)this;
+ for (OrganizationObject object : objects)
+ organization(object);
+ return (M)this;
+ }
+ public M phoneNumber(String pn) {
+ if (pn == null) return (M)this;
+ g = true;
+ phones.add(pn);
+ return (M)this;
+ }
+ public M phoneNumber(String... objects) {
+ if (objects.length == 0) return (M)this;
+ for (String object : objects)
+ phoneNumber(object);
+ return (M)this;
+ }
+ public M phoneNumber(Iterable<String> objects) {
+ if (Iterables.isEmpty(objects)) return (M)this;
+ for (String object : objects)
+ phoneNumber(object);
+ return (M)this;
+ }
+ public M urls(String url) {
+ if (url == null) return (M)this;
+ return urls(new IRI(url));
+ }
+ public M urls(String... objects) {
+ if (objects.length == 0) return (M)this;
+ for (String object : objects)
+ urls(object);
+ return (M)this;
+ }
+ public M urls(Iterable<Object> objects) {
+ if (Iterables.isEmpty(objects)) return (M)this;
+ for (Object object : objects)
+ urls(object.toString());
+ return (M)this;
+ }
+ public M urls(IRI url) {
+ if (url == null) return (M)this;
+ h = true;
+ urls.add(url);
+ return (M)this;
+ }
+ public M urls(IRI... objects) {
+ if (objects.length == 0) return (M)this;
+ for (IRI object : objects)
+ urls(object);
+ return (M)this;
+ }
+ public M aboutMe(String val) {
+ set("aboutMe",val);
+ return (M)this;
+ }
+ public M contactPreference(String val) {
+ set("contactPreference",val);
+ return (M)this;
+ }
+ public M dn(String val) {
+ set("dn",val);
+ return (M)this;
+ }
+ public M name(NameObject val) {
+ set("name",val);
+ return (M)this;
+ }
+ public M nativeName(NameObject val) {
+ set("nativeName",val);
+ return (M)this;
+ }
+ public M preferredName(NameObject val) {
+ set("preferredName",val);
+ return (M)this;
+ }
+ public M profileUrl(String val) {
+ return profileUrl(new IRI(val));
+ }
+ public M profileUrl(IRI val) {
+ set("profileUrl",val);
+ return (M)this;
+ }
+ public M status(String val) {
+ set("status",val);
+ return (M)this;
+ }
+ public M thumbnailUrl(String val) {
+ return thumbnailUrl(new IRI(val));
+ }
+ public M thumbnailUrl(IRI val) {
+ set("thumbnailUrl",val);
+ return (M)this;
+ }
+ public M utcOffset(String val) {
+ set("utcOffset",val);
+ return (M)this;
+ }
+ public void preGet() {
+ if (a) set("accounts",accounts.build());
+ if (b) set("addresses",addresses.build());
+ if (c) set("alternateNames",altnames.build());
+ if (d) set("emails",emails.build());
+ if (e) set("ims",ims.build());
+ if (f) set("organizations",orgs.build());
+ if (g) set("phoneNumbers",phones.build());
+ if (h) set("urls",urls.build());
}
+
}
}
Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/PlaceObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/PlaceObject.java?rev=1200583&r1=1200582&r2=1200583&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/PlaceObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/PlaceObject.java Thu Nov 10 21:48:45 2011
@@ -17,58 +17,108 @@
*/
package org.apache.abdera2.activities.model.objects;
+import java.util.Map;
+
import org.apache.abdera2.activities.model.ASObject;
import org.apache.abdera2.common.anno.Name;
+import org.apache.abdera2.common.geo.Coordinate;
+import org.apache.abdera2.common.geo.IsoPosition;
+import org.apache.abdera2.common.geo.Point;
-@Name("place")
public class PlaceObject
extends ASObject {
-
- private static final long serialVersionUID = -8556845441567764050L;
- public static final String POSITION = "position";
public static final String ADDRESS = "address";
+ public static final String POSITION = "position";
- public PlaceObject() {}
-
- public PlaceObject(String displayName) {
- setDisplayName(displayName);
+ public PlaceObject(Map<String,Object> map) {
+ super(map,PlaceBuilder.class,PlaceObject.class);
}
- public String getPosition() {
- return getProperty(POSITION);
+ public <X extends PlaceObject, M extends Builder<X,M>>PlaceObject(Map<String,Object> map, Class<M> _class,Class<X>_obj) {
+ super(map,_class,_obj);
}
- public void setPosition(String position) {
- setProperty(POSITION, position);
+ public IsoPosition getPosition() {
+ return getProperty(POSITION);
}
public Address getAddress() {
return getProperty(ADDRESS);
}
- public void setAddress(Address address) {
- setProperty(ADDRESS, address);
+ public static PlaceBuilder makePlace() {
+ return new PlaceBuilder("place");
+ }
+
+ public static PlaceObject makePlace(String displayName) {
+ return makePlace().displayName(displayName).get();
+ }
+
+ public static PlaceObject makePlace(String displayName, double latitude, double longitude) {
+ return makePlace().displayName(displayName).position(latitude,longitude).get();
+ }
+
+ public static PlaceObject makePlace(String displayName, Coordinate coord) {
+ return makePlace().displayName(displayName).position(coord).get();
+ }
+
+ public static PlaceObject makePlace(String displayName, Point point) {
+ return makePlace().displayName(displayName).position(point).get();
+ }
+
+ public static PlaceObject makePlace(String displayName, IsoPosition position) {
+ return makePlace().displayName(displayName).position(position).get();
+ }
+
+ public static PlaceObject makePlace(String displayName, Address address) {
+ return makePlace().displayName(displayName).address(address).get();
}
+
+ @Name("place")
+ public static final class PlaceBuilder extends Builder<PlaceObject,PlaceBuilder> {
+
+ public PlaceBuilder() {
+ super(PlaceObject.class,PlaceBuilder.class);
+ }
+
+ public PlaceBuilder(Map<String, Object> map) {
+ super(map, PlaceObject.class,PlaceBuilder.class);
+ }
- public static <T extends PlaceObject>PlaceObjectGenerator<T> makePlace() {
- return new PlaceObjectGenerator<T>();
+ public PlaceBuilder(String objectType) {
+ super(objectType, PlaceObject.class,PlaceBuilder.class);
+ }
+
}
@SuppressWarnings("unchecked")
- public static class PlaceObjectGenerator<T extends PlaceObject> extends ASObjectGenerator<T> {
- public PlaceObjectGenerator() {
- super((Class<? extends T>) PlaceObject.class);
- }
- public PlaceObjectGenerator(Class<T> _class) {
- super(_class);
- }
- public <X extends PlaceObjectGenerator<T>>X position(String position) {
- item.setPosition(position);
- return (X)this;
- }
- public <X extends PlaceObjectGenerator<T>>X address(Address address) {
- item.setAddress(address);
- return (X)this;
+ public static abstract class Builder<X extends PlaceObject, M extends Builder<X,M>>
+ extends ASObject.Builder<X,M> {
+ public Builder(Class<X>_class,Class<M>_builder) {
+ super(_class,_builder);
+ }
+ public Builder(String objectType,Class<X>_class,Class<M>_builder) {
+ super(objectType,_class,_builder);
+ }
+ public Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
+ super(map,_class,_builder);
+ }
+ public M position(IsoPosition position) {
+ set(POSITION,position);
+ return (M)this;
+ }
+ public M position(double latitude, double longitude) {
+ return position(IsoPosition.at(latitude, longitude));
+ }
+ public M position(Coordinate coord) {
+ return position(IsoPosition.at(coord));
+ }
+ public M position(Point point) {
+ return position(IsoPosition.at(point));
+ }
+ public M address(Address address) {
+ set(ADDRESS,address);
+ return (M)this;
}
}
}
Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ProductObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ProductObject.java?rev=1200583&r1=1200582&r2=1200583&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ProductObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ProductObject.java Thu Nov 10 21:48:45 2011
@@ -17,46 +17,64 @@
*/
package org.apache.abdera2.activities.model.objects;
+import java.util.Map;
+
import org.apache.abdera2.activities.model.ASObject;
import org.apache.abdera2.activities.model.MediaLink;
import org.apache.abdera2.common.anno.Name;
-@Name("product")
public class ProductObject
extends ASObject {
-
- private static final long serialVersionUID = 8485599939786580223L;
public static final String FULLIMAGE = "fullImage";
- public ProductObject() {}
+ public ProductObject(Map<String,Object> map) {
+ super(map,ProductBuilder.class,ProductObject.class);
+ }
- public ProductObject(String displayName) {
- setDisplayName(displayName);
+ public <X extends ProductObject, M extends Builder<X,M>>ProductObject(Map<String,Object> map, Class<M> _class, Class<X>_obj) {
+ super(map,_class,_obj);
}
public MediaLink getFullImage() {
return getProperty(FULLIMAGE);
}
-
- public void setFullImage(MediaLink fullImage) {
- setProperty(FULLIMAGE, fullImage);
+
+ public static ProductBuilder makeProduct() {
+ return new ProductBuilder("product");
}
+
+ @Name("product")
+ public static final class ProductBuilder extends Builder<ProductObject,ProductBuilder> {
+
+ public ProductBuilder() {
+ super(ProductObject.class,ProductBuilder.class);
+ }
+
+ public ProductBuilder(Map<String, Object> map) {
+ super(map, ProductObject.class,ProductBuilder.class);
+ }
- public static <T extends ProductObject>ProductObjectGenerator<T> makeProduct() {
- return new ProductObjectGenerator<T>();
+ public ProductBuilder(String objectType) {
+ super(objectType, ProductObject.class,ProductBuilder.class);
+ }
+
}
@SuppressWarnings("unchecked")
- public static class ProductObjectGenerator<T extends ProductObject> extends ASObjectGenerator<T> {
- public ProductObjectGenerator() {
- super((Class<? extends T>) ProductObject.class);
- }
- public ProductObjectGenerator(Class<T> _class) {
- super(_class);
- }
- public <X extends ProductObjectGenerator<T>>X fullImage(MediaLink fullImage) {
- item.setFullImage(fullImage);
- return (X)this;
+ public static abstract class Builder<X extends ProductObject, M extends Builder<X,M>>
+ extends ASObject.Builder<X,M> {
+ public Builder(Class<X>_class,Class<M>_builder) {
+ super(_class,_builder);
+ }
+ public Builder(String objectType,Class<X>_class,Class<M>_builder) {
+ super(objectType,_class,_builder);
+ }
+ public Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
+ super(map,_class,_builder);
+ }
+ public M fullImage(MediaLink fullImage) {
+ set(FULLIMAGE,fullImage);
+ return (M)this;
}
}
}
Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/QuestionObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/QuestionObject.java?rev=1200583&r1=1200582&r2=1200583&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/QuestionObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/QuestionObject.java Thu Nov 10 21:48:45 2011
@@ -17,59 +17,113 @@
*/
package org.apache.abdera2.activities.model.objects;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.Map;
import org.apache.abdera2.activities.model.ASObject;
import org.apache.abdera2.common.anno.Name;
-@Name("question")
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Iterables;
+
public class QuestionObject
extends ASObject {
- private static final long serialVersionUID = -691354277218118929L;
public static final String OPTIONS = "options";
- public QuestionObject() {}
-
- public QuestionObject(String displayName) {
- setDisplayName(displayName);
+ public QuestionObject(Map<String,Object> map) {
+ super(map,QuestionBuilder.class,QuestionObject.class);
+ }
+
+ public <X extends QuestionObject, M extends Builder<X,M>>QuestionObject(Map<String,Object> map, Class<M> _class,Class<X>_obj) {
+ super(map,_class,_obj);
}
public Iterable<ASObject> getOptions() {
return getProperty(OPTIONS);
}
- public void setOptions(Set<ASObject> options) {
- setProperty(OPTIONS, options);
-
+ public static QuestionBuilder makeQuestion() {
+ return new QuestionBuilder("question");
}
- public void addOption(ASObject option) {
- Set<ASObject> list = getProperty(OPTIONS);
- if (list == null) {
- list = new HashSet<ASObject>();
- setProperty(OPTIONS, list);
- }
- list.add(option);
+ public static QuestionObject makeQuestion(
+ String displayName,
+ String summary,
+ ASObject author,
+ ASObject... options) {
+ return makeQuestion()
+ .displayName(displayName)
+ .summary(summary)
+ .author(author)
+ .option(options).get();
}
- public static <T extends QuestionObject>QuestionObjectGenerator<T> makeQuestion() {
- return new QuestionObjectGenerator<T>();
+ public static QuestionObject makeQuestion(
+ String displayName,
+ String summary,
+ ASObject author,
+ Iterable<ASObject> options) {
+ return makeQuestion()
+ .displayName(displayName)
+ .summary(summary)
+ .author(author)
+ .option(options).get();
}
+ @Name("question")
+ public static final class QuestionBuilder extends Builder<QuestionObject,QuestionBuilder> {
+
+ public QuestionBuilder() {
+ super(QuestionObject.class,QuestionBuilder.class);
+ }
+
+ public QuestionBuilder(Map<String, Object> map) {
+ super(map,QuestionObject.class,QuestionBuilder.class);
+ }
+
+ public QuestionBuilder(String objectType) {
+ super(objectType,QuestionObject.class,QuestionBuilder.class);
+ }
+
+ }
+
@SuppressWarnings("unchecked")
- public static class QuestionObjectGenerator<T extends QuestionObject>
- extends ASObjectGenerator<T> {
- public QuestionObjectGenerator() {
- super((Class<? extends T>) QuestionObject.class);
- }
- public QuestionObjectGenerator(Class<T> _class) {
- super(_class);
- }
- public <X extends QuestionObjectGenerator<T>>X option(ASObject object) {
- item.addOption(object);
- return (X)this;
+ public static abstract class Builder <X extends QuestionObject, M extends Builder<X,M>>
+ extends ASObject.Builder<X,M> {
+
+ private ImmutableSet.Builder<ASObject> options =
+ ImmutableSet.builder();
+ boolean a;
+
+ protected Builder(Class<X>_class,Class<M>_builder) {
+ super(_class,_builder);
+ }
+ protected Builder(String objectType,Class<X>_class,Class<M>_builder) {
+ super(objectType,_class,_builder);
+ }
+ protected Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
+ super(map,_class,_builder);
+ }
+ public M option(Iterable<ASObject> options) {
+ if (Iterables.isEmpty(options)) return (M)this;
+ for (ASObject option : options)
+ option(option);
+ return (M)this;
+ }
+ public M option(ASObject... options) {
+ if (options.length == 0) return (M)this;
+ for (ASObject option : options)
+ option(option);
+ return (M)this;
+ }
+ public M option(ASObject object) {
+ if (object == null) return (M)this;
+ a = true;
+ options.add(object);
+ return (M)this;
+ }
+ public void preGet() {
+ if (a) set(OPTIONS, options.build());
}
}
}
Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ReviewObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ReviewObject.java?rev=1200583&r1=1200582&r2=1200583&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ReviewObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ReviewObject.java Thu Nov 10 21:48:45 2011
@@ -17,32 +17,40 @@
*/
package org.apache.abdera2.activities.model.objects;
+import java.util.Map;
+
import org.apache.abdera2.activities.model.ASObject;
import org.apache.abdera2.common.anno.Name;
-@Name("review")
public class ReviewObject
extends ASObject {
- private static final long serialVersionUID = -6860912447124744192L;
-
- public ReviewObject() {}
- public ReviewObject(String displayName) {
- setDisplayName(displayName);
+ public static <T extends ReviewObject>Builder makeReview() {
+ return new Builder("review");
+ }
+ @Name("review")
+ public static final class Builder
+ extends ASObject.Builder<ReviewObject,Builder> {
+ public Builder(String objectType) {
+ super(objectType,ReviewObject.class,Builder.class);
+ }
+ public Builder() {
+ super(ReviewObject.class,Builder.class);
+ }
+ public Builder(Map<String,Object> map) {
+ super(map,ReviewObject.class,Builder.class);
+ }
+ public Builder template() {
+ return new Builder(map.build());
+ }
}
- public static <T extends ReviewObject>ReviewObjectGenerator<T> makeReview() {
- return new ReviewObjectGenerator<T>();
+ public ReviewObject(Map<String,Object> map) {
+ super(map,Builder.class,ReviewObject.class);
}
- public static class ReviewObjectGenerator<T extends ReviewObject> extends ASObjectGenerator<T> {
- @SuppressWarnings("unchecked")
- public ReviewObjectGenerator() {
- super((Class<? extends T>) ReviewObject.class);
- }
- public ReviewObjectGenerator(Class<? extends T> _class) {
- super(_class);
- }
+ public <X extends ReviewObject, M extends ASObject.Builder<X,M>>ReviewObject(Map<String,Object> map,Class<M> _class,Class<X>_obj) {
+ super(map,_class,_obj);
}
}
Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ServiceObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ServiceObject.java?rev=1200583&r1=1200582&r2=1200583&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ServiceObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ServiceObject.java Thu Nov 10 21:48:45 2011
@@ -17,32 +17,40 @@
*/
package org.apache.abdera2.activities.model.objects;
+import java.util.Map;
+
import org.apache.abdera2.activities.model.ASObject;
import org.apache.abdera2.common.anno.Name;
-@Name("service")
+
public class ServiceObject
extends ASObject {
- private static final long serialVersionUID = -2801393062155634922L;
-
- public ServiceObject() {}
- public ServiceObject(String displayName) {
- setDisplayName(displayName);
- }
-
- public static <T extends ServiceObject>ServiceObjectGenerator<T> makeService() {
- return new ServiceObjectGenerator<T>();
+ public static Builder makeService() {
+ return new Builder("service");
}
- public static class ServiceObjectGenerator<T extends ServiceObject> extends ASObjectGenerator<T> {
- @SuppressWarnings("unchecked")
- public ServiceObjectGenerator() {
- super((Class<? extends T>) ServiceObject.class);
+ @Name("service")
+ public final static class Builder
+ extends ASObject.Builder<ServiceObject,Builder> {
+ public Builder() {
+ super(ServiceObject.class,Builder.class);
+ }
+ public Builder(String objectType) {
+ super(objectType,ServiceObject.class,Builder.class);
}
- public ServiceObjectGenerator(Class<? extends T> _class) {
- super(_class);
+ public Builder(Map<String,Object> map) {
+ super(map,ServiceObject.class,Builder.class);
}
}
+
+ protected ServiceObject(Map<String,Object> map) {
+ super(map,Builder.class,ServiceObject.class);
+ }
+
+ protected <X extends ServiceObject, M extends ASObject.Builder<X,M>>ServiceObject(Map<String,Object> map, Class<M> _class, Class<X> _obj) {
+ super(map,_class,_obj);
+ }
+
}
Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TvEpisodeObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TvEpisodeObject.java?rev=1200583&r1=1200582&r2=1200583&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TvEpisodeObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TvEpisodeObject.java Thu Nov 10 21:48:45 2011
@@ -1,10 +1,11 @@
package org.apache.abdera2.activities.model.objects;
+import java.util.Map;
+
import org.apache.abdera2.activities.io.gson.Properties;
import org.apache.abdera2.activities.io.gson.Property;
import org.apache.abdera2.activities.model.ASObject;
import org.apache.abdera2.activities.model.MediaLink;
-import org.apache.abdera2.activities.model.objects.CreativeWork.CreativeWorkGenerator;
import org.apache.abdera2.common.anno.Name;
import org.joda.time.DateTime;
@@ -12,153 +13,133 @@ import org.joda.time.DateTime;
* A simple "objectType":"tv-episode" object that serves primarily as an
* example of creating new ASObject types.
*/
-@Name("tv-episode")
-@Properties({
- @Property(name="preview",to=MediaLink.class),
- @Property(name="aired",to=DateTime.class)
-})
@SuppressWarnings("unchecked")
public class TvEpisodeObject extends CreativeWork {
- private static final long serialVersionUID = -1551754630697817614L;
-
- public TvEpisodeObject() {}
+ public TvEpisodeObject(Map<String,Object> map) {
+ super(map,TvEpisodeBuilder.class,TvEpisodeObject.class);
+ }
- public TvEpisodeObject(String displayName) {
- setDisplayName(displayName);
+ public <X extends TvEpisodeObject, M extends Builder<X,M>>TvEpisodeObject(Map<String,Object> map,Class<M>_class,Class<X>_obj) {
+ super(map,_class,_obj);
}
public <T extends ASObject>T getActors() {
return (T)getProperty("actors");
}
- public void setActors(ASObject actors) {
- setProperty("actors", actors);
- }
-
public <T extends ASObject>T getDirector() {
return (T)getProperty("director");
}
- public void setDirector(ASObject director) {
- setProperty("director", director);
- }
-
public <T extends ASObject>T getMusicBy() {
return (T)getProperty("musicBy");
}
- public void setMusicBy(ASObject musicBy) {
- setProperty("musicBy", musicBy);
- }
-
public <T extends ASObject>T getProducer() {
return (T)getProperty("producer");
}
- public void setProducer(ASObject producer) {
- setProperty("producer", producer);
- }
-
public <T extends ASObject>T getProductionCompany() {
return (T)getProperty("productionCompany");
}
- public void setProductionCompany(ASObject org) {
- setProperty("productionCompany", org);
- }
-
public DateTime getAired() {
return getProperty("aired");
}
- public void setAired(DateTime dt) {
- setProperty("aired",dt);
- }
-
public MediaLink getPreview() {
return getProperty("preview");
}
- public void setPreview(MediaLink link) {
- setProperty("preview", link);
- }
-
public <T extends ASObject>T getSeries() {
return (T)getProperty("series");
}
- public void setSeries(ASObject series) {
- setProperty("series", series);
- }
-
public <T extends ASObject>T getSeason() {
return (T)getProperty("season");
}
- public void setSeason(ASObject season) {
- setProperty("season", season);
- }
-
public int getEpisodeNumber() {
- return (Integer)getProperty("episode");
+ return getPropertyInt("episode");
}
- public void setEpisodeNumber(int episode) {
- setProperty("episode", episode);
- }
+ public static TvEpisodeBuilder makeTvEpisode() {
+ return new TvEpisodeBuilder("tv-episode");
+ }
- public static <T extends TvEpisodeObject>TvEpisodeObjectGenerator<T> makeTvEpisode() {
- return new TvEpisodeObjectGenerator<T>();
+ @Name("tv-episode")
+ @Properties({
+ @Property(name="preview",to=MediaLink.class),
+ @Property(name="aired",to=DateTime.class)
+ })
+ public static final class TvEpisodeBuilder extends Builder<TvEpisodeObject,TvEpisodeBuilder> {
+
+ public TvEpisodeBuilder() {
+ super(TvEpisodeObject.class,TvEpisodeBuilder.class);
+ }
+
+ public TvEpisodeBuilder(Map<String, Object> map) {
+ super(map, TvEpisodeObject.class,TvEpisodeBuilder.class);
+ }
+
+ public TvEpisodeBuilder(String objectType) {
+ super(objectType, TvEpisodeObject.class,TvEpisodeBuilder.class);
+ }
+
}
- public static class TvEpisodeObjectGenerator<T extends TvEpisodeObject> extends CreativeWorkGenerator<T> {
- public TvEpisodeObjectGenerator() {
- super((Class<T>) TvEpisodeObject.class);
+ public static abstract class Builder<X extends TvEpisodeObject, M extends Builder<X,M>>
+ extends CreativeWork.Builder<X,M> {
+ protected Builder(Class<X>_class,Class<M>_builder) {
+ super(_class,_builder);
}
- public TvEpisodeObjectGenerator(Class<T> _class) {
- super(_class);
+ protected Builder(String objectType,Class<X>_class,Class<M>_builder) {
+ super(objectType,_class,_builder);
}
- public <X extends TvEpisodeObjectGenerator<T>>X actors(ASObject obj) {
- item.setActors(obj);
- return (X)this;
+ protected Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
+ super(map,_class,_builder);
}
- public <X extends TvEpisodeObjectGenerator<T>>X director(ASObject obj) {
- item.setDirector(obj);
- return (X)this;
+ public M actors(ASObject obj) {
+ set("actors",obj);
+ return (M)this;
}
- public <X extends TvEpisodeObjectGenerator<T>>X episodeNumber(int n) {
- item.setEpisodeNumber(n);
- return (X)this;
+ public M director(ASObject obj) {
+ set("director",obj);
+ return (M)this;
}
- public <X extends TvEpisodeObjectGenerator<T>>X season(ASObject obj) {
- item.setSeason(obj);
- return (X)this;
+ public M episodeNumber(int n) {
+ set("episodeNumber",n);
+ return (M)this;
}
- public <X extends TvEpisodeObjectGenerator<T>>X series(ASObject obj) {
- item.setSeries(obj);
- return (X)this;
+ public M season(ASObject obj) {
+ set("season",obj);
+ return (M)this;
}
- public <X extends TvEpisodeObjectGenerator<T>>X musicBy(ASObject obj) {
- item.setMusicBy(obj);
- return (X)this;
+ public M series(ASObject obj) {
+ set("series",obj);
+ return (M)this;
}
- public <X extends TvEpisodeObjectGenerator<T>>X preview(MediaLink obj) {
- item.setPreview(obj);
- return (X)this;
+ public M musicBy(ASObject obj) {
+ set("musicBy",obj);
+ return (M)this;
}
- public <X extends TvEpisodeObjectGenerator<T>>X producer(ASObject obj) {
- item.setProducer(obj);
- return (X)this;
+ public M preview(MediaLink obj) {
+ set("preview",obj);
+ return (M)this;
}
- public <X extends TvEpisodeObjectGenerator<T>>X productionCompany(ASObject obj) {
- item.setProductionCompany(obj);
- return (X)this;
+ public M producer(ASObject obj) {
+ set("producer",obj);
+ return (M)this;
}
- public <X extends TvEpisodeObjectGenerator<T>>X aired(DateTime dateTime) {
- item.setAired(dateTime);
- return (X)this;
+ public M productionCompany(ASObject obj) {
+ set("productionCompany",obj);
+ return (M)this;
}
+ public M aired(DateTime dateTime) {
+ set("aired",dateTime);
+ return (M)this;
+ }
}
}
Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TvSeasonObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TvSeasonObject.java?rev=1200583&r1=1200582&r2=1200583&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TvSeasonObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TvSeasonObject.java Thu Nov 10 21:48:45 2011
@@ -1,10 +1,11 @@
package org.apache.abdera2.activities.model.objects;
+import java.util.Map;
+
import org.apache.abdera2.activities.io.gson.Properties;
import org.apache.abdera2.activities.io.gson.Property;
import org.apache.abdera2.activities.model.ASObject;
import org.apache.abdera2.activities.model.MediaLink;
-import org.apache.abdera2.activities.model.objects.CreativeWork.CreativeWorkGenerator;
import org.apache.abdera2.common.anno.Name;
import org.joda.time.DateTime;
@@ -12,167 +13,141 @@ import org.joda.time.DateTime;
* A simple "objectType":"tv-season" object that serves primarily as an
* example of creating new ASObject types.
*/
-@Name("tv-season")
-@Properties({
- @Property(name="startDate",to=DateTime.class),
- @Property(name="endDate",to=DateTime.class),
- @Property(name="preview",to=MediaLink.class)
-})
@SuppressWarnings("unchecked")
public class TvSeasonObject extends CreativeWork {
- private static final long serialVersionUID = -1551754630697817614L;
-
- public TvSeasonObject() {}
+ public TvSeasonObject(Map<String,Object> map) {
+ super(map,TvSeasonBuilder.class,TvSeasonObject.class);
+ }
- public TvSeasonObject(String displayName) {
- setDisplayName(displayName);
+ public <X extends TvSeasonObject, M extends Builder<X,M>>TvSeasonObject(Map<String,Object> map,Class<M>_class,Class<X>_obj) {
+ super(map,_class,_obj);
}
public <T extends ASObject>T getActors() {
return (T)getProperty("actors");
}
- public void setActors(ASObject actors) {
- setProperty("actors", actors);
- }
-
public <T extends ASObject>T getDirector() {
return (T)getProperty("director");
}
- public void setDirector(ASObject object) {
- setProperty("director", object);
- }
-
public <T extends ASObject>T getMusicBy() {
return (T)getProperty("musicBy");
}
- public void setMusicBy(ASObject musicBy) {
- setProperty("musicBy", musicBy);
- }
-
public <T extends ASObject>T getProducer() {
return (T)getProperty("producer");
}
- public void setProducer(ASObject producer) {
- setProperty("producer", producer);
- }
-
public <T extends ASObject>T getProductionCompany() {
return (T)getProperty("productionCompany");
}
- public void setProductionCompany(ASObject org) {
- setProperty("productionCompany", org);
- }
-
public MediaLink getPreview() {
return getProperty("preview");
}
- public void setPreview(MediaLink link) {
- setProperty("preview", link);
- }
-
public DateTime getStartDate() {
return getProperty("startDate");
}
- public void setStartDate(DateTime date) {
- setProperty("startDate", date);
- }
-
public DateTime getEndDate() {
return getProperty("endDate");
}
- public void setEndDate(DateTime date) {
- setProperty("endDate", date);
- }
-
public <T extends ASObject>T getEpisodes() {
return (T)getProperty("episodes");
}
- public void setEpisodes(ASObject episodes) {
- setProperty("episodes", episodes);
- }
-
public <T extends ASObject>T getSeries() {
return (T)getProperty("series");
}
- public void setSeries(ASObject series) {
- setProperty("series", series);
- }
-
public int getSeasonNumber() {
- return (Integer)getProperty("season");
+ return getPropertyInt("season");
}
- public void setSeasonNumber(int season) {
- setProperty("season", season);
+ public static TvSeasonBuilder makeTvSeason() {
+ return new TvSeasonBuilder("tv-season");
}
-
-
- public static <T extends TvSeasonObject>TvSeasonObjectGenerator<T> makeTvSeason() {
- return new TvSeasonObjectGenerator<T>();
+ @Name("tv-season")
+ @Properties({
+ @Property(name="startDate",to=DateTime.class),
+ @Property(name="endDate",to=DateTime.class),
+ @Property(name="preview",to=MediaLink.class)
+ })
+ public static final class TvSeasonBuilder extends Builder<TvSeasonObject,TvSeasonBuilder> {
+
+ public TvSeasonBuilder() {
+ super(TvSeasonObject.class,TvSeasonBuilder.class);
+ }
+
+ public TvSeasonBuilder(Map<String, Object> map) {
+ super(map, TvSeasonObject.class,TvSeasonBuilder.class);
+ }
+
+ public TvSeasonBuilder(String objectType) {
+ super(objectType, TvSeasonObject.class,TvSeasonBuilder.class);
+ }
+
}
- public static class TvSeasonObjectGenerator<T extends TvSeasonObject> extends CreativeWorkGenerator<T> {
- public TvSeasonObjectGenerator() {
- super((Class<T>) TvSeasonObject.class);
+ public static abstract class Builder<X extends TvSeasonObject, M extends Builder<X,M>>
+ extends CreativeWork.Builder<X,M> {
+ protected Builder(Class<X>_class,Class<M>_builder) {
+ super(_class,_builder);
+ }
+ protected Builder(String objectType,Class<X>_class,Class<M>_builder) {
+ super(objectType,_class,_builder);
}
- public TvSeasonObjectGenerator(Class<T> _class) {
- super(_class);
+ protected Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
+ super(map,_class,_builder);
}
- public <X extends TvSeasonObjectGenerator<T>>X actors(ASObject obj) {
- item.setActors(obj);
- return (X)this;
+ public M actors(ASObject obj) {
+ set("actors",obj);
+ return (M)this;
}
- public <X extends TvSeasonObjectGenerator<T>>X director(ASObject obj) {
- item.setDirector(obj);
- return (X)this;
+ public M director(ASObject obj) {
+ set("director",obj);
+ return (M)this;
}
- public <X extends TvSeasonObjectGenerator<T>>X seasonNumber(int n) {
- item.setSeasonNumber(n);
- return (X)this;
+ public M seasonNumber(int n) {
+ set("seasonNumber",n);
+ return (M)this;
}
- public <X extends TvSeasonObjectGenerator<T>>X series(ASObject obj) {
- item.setSeries(obj);
- return (X)this;
+ public M series(ASObject obj) {
+ set("series",obj);
+ return (M)this;
}
- public <X extends TvSeasonObjectGenerator<T>>X musicBy(ASObject obj) {
- item.setMusicBy(obj);
- return (X)this;
+ public M musicBy(ASObject obj) {
+ set("musicBy",obj);
+ return (M)this;
}
- public <X extends TvSeasonObjectGenerator<T>>X preview(MediaLink obj) {
- item.setPreview(obj);
- return (X)this;
+ public M preview(MediaLink obj) {
+ set("preview",obj);
+ return (M)this;
}
- public <X extends TvSeasonObjectGenerator<T>>X producer(ASObject obj) {
- item.setProducer(obj);
- return (X)this;
+ public M producer(ASObject obj) {
+ set("producer",obj);
+ return (M)this;
}
- public <X extends TvSeasonObjectGenerator<T>>X productionCompany(ASObject obj) {
- item.setProductionCompany(obj);
- return (X)this;
+ public M productionCompany(ASObject obj) {
+ set("productionCompany",obj);
+ return (M)this;
}
- public <X extends TvSeasonObjectGenerator<T>>X startDate(DateTime dt) {
- item.setStartDate(dt);
- return (X)this;
+ public M startDate(DateTime dt) {
+ set("startDate",dt);
+ return (M)this;
}
- public <X extends TvSeasonObjectGenerator<T>>X endDate(DateTime dt) {
- item.setEndDate(dt);
- return (X)this;
+ public M endDate(DateTime dt) {
+ set("endDate",dt);
+ return (M)this;
}
- public <X extends TvSeasonObjectGenerator<T>>X episodes(ASObject obj) {
- item.setEpisodes(obj);
- return (X)this;
+ public M episodes(ASObject obj) {
+ set("episodes",obj);
+ return (M)this;
}
}
}
Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TvSeriesObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TvSeriesObject.java?rev=1200583&r1=1200582&r2=1200583&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TvSeriesObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TvSeriesObject.java Thu Nov 10 21:48:45 2011
@@ -1,10 +1,11 @@
package org.apache.abdera2.activities.model.objects;
+import java.util.Map;
+
import org.apache.abdera2.activities.io.gson.Properties;
import org.apache.abdera2.activities.io.gson.Property;
import org.apache.abdera2.activities.model.ASObject;
import org.apache.abdera2.activities.model.MediaLink;
-import org.apache.abdera2.activities.model.objects.CreativeWork.CreativeWorkGenerator;
import org.apache.abdera2.common.anno.Name;
import org.joda.time.DateTime;
@@ -12,155 +13,134 @@ import org.joda.time.DateTime;
* A simple "objectType":"tv-series" object that serves primarily as an
* example of creating new ASObject types.
*/
-@Name("tv-series")
-@Properties({
- @Property(name="startDate",to=DateTime.class),
- @Property(name="endDate",to=DateTime.class),
- @Property(name="preview",to=MediaLink.class)
-})
@SuppressWarnings("unchecked")
public class TvSeriesObject extends CreativeWork {
- private static final long serialVersionUID = -1551754630697817614L;
-
- public TvSeriesObject() {}
-
- public TvSeriesObject(String displayName) {
- setDisplayName(displayName);
+ public TvSeriesObject(Map<String,Object> map) {
+ super(map,TvSeriesBuilder.class,TvSeriesObject.class);
}
+ public <X extends TvSeriesObject, M extends Builder<X,M>>TvSeriesObject(Map<String,Object> map, Class<M>_class,Class<X>_obj) {
+ super(map,_class,_obj);
+ }
+
public <T extends ASObject>T getActors() {
return (T)getProperty("actors");
}
- public void setActors(ASObject actors) {
- setProperty("actors", actors);
- }
-
public <T extends ASObject>T getDirector() {
return (T)getProperty("director");
}
- public void setDirector(ASObject object) {
- setProperty("director", object);
- }
-
public <T extends ASObject>T getMusicBy() {
return (T)getProperty("musicBy");
}
- public void setMusicBy(ASObject musicBy) {
- setProperty("musicBy", musicBy);
- }
-
public <T extends ASObject>T getProducer() {
return (T)getProperty("producer");
}
- public void setProducer(ASObject producer) {
- setProperty("producer", producer);
- }
-
public <T extends ASObject>T getProductionCompany() {
return (T)getProperty("productionCompany");
}
- public void setProductionCompany(ASObject org) {
- setProperty("productionCompany", org);
- }
-
public MediaLink getPreview() {
return getProperty("preview");
}
- public void setPreview(MediaLink link) {
- setProperty("preview", link);
- }
-
public DateTime getStartDate() {
return getProperty("startDate");
}
- public void setStartDate(DateTime date) {
- setProperty("startDate", date);
- }
-
public DateTime getEndDate() {
return getProperty("endDate");
}
- public void setEndDate(DateTime date) {
- setProperty("endDate", date);
- }
-
public <T extends ASObject>T getSeasons() {
return (T)getProperty("seasons");
}
- public void setSeasons(ASObject seasons) {
- setProperty("seasons", seasons);
- }
-
public <T extends ASObject>T getEpisodes() {
return (T)getProperty("episodes");
}
- public void setEpisodes(ASObject episodes) {
- setProperty("episodes", episodes);
+
+ public static TvSeriesBuilder makeTvSeries() {
+ return new TvSeriesBuilder("tv-series");
}
-
-
- public static <T extends TvSeriesObject>TvSeriesObjectGenerator<T> makeTvSeries() {
- return new TvSeriesObjectGenerator<T>();
+ @Name("tv-series")
+ @Properties({
+ @Property(name="startDate",to=DateTime.class),
+ @Property(name="endDate",to=DateTime.class),
+ @Property(name="preview",to=MediaLink.class)
+ })
+ public static final class TvSeriesBuilder extends Builder<TvSeriesObject,TvSeriesBuilder> {
+
+ public TvSeriesBuilder() {
+ super(TvSeriesObject.class,TvSeriesBuilder.class);
+ }
+
+ public TvSeriesBuilder(Map<String, Object> map) {
+ super(map, TvSeriesObject.class,TvSeriesBuilder.class);
+ }
+
+ public TvSeriesBuilder(String objectType) {
+ super(objectType, TvSeriesObject.class,TvSeriesBuilder.class);
+ }
+
}
- public static class TvSeriesObjectGenerator<T extends TvSeriesObject> extends CreativeWorkGenerator<T> {
- public TvSeriesObjectGenerator() {
- super((Class<T>) TvSeriesObject.class);
+ public static abstract class Builder<X extends TvSeriesObject, M extends Builder<X,M>>
+ extends CreativeWork.Builder<X,M> {
+ protected Builder(Class<X>_class,Class<M>_builder) {
+ super(_class,_builder);
+ }
+ protected Builder(String objectType,Class<X>_class,Class<M>_builder) {
+ super(objectType,_class,_builder);
}
- public TvSeriesObjectGenerator(Class<T> _class) {
- super(_class);
+ protected Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
+ super(map,_class,_builder);
}
- public <X extends TvSeriesObjectGenerator<T>>X actors(ASObject obj) {
- item.setActors(obj);
- return (X)this;
+ public M actors(ASObject obj) {
+ set("actors",obj);
+ return (M)this;
}
- public <X extends TvSeriesObjectGenerator<T>>X director(ASObject obj) {
- item.setDirector(obj);
- return (X)this;
+ public M director(ASObject obj) {
+ set("director",obj);
+ return (M)this;
}
- public <X extends TvSeriesObjectGenerator<T>>X musicBy(ASObject obj) {
- item.setMusicBy(obj);
- return (X)this;
+ public M musicBy(ASObject obj) {
+ set("musicBy",obj);
+ return (M)this;
}
- public <X extends TvSeriesObjectGenerator<T>>X preview(MediaLink obj) {
- item.setPreview(obj);
- return (X)this;
+ public M preview(MediaLink obj) {
+ set("preview",obj);
+ return (M)this;
}
- public <X extends TvSeriesObjectGenerator<T>>X producer(ASObject obj) {
- item.setProducer(obj);
- return (X)this;
+ public M producer(ASObject obj) {
+ set("producer",obj);
+ return (M)this;
}
- public <X extends TvSeriesObjectGenerator<T>>X productionCompany(ASObject obj) {
- item.setProductionCompany(obj);
- return (X)this;
+ public M productionCompany(ASObject obj) {
+ set("productionCompany",obj);
+ return (M)this;
}
- public <X extends TvSeriesObjectGenerator<T>>X episodes(ASObject obj) {
- item.setEpisodes(obj);
- return (X)this;
+ public M episodes(ASObject obj) {
+ set("episodes",obj);
+ return (M)this;
}
- public <X extends TvSeriesObjectGenerator<T>>X seasons(ASObject obj) {
- item.setSeasons(obj);
- return (X)this;
+ public M seasons(ASObject obj) {
+ set("seasons",obj);
+ return (M)this;
}
- public <X extends TvSeriesObjectGenerator<T>>X startDate(DateTime dt) {
- item.setStartDate(dt);
- return (X)this;
+ public M startDate(DateTime dt) {
+ set("startDate",dt);
+ return (M)this;
}
- public <X extends TvSeriesObjectGenerator<T>>X endDate(DateTime dt) {
- item.setEndDate(dt);
- return (X)this;
+ public M endDate(DateTime dt) {
+ set("endDate",dt);
+ return (M)this;
}
}
}
Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/VersionObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/VersionObject.java?rev=1200583&r1=1200582&r2=1200583&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/VersionObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/VersionObject.java Thu Nov 10 21:48:45 2011
@@ -1,32 +1,134 @@
package org.apache.abdera2.activities.model.objects;
+import java.util.Map;
+
import org.apache.abdera2.activities.io.gson.Properties;
import org.apache.abdera2.activities.io.gson.Property;
import org.apache.abdera2.activities.model.ASObject;
import org.apache.abdera2.common.anno.Name;
+import org.apache.abdera2.common.anno.Version;
/**
* Activity Stream object that represents a description of a Version
* of a referenced object. "objectType":"version"... The basic use
* case for this would be for Version control systems.
*/
-@Name("version")
-@Properties({
- @Property(name="previousVersion", to=VersionObject.class),
- @Property(name="nextVersion",to=VersionObject.class),
- @Property(name="stableVersion",to=VersionObject.class),
- @Property(name="activeVersion",to=VersionObject.class)
-})
public class VersionObject
extends ASObject {
- private static final long serialVersionUID = -7473463819890471971L;
+ public static VersionBuilder makeVersion() {
+ return new VersionBuilder("version");
+ }
+
+ public static VersionObject makeVersion(
+ ASObject of,
+ int major,
+ int minor,
+ int revision,
+ Version.Status status) {
+ return makeVersion()
+ .of(of)
+ .major(major)
+ .minor(minor)
+ .revision(revision)
+ .status(status)
+ .get();
+ }
+
+ public static VersionObject makeVersion(Version version) {
+ return makeVersion()
+ .of(
+ ASObject.makeObject()
+ .displayName(version.name())
+ .url(version.uri())
+ .get())
+ .major(version.major())
+ .minor(version.minor())
+ .revision(version.revision())
+ .status(version.status())
+ .get();
+ }
+
+ @Name("version")
+ @Properties({
+ @Property(name="previousVersion", to=VersionObject.class),
+ @Property(name="nextVersion",to=VersionObject.class),
+ @Property(name="stableVersion",to=VersionObject.class),
+ @Property(name="activeVersion",to=VersionObject.class)
+ })
+ public static final class VersionBuilder extends Builder<VersionObject,VersionBuilder> {
+
+ public VersionBuilder() {
+ super(VersionObject.class,VersionBuilder.class);
+ }
+
+ public VersionBuilder(Map<String, Object> map) {
+ super(map, VersionObject.class,VersionBuilder.class);
+ }
+
+ public VersionBuilder(String objectType) {
+ super(objectType, VersionObject.class,VersionBuilder.class);
+ }
+
+ }
+
+ @SuppressWarnings("unchecked")
+ public static abstract class Builder<X extends VersionObject, M extends Builder<X,M>>
+ extends ASObject.Builder<X,M> {
+ protected Builder(Class<X>_class,Class<M>_builder) {
+ super(_class,_builder);
+ }
+ protected Builder(String objectType,Class<X>_class,Class<M>_builder) {
+ super(objectType,_class,_builder);
+ }
+ protected Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
+ super(map,_class,_builder);
+ }
+ public M active(VersionObject object) {
+ set("activeVersion",object);
+ return (M)this;
+ }
+ public M major(int val) {
+ set("major",Math.max(0, val));
+ return (M)this;
+ }
+ public M minor(int val) {
+ set("minor",Math.max(0, val));
+ return (M)this;
+ }
+ public M revision(int val) {
+ set("revision",Math.max(0,val));
+ return (M)this;
+ }
+ public M status(Version.Status status) {
+ set("status",status.name().toLowerCase());
+ return (M)this;
+ }
+ public M next(VersionObject val) {
+ set("nextVersion",val);
+ return (M)this;
+ }
+ public M of(ASObject val) {
+ set("of",val);
+ return (M)this;
+ }
+ public M previous(VersionObject val) {
+ set("previousVersion",val);
+ return (M)this;
+ }
+ public M stable(VersionObject val) {
+ set("stableVersion",val);
+ return (M)this;
+ }
+ }
+
- public VersionObject() {}
+ public VersionObject(Map<String,Object> map) {
+ super(map,VersionBuilder.class,VersionObject.class);
+ }
- public VersionObject(String displayName) {
- super();
- setDisplayName(displayName);
+ public <X extends VersionObject, M extends Builder<X,M>>VersionObject(Map<String,Object> map,Class<M>_class,Class<X>_obj) {
+ super(map,_class,_obj);
}
/** The object this object describes a version of **/
@@ -34,111 +136,38 @@ public class VersionObject
public <T extends ASObject>T getOf() {
return (T)getProperty("of");
}
-
- /** The object this object describes a version of **/
- public void setOf(ASObject object) {
- setProperty("of", object);
- }
-
+
public VersionObject getPreviousVersion() {
return getProperty("previousVersion");
}
- public void setPreviousVersion(VersionObject version) {
- setProperty("previousVersion", version);
- }
-
public VersionObject getNextVersion() {
return getProperty("nextVersion");
}
- public void setNextVersion(VersionObject version) {
- setProperty("nextVersion", version);
- }
-
public VersionObject getStableVersion() {
return getProperty("stableVersion");
}
- public void setStableVersion(VersionObject version) {
- setProperty("stableVersion", version);
- }
-
public VersionObject getActiveVersion() {
return getProperty("activeVersion");
}
- public void setActiveVersion(VersionObject version) {
- setProperty("activeVersion", version);
- }
-
- public String getMajor() {
- return getProperty("major");
+ public int getMajor() {
+ return getPropertyInt("major");
}
- public void setMajor(String val) {
- setProperty("major", val);
+ public int getMinor() {
+ return getPropertyInt("minor");
}
- public String getMinor() {
- return getProperty("minor");
+ public int getRevision() {
+ return getPropertyInt("revision");
}
- public void setMinor(String minor) {
- setProperty("minor", minor);
- }
-
- public String getRevision() {
- return getProperty("revision");
- }
-
- public void setRevision(String val) {
- setProperty("revision", val);
- }
-
- public static <T extends VersionObject>VersionObjectGenerator<T> makeVersion() {
- return new VersionObjectGenerator<T>();
- }
-
- @SuppressWarnings("unchecked")
- public static class VersionObjectGenerator<T extends VersionObject> extends ASObjectGenerator<T> {
- public VersionObjectGenerator() {
- super((Class<? extends T>) VersionObject.class);
- }
- public VersionObjectGenerator(Class<T> _class) {
- super(_class);
- }
- public <X extends VersionObjectGenerator<T>>X active(VersionObject object) {
- item.setActiveVersion(object);
- return (X)this;
- }
- public <X extends VersionObjectGenerator<T>>X major(String val) {
- item.setMajor(val);
- return (X)this;
- }
- public <X extends VersionObjectGenerator<T>>X minor(String val) {
- item.setMinor(val);
- return (X)this;
- }
- public <X extends VersionObjectGenerator<T>>X next(VersionObject val) {
- item.setNextVersion(val);
- return (X)this;
- }
- public <X extends VersionObjectGenerator<T>>X of(ASObject val) {
- item.setOf(val);
- return (X)this;
- }
- public <X extends VersionObjectGenerator<T>>X previous(VersionObject val) {
- item.setPreviousVersion(val);
- return (X)this;
- }
- public <X extends VersionObjectGenerator<T>>X revision(String val) {
- item.setRevision(val);
- return (X)this;
- }
- public <X extends VersionObjectGenerator<T>>X stable(VersionObject val) {
- item.setStableVersion(val);
- return (X)this;
- }
+ public Version.Status getStatus() {
+ String status = getProperty("status");
+ return status != null ?
+ Version.Status.valueOf(status.toUpperCase()) : null;
}
}