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/15 05:55:14 UTC

svn commit: r1202043 - in /abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities: extra/ model/ model/objects/

Author: jmsnell
Date: Tue Nov 15 04:55:13 2011
New Revision: 1202043

URL: http://svn.apache.org/viewvc?rev=1202043&view=rev
Log:
Simplifying the api a bit by allowing the builder to accept supplier instances for properties...

Modified:
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/extra/Extra.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/ASObject.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/Activity.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/Collection.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/AdditionalEventProperties.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/BookObject.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/CreativeWork.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/EmbeddedExperience.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/EventObject.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ImageObject.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/Mood.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/MovieObject.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/OfferObject.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/OrganizationObject.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/PersonObject.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/PlaceObject.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ProductObject.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/QuestionObject.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/Replies.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TaskObject.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TvEpisodeObject.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TvSeasonObject.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TvSeriesObject.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/VersionObject.java
    abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/VideoObject.java

Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/extra/Extra.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/extra/Extra.java?rev=1202043&r1=1202042&r2=1202043&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/extra/Extra.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/extra/Extra.java Tue Nov 15 04:55:13 2011
@@ -41,6 +41,7 @@ import org.joda.time.DateTime;
 import com.google.common.base.CaseFormat;
 import com.google.common.base.Equivalence;
 import com.google.common.base.Predicate;
+import com.google.common.base.Supplier;
 import com.google.common.collect.Iterables;
 
 import static com.google.common.base.Predicates.*;
@@ -893,7 +894,10 @@ public final class Extra {
         if (setter) {
           if (args.length != 1)
             throw new UnsupportedOperationException();
-          builder.set(name,args[0]);
+          if (args[0] instanceof Supplier) 
+            builder.set(name,((Supplier)args[0]).get());
+          else 
+            builder.set(name,args[0]);
           return method.getReturnType().isAssignableFrom(type) ?
             obj : null; 
         } else {

Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/ASObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/ASObject.java?rev=1202043&r1=1202042&r2=1202043&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/ASObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/ASObject.java Tue Nov 15 04:55:13 2011
@@ -34,6 +34,7 @@ import org.apache.abdera2.common.date.Da
 import org.apache.abdera2.common.iri.IRI;
 import org.apache.abdera2.common.selector.Selector;
 
+import com.google.common.base.Supplier;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
 
@@ -109,6 +110,10 @@ public class ASObject extends ASBase {
       super(map,_class,_builder);
     }
     
+    public M reaction(Supplier<TaskObject> object) {
+      return reaction(object.get());
+    }
+    
     public M reaction(TaskObject object) {
       if (object == null) return (M)this;
       z = true;
@@ -116,6 +121,13 @@ public class ASObject extends ASBase {
       return (M)this;
     }
     
+    public M reaction(Supplier<TaskObject>... objects) {
+      if (objects == null) return (M)this;
+      for (Supplier<TaskObject> object : objects)
+        reaction(object.get());
+      return (M)this;
+    }
+    
     public M reaction(TaskObject... objects) {
       if (objects == null) return (M)this;
       for (TaskObject obj : objects)
@@ -130,6 +142,12 @@ public class ASObject extends ASBase {
       return (M)this;
     }
     
+    public M attachment(Supplier<ASObject>... objects) {
+      if (objects == null) return (M)this;
+      for (Supplier<ASObject> object : objects)
+        attachment(object.get());
+      return (M)this;
+    }
     
     public M attachment(ASObject... objects) {
       if (objects == null) return (M)this;
@@ -145,6 +163,10 @@ public class ASObject extends ASBase {
       return (M)this;
     }
     
+    public M attachment(Supplier<ASObject> object) {
+      return attachment(object.get());
+    }
+    
     public M attachment(ASObject object) {
       if (object == null) return (M)this;
       a = true;
@@ -173,6 +195,10 @@ public class ASObject extends ASBase {
       return (M)this;
     }
     
+    public M inReplyTo(Supplier<ASObject> object) {
+      return inReplyTo(object.get());
+    }
+    
     public M inReplyTo(ASObject object) {
       if (object == null) return (M)this;
       r = true;
@@ -180,6 +206,34 @@ public class ASObject extends ASBase {
       return (M)this;
     }
     
+    public M inReplyTo(Supplier<ASObject>... objects) {
+      if (objects == null) return (M)this;
+      for (Supplier<ASObject> object : objects)
+        inReplyTo(object.get());
+      return (M)this;
+    }
+    
+    public M inReplyTo(ASObject... objects) {
+      if (objects == null) return (M)this;
+      for (ASObject object : objects)
+        inReplyTo(object);
+      return (M)this;
+    }
+    
+    public M inReplyTo(Iterable<ASObject> objects) {
+      if (objects == null) return (M)this;
+      for (ASObject object : objects)
+        inReplyTo(object);
+      return (M)this;
+    }
+    
+    public M tag(Supplier<ASObject>... objects) {
+      if (objects == null) return (M)this;
+      for (Supplier<ASObject>object : objects )
+        tag(object.get());
+      return (M)this;
+    }
+    
     public M tag(ASObject... objects) {
       if (objects == null) return (M)this;
       for (ASObject obj : objects)
@@ -194,6 +248,10 @@ public class ASObject extends ASBase {
       return (M)this;
     }
     
+    public M tag(Supplier<ASObject> object) {
+      return tag(object.get());
+    }
+    
     public M tag(ASObject object) {
       if (object == null) return (M)this;
       t = true;
@@ -222,6 +280,10 @@ public class ASObject extends ASBase {
       return (M)this;
     }
     
+    public M author(Supplier<ASObject> object) {
+      return author(object.get());
+    }
+    
     public M author(ASObject object) {
       set(AUTHOR,object);
       return (M)this;
@@ -237,11 +299,19 @@ public class ASObject extends ASBase {
       return (M)this;
     }
     
+    public M embed(Supplier<ASObject> object) {
+      return embed(object.get());
+    }
+    
     public M embed(ASObject object) {
       set(EMBED,object);
       return (M)this;
     }
     
+    public M embeddedExperience(Supplier<EmbeddedExperience> object) {
+      return embeddedExperience(object.get());
+    }
+    
     public M embeddedExperience(EmbeddedExperience ee) {
       set(
         "openSocial",
@@ -258,16 +328,28 @@ public class ASObject extends ASBase {
       return (M)this;
     }
     
+    public M image(Supplier<MediaLink> object) {
+      return image(object.get());
+    }
+    
     public M image(MediaLink link) {
       set(IMAGE,link);
       return (M)this;
     }
     
+    public M location(Supplier<PlaceObject> object) {
+      return location(object.get());
+    }
+    
     public M location(PlaceObject object) {
       set(LOCATION,object);
       return (M)this;
     }
     
+    public M mood(Supplier<Mood> object) {
+      return mood(object.get());
+    }
+    
     public M mood(Mood mood) {
       set(MOOD,mood);
       return (M)this;
@@ -292,6 +374,10 @@ public class ASObject extends ASBase {
       return (M)this;
     }
     
+    public M source(Supplier<ASObject> object) {
+      return source(object.get());
+    }
+    
     public M source(ASObject object) {
       set(SOURCE,object);
       return (M)this;

Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/Activity.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/Activity.java?rev=1202043&r1=1202042&r2=1202043&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/Activity.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/Activity.java Tue Nov 15 04:55:13 2011
@@ -27,6 +27,7 @@ import org.apache.abdera2.common.iri.IRI
 import org.apache.abdera2.common.selector.Selector;
 import org.joda.time.DateTime;
 
+import com.google.common.base.Supplier;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -116,46 +117,76 @@ public class Activity extends ASObject {
       super(map,_class,_builder);
     }
     
+    public M to(Supplier<ASObject> object) {
+      return to(object.get());
+    }
     public M to(ASObject object) {
       a = true;
       to.add(object);
       return (M)this;
     }
+    public M cc(Supplier<ASObject> object) {
+      return cc(object.get());
+    }
     public M cc(ASObject object) {
       b = true;
       cc.add(object);
       return (M)this;
     }
+    public M bcc(Supplier<ASObject> object) {
+      return bcc(object.get());
+    }
     public M bcc(ASObject object) {
       c = true;
       bcc.add(object);
       return (M)this;
     }
+    public M bto(Supplier<ASObject> object) {
+      return bto(object.get());
+    }
     public M bto(ASObject object) {
       d = true;
       bto.add(object);
       return (M)this;
     }
+    public M actor(Supplier<ASObject> object) {
+      return actor(object.get());
+    }
     public M actor(ASObject object) {
       set(ACTOR,object);
       return (M)this;
     }
+    public M generator(Supplier<ASObject> object) {
+      return generator(object.get());
+    }
     public M generator(ASObject object) {
       set(GENERATOR,object);
       return (M)this;
     }
+    public M icon(Supplier<MediaLink> object) {
+      return icon(object.get());
+    }
     public M icon(MediaLink link) {
       set(ICON,link);
       return (M)this;
     }
+    public M object(Supplier<ASObject> object) {
+      return object(object.get());
+    }
     public M object(ASObject object) {
       set(OBJECT,object);
       return (M)this;
     }
+    public M provider(Supplier<ASObject> object) {
+      return provider(object.get());
+    }
     public M provider(ASObject object) {
       set(PROVIDER,object);
       return (M)this;
     }
+    public M target(Supplier<ASObject> object) {
+      return target(object.get());
+    }
     public M target(ASObject object) {
       set(TARGET,object);
       return (M)this;
@@ -172,10 +203,16 @@ public class Activity extends ASObject {
       title(displayName);
       return (M)this;
     }
+    public M image(Supplier<MediaLink> object) {
+      return image(object.get());
+    }
     public M image(MediaLink link) {
       icon(link);
       return (M)this;
     }
+    public M author(Supplier<ASObject> object) {
+      return author(object.get());
+    }
     public M author(ASObject author) {
       actor(author);
       return (M)this;

Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/Collection.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/Collection.java?rev=1202043&r1=1202042&r2=1202043&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/Collection.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/Collection.java Tue Nov 15 04:55:13 2011
@@ -26,6 +26,7 @@ import org.apache.abdera2.common.anno.Na
 import org.apache.abdera2.common.iri.IRI;
 import org.apache.abdera2.common.selector.Selector;
 
+import com.google.common.base.Supplier;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -98,22 +99,32 @@ public class Collection<T extends ASObje
     private final ImmutableSet.Builder<String> types = 
       ImmutableSet.builder();
     boolean a,b,c;
-    protected Builder(Class<X> _class, Class<M> _builder) {
+    public Builder(Class<X> _class, Class<M> _builder) {
       super(_class,_builder);
     }
-    protected Builder(String objectType,Class<X> _class, Class<M> _builder) {
+    public 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) {
+    public Builder(Map<String,Object> map,Class<X> _class, Class<M> _builder) {
       super(map,_class,_builder);
     }
+    public M item(Supplier<T> item) {
+      return item(item.get());
+    }
     public M item(T item) {
       if (item == null) return (M)this;
       a=true;
       items.add(item);
       return (M)this;
     } 
+    public M item(Supplier<T>... items) {
+      if (items == null) return (M)this;
+      for (Supplier<T> item : items)
+        item(item.get());
+      return (M)this;
+    }
     public M items(T... items) {
+      if (items == null) return (M)this;
       for (T item : items)
         item(item);
       return (M)this;

Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/AdditionalEventProperties.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/AdditionalEventProperties.java?rev=1202043&r1=1202042&r2=1202043&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/AdditionalEventProperties.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/AdditionalEventProperties.java Tue Nov 15 04:55:13 2011
@@ -20,6 +20,8 @@ package org.apache.abdera2.activities.mo
 import org.apache.abdera2.activities.model.ASObject;
 import org.apache.abdera2.activities.extra.Extra.ExtensionObject;
 import org.apache.abdera2.activities.extra.Extra.ExtensionBuilder;
+
+import com.google.common.base.Supplier;
 /**
  * Additional extension properties for the EventObject...
  * attach this interface to an EventObject using the 
@@ -45,6 +47,12 @@ public interface AdditionalEventProperti
     Builder subEvents(ASObject subEvents);
     Builder superEvent(ASObject superEvent);
     Builder performers(ASObject performers);
+    
+    Builder host(Supplier<ASObject> host);
+    Builder offers(Supplier<ASObject> offers);
+    Builder subEvents(Supplier<ASObject> subEvents);
+    Builder superEvent(Supplier<ASObject> superEvent);
+    Builder performers(Supplier<ASObject> performers);
   }
   
 }

Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/BookObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/BookObject.java?rev=1202043&r1=1202042&r2=1202043&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/BookObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/BookObject.java Tue Nov 15 04:55:13 2011
@@ -22,6 +22,8 @@ import java.util.Map;
 import org.apache.abdera2.activities.model.ASObject;
 import org.apache.abdera2.common.anno.Name;
 
+import com.google.common.base.Supplier;
+
 /**
  * A simple "objectType":"book" object that serves primarily as an 
  * example of creating new ASObject types.
@@ -94,10 +96,16 @@ public class BookObject extends Creative
       set("edition",val);
       return (M)this;
     }
+    public M format(Supplier<ASObject> obj) {
+      return format(obj.get());
+    }
     public M format(ASObject obj) {
       set("format",obj);
       return (M)this;
     }
+    public M illustrator(Supplier<ASObject> obj) {
+      return illustrator(obj.get());
+    }
     public M illustrator(ASObject obj) {
       set("illustrator",obj);
       return (M)this;

Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/CreativeWork.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/CreativeWork.java?rev=1202043&r1=1202042&r2=1202043&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/CreativeWork.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/CreativeWork.java Tue Nov 15 04:55:13 2011
@@ -21,6 +21,8 @@ import java.util.Map;
 
 import org.apache.abdera2.activities.model.ASObject;
 
+import com.google.common.base.Supplier;
+
 /**
  * Abstract base class for several extension ASObject types
  */
@@ -67,26 +69,44 @@ public abstract class CreativeWork exten
     protected Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
       super(map,_class,_builder);
     }
+    public M about(Supplier<ASObject> obj) {
+      return about(obj.get());
+    }
     public M about(ASObject object) {
       set("about",object);
       return (M)this;
     }
+    public M contributor(Supplier<ASObject> obj) {
+      return contributor(obj.get());
+    }
     public M contributor(ASObject object) {
       set("contributor",object);
       return (M)this;
     }
+    public M editor(Supplier<ASObject> obj) {
+      return editor(obj.get());
+    }
     public M editor(ASObject object) {
       set("editor",object);
       return (M)this;
     }
+    public M genre(Supplier<ASObject> obj) {
+      return genre(obj.get());
+    }
     public M genre(ASObject object) {
       set("genre",object);
       return (M)this;
     }
+    public M provider(Supplier<ASObject> obj) {
+      return provider(obj.get());
+    }
     public M provider(ASObject object) {
       set("provider",object);
       return (M)this;
     }
+    public M publisher(Supplier<ASObject> obj) {
+      return publisher(obj.get());
+    }
     public M publisher(ASObject object) {
       set("publisher",object);
       return (M)this;

Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/EmbeddedExperience.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/EmbeddedExperience.java?rev=1202043&r1=1202042&r2=1202043&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/EmbeddedExperience.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/EmbeddedExperience.java Tue Nov 15 04:55:13 2011
@@ -22,6 +22,7 @@ import java.util.Map;
 import org.apache.abdera2.activities.model.ASBase;
 import org.apache.abdera2.common.iri.IRI;
 
+import com.google.common.base.Supplier;
 import com.google.common.collect.ImmutableMap;
 
 /**
@@ -159,6 +160,10 @@ public final class EmbeddedExperience 
       super(map,EmbeddedExperience.class,Builder.class);
     }
 
+    public Builder context(Supplier<ASBase> object) {
+      return context(object.get());
+    }
+    
     public Builder context(ASBase object) {
       set("context", object);
       return this;

Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/EventObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/EventObject.java?rev=1202043&r1=1202042&r2=1202043&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/EventObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/EventObject.java Tue Nov 15 04:55:13 2011
@@ -24,6 +24,8 @@ import org.apache.abdera2.activities.mod
 import org.apache.abdera2.common.anno.Name;
 import org.joda.time.DateTime;
 
+import com.google.common.base.Supplier;
+
 public class EventObject 
   extends ASObject {
 
@@ -101,6 +103,10 @@ public class EventObject 
     public Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
       super(map,_class,_builder);
     }
+    
+    public <T extends ASObject>M attending(Supplier<Collection<T>> col) {
+      return attending(col.get());
+    }
 
     public <T extends ASObject>M attending(Collection<T> col) {
       set(ATTENDING, col);
@@ -112,11 +118,19 @@ public class EventObject 
       return (M)this;
     }
     
+    public <T extends ASObject>M maybeAttending(Supplier<Collection<T>> col) {
+      return maybeAttending(col.get());
+    }
+    
     public <T extends ASObject>M maybeAttending(Collection<T> col) {
       set(MAYBEATTENDING, col);
       return (M)this;
     }
     
+    public <T extends ASObject>M notAttending(Supplier<Collection<T>> col) {
+      return notAttending(col.get());
+    }
+    
     public <T extends ASObject>M notAttending(Collection<T> col) {
       set(NOTATTENDING, col);
       return (M)this;

Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ImageObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ImageObject.java?rev=1202043&r1=1202042&r2=1202043&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ImageObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/ImageObject.java Tue Nov 15 04:55:13 2011
@@ -23,6 +23,8 @@ import org.apache.abdera2.activities.mod
 import org.apache.abdera2.activities.model.MediaLink;
 import org.apache.abdera2.common.anno.Name;
 
+import com.google.common.base.Supplier;
+
 public class ImageObject 
   extends ASObject {
 
@@ -70,6 +72,9 @@ public class ImageObject 
     public Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
       super(map,_class,_builder);
     }
+    public M fillImage(Supplier<MediaLink> fullImage) {
+      return fullImage(fullImage.get());
+    }
     public M fullImage(MediaLink fullImage) {
       set(FULLIMAGE, fullImage);
       return (M)this;

Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/Mood.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/Mood.java?rev=1202043&r1=1202042&r2=1202043&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/Mood.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/Mood.java Tue Nov 15 04:55:13 2011
@@ -23,6 +23,8 @@ import org.apache.abdera2.activities.mod
 import org.apache.abdera2.activities.model.MediaLink;
 import org.apache.abdera2.common.iri.IRI;
 
+import com.google.common.base.Supplier;
+
 public final class Mood extends ASBase {
 
   public static final String IMAGE = "image";
@@ -71,6 +73,9 @@ public final class Mood extends ASBase {
       set(DISPLAYNAME,dn);
       return this;
     }
+    public Builder image(Supplier<MediaLink> link) {
+      return image(link.get());
+    }
     public Builder image(MediaLink link) {
       set(IMAGE, link);
       return this;

Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/MovieObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/MovieObject.java?rev=1202043&r1=1202042&r2=1202043&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/MovieObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/MovieObject.java Tue Nov 15 04:55:13 2011
@@ -26,6 +26,8 @@ import org.apache.abdera2.activities.mod
 import org.apache.abdera2.common.anno.Name;
 import org.joda.time.Duration;
 
+import com.google.common.base.Supplier;
+
 /**
  * A simple "objectType":"movie" object that serves primarily as an 
  * example of creating new ASObject types.
@@ -106,10 +108,16 @@ public class MovieObject extends Creativ
     public Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
       super(map,_class,_builder);
     }
+    public M actors(Supplier<ASObject> obj) {
+      return actors(obj.get());
+    }
     public M actors(ASObject obj) {
       set("actors",obj);
       return (M)this;
     }
+    public M director(Supplier<ASObject> obj) {
+      return director(obj.get());
+    }
     public M director(ASObject obj) {
       set("director",obj);
       return (M)this;
@@ -118,18 +126,30 @@ public class MovieObject extends Creativ
       set("duration",obj);
       return (M)this;
     }
+    public M musicBy(Supplier<ASObject> obj) {
+      return musicBy(obj.get());
+    }
     public M musicBy(ASObject obj) {
       set("musicBy",obj);
       return (M)this;
     }
+    public M preview(Supplier<MediaLink> obj) {
+      return preview(obj.get());
+    }
     public M preview(MediaLink obj) {
       set("preview",obj);
       return (M)this;
     }
+    public M producer(Supplier<ASObject> obj) {
+      return producer(obj.get());
+    }
     public M producer(ASObject obj) {
       set("producer",obj);
       return (M)this;
     }
+    public M productionCompany(Supplier<ASObject> obj) {
+      return productionCompany(obj.get());
+    }
     public M productionCompany(ASObject obj) {
       set("productionCompany",obj);
       return (M)this;

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=1202043&r1=1202042&r2=1202043&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 Tue Nov 15 04:55:13 2011
@@ -25,6 +25,8 @@ import org.apache.abdera2.activities.mod
 import org.apache.abdera2.common.anno.Name;
 import org.joda.time.DateTime;
 
+import com.google.common.base.Supplier;
+
 /**
  * A simple "objectType":"offer" object that serves primarily as an 
  * example of creating new ASObject types.
@@ -109,10 +111,16 @@ public class OfferObject extends ASObjec
     public Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
       super(map,_class,_builder);
     }
+    public M availability(Supplier<ASObject> obj) {
+      return availability(obj.get());
+    }
     public M availability(ASObject obj) {
       set("availability",obj);
       return (M)this;
     }
+    public M condition(Supplier<ASObject> obj) {
+      return condition(obj.get());
+    }
     public M condition(ASObject obj) {
       set("condition",obj);
       return (M)this;
@@ -121,6 +129,9 @@ public class OfferObject extends ASObjec
       set("currency",obj);
       return (M)this;
     }
+    public M item(Supplier<ASObject> obj) {
+      return item(obj.get());
+    }
     public M item(ASObject obj) {
       set("item",obj);
       return (M)this;
@@ -129,6 +140,9 @@ public class OfferObject extends ASObjec
       set("price",obj);
       return (M)this;
     }
+    public M restriction(Supplier<ASObject> obj) {
+      return restriction(obj.get());
+    }
     public M restriction(ASObject obj) {
       set("restriction",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=1202043&r1=1202042&r2=1202043&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 Tue Nov 15 04:55:13 2011
@@ -27,6 +27,8 @@ import org.apache.abdera2.common.anno.Na
 import org.apache.abdera2.common.iri.IRI;
 import org.joda.time.DateTime;
 
+import com.google.common.base.Supplier;
+
 public class OrganizationObject extends ASObject {
 
   public OrganizationObject(Map<String,Object> map) {
@@ -123,6 +125,9 @@ public class OrganizationObject extends 
     public Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
       super(map,_class,_builder);
     }
+    public M address(Supplier<Address> obj) {
+      return address(obj.get());
+    }
     public M address(Address address) {
       set("address",address);
       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=1202043&r1=1202042&r2=1202043&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 Tue Nov 15 04:55:13 2011
@@ -25,6 +25,7 @@ import org.apache.abdera2.activities.mod
 import org.apache.abdera2.common.anno.Name;
 import org.apache.abdera2.common.iri.IRI;
 
+import com.google.common.base.Supplier;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
 
@@ -173,12 +174,21 @@ public class PersonObject 
     public Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
       super(map,_class,_builder);
     }
+    public M account(Supplier<AccountObject> object) {
+      return account(object.get());
+    }
     public M account(AccountObject object) {
       if (object == null) return (M)this;
       a = true;
       accounts.add(object);
       return (M)this;
     }
+    public M account(Supplier<AccountObject>... objects) {
+      if (objects == null) return (M)this;
+      for (Supplier<AccountObject> object : objects)
+        account(object.get());
+      return (M)this;
+    }
     public M account(AccountObject... objects) {
       if (objects.length == 0) return (M)this;
       for (AccountObject object : objects)
@@ -191,12 +201,21 @@ public class PersonObject 
         account(object);
       return (M)this;
     }
+    public M address(Supplier<Address> object) {
+      return address(object.get());
+    }
     public M address(Address object) {
       if (object == null) return (M)this;
       b = true;
       addresses.add(object);
       return (M)this;
     }
+    public M address(Supplier<Address>... objects) {
+      if (objects == null) return (M)this;
+      for (Supplier<Address> object : objects)
+        address(object.get());
+      return (M)this;
+    }
     public M address(Address... objects) {
       if (objects.length == 0) return (M)this;
       for (Address object : objects)
@@ -209,12 +228,21 @@ public class PersonObject 
         address(object);
       return (M)this;
     }
+    public M alternateName(Supplier<NameObject> name) {
+      return alternateName(name.get());
+    }
     public M alternateName(NameObject name) {
       if (name == null) return (M)this;
       c = true;
       altnames.add(name);
       return (M)this;
     }
+    public M alternateName(Supplier<NameObject>... objects) {
+      if (objects == null) return (M)this;
+      for (Supplier<NameObject> object : objects)
+        alternateName(object.get());
+      return (M)this;
+    }
     public M alternateName(NameObject... objects) {
       if (objects.length == 0) return (M)this;
       for (NameObject object : objects)
@@ -263,12 +291,21 @@ public class PersonObject 
         im(object);
       return (M)this;
     }
+    public M organization(Supplier<OrganizationObject> object) {
+      return organization(object.get());
+    }
     public M organization(OrganizationObject object) {
       if (object == null) return (M)this;
       f = true;
       orgs.add(object);
       return (M)this;
     }
+    public M organization(Supplier<OrganizationObject>... objects) {
+      if (objects == null) return (M)this;
+      for (Supplier<OrganizationObject> object : objects)
+        organization(object.get());
+      return (M)this;
+    }
     public M organization(OrganizationObject... objects) {
       if (objects.length == 0) return (M)this;
       for (OrganizationObject object : objects)
@@ -339,14 +376,23 @@ public class PersonObject 
       set("dn",val);
       return (M)this;
     }
+    public M name(Supplier<NameObject> val) {
+      return name(val.get());
+    }
     public M name(NameObject val) {
       set("name",val);
       return (M)this;
     }
+    public M nativeName(Supplier<NameObject> object) {
+      return nativeName(object.get());
+    }
     public M nativeName(NameObject val) {
       set("nativeName",val);
       return (M)this;
     }
+    public M preferredName(Supplier<NameObject> object) {
+      return preferredName(object.get());
+    }
     public M preferredName(NameObject val) {
       set("preferredName",val);
       return (M)this;

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=1202043&r1=1202042&r2=1202043&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 Tue Nov 15 04:55:13 2011
@@ -25,6 +25,8 @@ import org.apache.abdera2.common.geo.Coo
 import org.apache.abdera2.common.geo.IsoPosition;
 import org.apache.abdera2.common.geo.Point;
 
+import com.google.common.base.Supplier;
+
 public class PlaceObject 
   extends ASObject {
   public static final String ADDRESS = "address";
@@ -116,6 +118,9 @@ public class PlaceObject 
     public M position(Point point) {
       return position(IsoPosition.at(point));
     }
+    public M address(Supplier<Address> address) {
+      return address(address.get());
+    }
     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=1202043&r1=1202042&r2=1202043&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 Tue Nov 15 04:55:13 2011
@@ -23,6 +23,8 @@ import org.apache.abdera2.activities.mod
 import org.apache.abdera2.activities.model.MediaLink;
 import org.apache.abdera2.common.anno.Name;
 
+import com.google.common.base.Supplier;
+
 public class ProductObject 
   extends ASObject {
   public static final String FULLIMAGE = "fullImage";
@@ -72,6 +74,9 @@ public class ProductObject 
     public Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
       super(map,_class,_builder);
     }
+    public M fullImage(Supplier<MediaLink> fullImage) {
+      return fullImage(fullImage.get());
+    }
     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=1202043&r1=1202042&r2=1202043&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 Tue Nov 15 04:55:13 2011
@@ -22,6 +22,7 @@ import java.util.Map;
 import org.apache.abdera2.activities.model.ASObject;
 import org.apache.abdera2.common.anno.Name;
 
+import com.google.common.base.Supplier;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
 
@@ -110,12 +111,21 @@ public class QuestionObject 
         option(option);
       return (M)this;
     }
+    public M option(Supplier<ASObject>... options) {
+      if (options == null) return (M)this;
+      for (Supplier<ASObject> option : options)
+        option(option.get());
+      return (M)this;
+    }
     public M option(ASObject... options) {
-      if (options.length == 0) return (M)this;
+      if (options == null) return (M)this;
       for (ASObject option : options)
         option(option);
       return (M)this;
     }
+    public M option(Supplier<ASObject> object) {
+      return option(object.get());
+    }
     public M option(ASObject object) {
       if (object == null) return (M)this;
       a = true;

Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/Replies.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/Replies.java?rev=1202043&r1=1202042&r2=1202043&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/Replies.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/Replies.java Tue Nov 15 04:55:13 2011
@@ -6,6 +6,8 @@ import org.apache.abdera2.activities.mod
 import org.apache.abdera2.activities.model.Collection;
 import org.apache.abdera2.common.anno.Name;
 
+import com.google.common.base.Supplier;
+
 /**
  * Extension interface intended to be used with ASObject.extend() to 
  * provide a type-safe way of working with various extension properties
@@ -47,6 +49,21 @@ public interface Replies extends Extensi
     <X extends ASObject>Builder saves(Collection<X> collection);
     <X extends ASObject>Builder shares(Collection<X> collection);
     
+    <X extends ASObject>Builder attending(Supplier<Collection<X>> collection);
+    <X extends ASObject>Builder followers(Supplier<Collection<X>> collection);
+    <X extends ASObject>Builder following(Supplier<Collection<X>> collection);
+    <X extends ASObject>Builder friends(Supplier<Collection<X>> collection);
+    @Name("friend-requests") 
+    <X extends ASObject>Builder friendRequests(Supplier<Collection<X>> collection);
+    <X extends ASObject>Builder likes(Supplier<Collection<X>> collection);
+    <X extends ASObject>Builder notAttending(Supplier<Collection<X>> collection);
+    <X extends ASObject>Builder maybeAttending(Supplier<Collection<X>> collection);
+    <X extends ASObject>Builder members(Supplier<Collection<X>> collection);
+    <X extends ASObject>Builder replies(Supplier<Collection<X>> collection);
+    <X extends ASObject>Builder reviews(Supplier<Collection<X>> collection);
+    <X extends ASObject>Builder saves(Supplier<Collection<X>> collection);
+    <X extends ASObject>Builder shares(Supplier<Collection<X>> collection);
+    
   }
   
 }

Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TaskObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TaskObject.java?rev=1202043&r1=1202042&r2=1202043&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TaskObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/TaskObject.java Tue Nov 15 04:55:13 2011
@@ -12,6 +12,7 @@ import org.apache.abdera2.common.iri.IRI
 import org.joda.time.DateTime;
 import org.joda.time.Duration;
 
+import com.google.common.base.Supplier;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -97,10 +98,16 @@ public class TaskObject extends ASObject
     public Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
       super(map,_class,_builder);
     }
+    public M object(Supplier<ASObject> object) {
+      return object(object.get());
+    }
     public M object(ASObject object) {
       set("for",object);
       return (M)this;
     }
+    public M actor(Supplier<ASObject> object) {
+      return actor(object.get());
+    }
     public M actor(ASObject object) {
       set("actor",object);
       return (M)this;

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=1202043&r1=1202042&r2=1202043&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 Tue Nov 15 04:55:13 2011
@@ -26,6 +26,8 @@ import org.apache.abdera2.activities.mod
 import org.apache.abdera2.common.anno.Name;
 import org.joda.time.DateTime;
 
+import com.google.common.base.Supplier;
+
 /**
  * A simple "objectType":"tv-episode" object that serves primarily as an 
  * example of creating new ASObject types.
@@ -118,10 +120,16 @@ public class TvEpisodeObject extends Cre
     protected Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
       super(map,_class,_builder);
     }
+    public M actors(Supplier<ASObject> object) {
+      return actors(object.get());
+    }
     public M actors(ASObject obj) {
       set("actors",obj);
       return (M)this;
     }
+    public M director(Supplier<ASObject> object) {
+      return director(object.get());
+    }
     public M director(ASObject obj) {
       set("director",obj);
       return (M)this;
@@ -130,26 +138,44 @@ public class TvEpisodeObject extends Cre
       set("episodeNumber",n);
       return (M)this;
     }
+    public M season(Supplier<ASObject> object) {
+      return season(object.get());
+    }
     public M season(ASObject obj) {
       set("season",obj);
       return (M)this;
     }
+    public M series(Supplier<ASObject> object) {
+      return series(object.get());
+    }
     public M series(ASObject obj) {
       set("series",obj);
       return (M)this;
     }
+    public M musicBy(Supplier<ASObject> object) {
+      return musicBy(object.get());
+    }
     public M musicBy(ASObject obj) {
       set("musicBy",obj);
       return (M)this;
     }
+    public M preview(Supplier<MediaLink> object) {
+      return preview(object.get());
+    }
     public M preview(MediaLink obj) {
       set("preview",obj);
       return (M)this;
     }
+    public M producer(Supplier<ASObject> object) {
+      return producer(object.get());
+    }
     public M producer(ASObject obj) {
       set("producer",obj);
       return (M)this;
     }
+    public M productionCompany(Supplier<ASObject> object) {
+      return productionCompany(object.get());
+    }
     public M productionCompany(ASObject obj) {
       set("productionCompany",obj);
       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=1202043&r1=1202042&r2=1202043&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 Tue Nov 15 04:55:13 2011
@@ -26,6 +26,8 @@ import org.apache.abdera2.activities.mod
 import org.apache.abdera2.common.anno.Name;
 import org.joda.time.DateTime;
 
+import com.google.common.base.Supplier;
+
 /**
  * A simple "objectType":"tv-season" object that serves primarily as an 
  * example of creating new ASObject types.
@@ -122,10 +124,16 @@ public class TvSeasonObject extends Crea
     protected Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
       super(map,_class,_builder);
     }
+    public M actors(Supplier<ASObject> object) {
+      return actors(object.get());
+    }
     public M actors(ASObject obj) {
       set("actors",obj);
       return (M)this;
     }
+    public M director(Supplier<ASObject> object) {
+      return director(object.get());
+    }
     public M director(ASObject obj) {
       set("director",obj);
       return (M)this;
@@ -134,22 +142,37 @@ public class TvSeasonObject extends Crea
       set("seasonNumber",n);
       return (M)this;
     }
+    public M series(Supplier<ASObject> object) {
+      return series(object.get());
+    }
     public M series(ASObject obj) {
       set("series",obj);
       return (M)this;
     }
+    public M musicBy(Supplier<ASObject> object) {
+      return musicBy(object.get());
+    }
     public M musicBy(ASObject obj) {
       set("musicBy",obj);
       return (M)this;
     }
+    public M preview(Supplier<MediaLink> object) {
+      return preview(object.get());
+    }
     public M preview(MediaLink obj) {
       set("preview",obj);
       return (M)this;
     }
+    public M producer(Supplier<ASObject> object) {
+      return producer(object.get());
+    }
     public M producer(ASObject obj) {
       set("producer",obj);
       return (M)this;
     }
+    public M productionCompany(Supplier<ASObject> object) {
+      return productionCompany(object.get());
+    }
     public M productionCompany(ASObject obj) {
       set("productionCompany",obj);
       return (M)this;
@@ -162,6 +185,9 @@ public class TvSeasonObject extends Crea
       set("endDate",dt);
       return (M)this;
     }
+    public M episodes(Supplier<ASObject> object) {
+      return episodes(object.get());
+    }
     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=1202043&r1=1202042&r2=1202043&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 Tue Nov 15 04:55:13 2011
@@ -26,6 +26,8 @@ import org.apache.abdera2.activities.mod
 import org.apache.abdera2.common.anno.Name;
 import org.joda.time.DateTime;
 
+import com.google.common.base.Supplier;
+
 /**
  * A simple "objectType":"tv-series" object that serves primarily as an 
  * example of creating new ASObject types.
@@ -119,34 +121,58 @@ public class TvSeriesObject extends Crea
     protected Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
       super(map,_class,_builder);
     }
+    public M actors(Supplier<ASObject> object) {
+      return actors(object.get());
+    }
     public M actors(ASObject obj) {
       set("actors",obj);
       return (M)this;
     }
+    public M director(Supplier<ASObject> object) {
+      return director(object.get());
+    }
     public M director(ASObject obj) {
       set("director",obj);
       return (M)this;
     }
+    public M musicBy(Supplier<ASObject> object) {
+      return musicBy(object.get());
+    }
     public M musicBy(ASObject obj) {
       set("musicBy",obj);
       return (M)this;
     }
+    public M preview(Supplier<MediaLink> object) {
+      return preview(object.get());
+    }
     public M preview(MediaLink obj) {
       set("preview",obj);
       return (M)this;
     }
+    public M producer(Supplier<ASObject> object) {
+      return producer(object.get());
+    }
     public M producer(ASObject obj) {
       set("producer",obj);
       return (M)this;
     }
+    public M productionCompany(Supplier<ASObject> object) {
+      return productionCompany(object.get());
+    }
     public M productionCompany(ASObject obj) {
       set("productionCompany",obj);
       return (M)this;
     }
+    public M episodes(Supplier<ASObject> object) {
+      return episodes(object.get());
+    }
     public M episodes(ASObject obj) {
       set("episodes",obj);
       return (M)this;
     }
+    public M seasons(Supplier<ASObject> object) {
+      return seasons(object.get());
+    }
     public M seasons(ASObject obj) {
       set("seasons",obj);
       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=1202043&r1=1202042&r2=1202043&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 Tue Nov 15 04:55:13 2011
@@ -25,6 +25,8 @@ import org.apache.abdera2.activities.mod
 import org.apache.abdera2.common.anno.Name;
 import org.apache.abdera2.common.anno.Version;
 
+import com.google.common.base.Supplier;
+
 /**
  * Activity Stream object that represents a description of a Version 
  * of a referenced object. "objectType":"version"... The basic use 
@@ -101,6 +103,9 @@ public class VersionObject 
     protected Builder(Map<String,Object> map,Class<X>_class,Class<M>_builder) {
       super(map,_class,_builder);
     }
+    public M active(Supplier<VersionObject> object) {
+      return active(object.get());
+    }
     public M active(VersionObject object) {
       set("activeVersion",object);
       return (M)this;
@@ -121,18 +126,30 @@ public class VersionObject 
       set("status",status.name().toLowerCase());
       return (M)this;
     }
+    public M next(Supplier<VersionObject> object) {
+      return next(object.get());
+    }
     public M next(VersionObject val) {
       set("nextVersion",val);
       return (M)this;
     }
+    public M of(Supplier<VersionObject> object) {
+      return of(object.get());
+    }
     public M of(ASObject val) {
       set("of",val);
       return (M)this;
     }
+    public M previous(Supplier<VersionObject> object) {
+      return previous(object.get());
+    }
     public M previous(VersionObject val) {
       set("previousVersion",val);
       return (M)this;
     }
+    public M stable(Supplier<VersionObject> object) {
+      return stable(object.get());
+    }
     public M stable(VersionObject val) {
       set("stableVersion",val);
       return (M)this;

Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/VideoObject.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/VideoObject.java?rev=1202043&r1=1202042&r2=1202043&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/VideoObject.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/objects/VideoObject.java Tue Nov 15 04:55:13 2011
@@ -23,6 +23,8 @@ import org.apache.abdera2.activities.mod
 import org.apache.abdera2.activities.model.MediaLink;
 import org.apache.abdera2.common.anno.Name;
 
+import com.google.common.base.Supplier;
+
 public class VideoObject 
   extends ASObject {
  
@@ -62,6 +64,9 @@ public class VideoObject 
       set(EMBEDCODE,code);
       return (M)this;
     }
+    public M stream(Supplier<MediaLink> object) {
+      return stream(object.get());
+    }
     public M stream(MediaLink stream) {
       set(STREAM,stream);
       return (M)this;