diff --git a/Pair-Java/src/main/java/com/trywildcard/pair/model/AbstractCard.java b/Pair-Java/src/main/java/com/trywildcard/pair/model/AbstractCard.java index 8fc276a..7d3dd4e 100644 --- a/Pair-Java/src/main/java/com/trywildcard/pair/model/AbstractCard.java +++ b/Pair-Java/src/main/java/com/trywildcard/pair/model/AbstractCard.java @@ -5,6 +5,7 @@ import com.trywildcard.pair.exception.CardBuilderException; import com.trywildcard.pair.extraction.MetaTagExtractor; import com.trywildcard.pair.extraction.MetaTagModel; +import com.trywildcard.pair.model.action.Action; import com.trywildcard.pair.model.creator.Creator; import com.trywildcard.pair.util.CardSerializer; import com.trywildcard.pair.validation.ValidationTool; @@ -28,10 +29,12 @@ public abstract class AbstractCard implements Card { private Creator creator; + /* List of definable actions that are available for this card */ + private List actions; + @JsonIgnore protected MetaTagModel metaTagModel; - @JsonIgnore protected ValidationTool v = new ValidationTool(); @@ -53,6 +56,13 @@ public void setKeywords(List keywords) throws CardBuilderException { } } + public void setActions(List actions) throws CardBuilderException { + boolean isValid = v.optional(v.notNullOrEmpty(actions), "Actions cannot be null."); + if (isValid) { + this.actions = actions; + } + } + protected void webUrl(String webUrl) throws CardBuilderException { boolean isValid = v.required(v.notNullOrEmpty(webUrl), "Must specify a card webUrl."); if (isValid) { @@ -119,6 +129,8 @@ public String getAppLinkAndroid() { public Creator getCreator() { return creator; } + public List getActions() { return actions; } + /** * Serialize fields in the Wildcard card format. * @return the string representation of this card. diff --git a/Pair-Java/src/main/java/com/trywildcard/pair/model/action/Action.java b/Pair-Java/src/main/java/com/trywildcard/pair/model/action/Action.java new file mode 100644 index 0000000..b800bb0 --- /dev/null +++ b/Pair-Java/src/main/java/com/trywildcard/pair/model/action/Action.java @@ -0,0 +1,25 @@ +package com.trywildcard.pair.model.action; + +import java.net.URL; +import java.util.List; + +/** + * Created by karthiksenthil on 2/25/15. + */ +public interface Action { + + public String getName(); + + public ActionType getMethod(); + + public URL getUrl(); + + public List getRequiredParameters(); + + public List getOptionalParameters(); + + public enum ActionType { + GET, POST, DELETE + } + +}