package org.imsglobal.lti2.objects; import org.imsglobal.lti2.LTI2Config; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Collections; import javax.annotation.Generated; import org.codehaus.jackson.annotate.JsonAnyGetter; import org.codehaus.jackson.annotate.JsonAnySetter; import org.codehaus.jackson.annotate.JsonProperty; import org.codehaus.jackson.annotate.JsonPropertyOrder; import org.codehaus.jackson.map.annotate.JsonSerialize; @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) @Generated("com.googlecode.jsonschema2pojo") @JsonPropertyOrder({ "@context", "@type", "@id", "lti_version", "guid", "product_instance", "capability_offered", "service_offered" }) public class ToolConsumer { @JsonProperty("@context") private List<Object> _context = new ArrayList<Object>(); @JsonProperty("@type") private String _type; @JsonProperty("@id") private String _id; @JsonProperty("lti_version") private String lti_version; @JsonProperty("guid") private String guid; @JsonProperty("product_instance") private Product_instance product_instance; @JsonProperty("capability_offered") private List<String> capability_offered = new ArrayList<String>(); @JsonProperty("service_offered") private List<Service_offered> service_offered = new ArrayList<Service_offered>(); private Map<String, Object> additionalProperties = new HashMap<String, Object>(); public static String[] STANDARD_CAPABILITIES = { "basic-lti-launch-request" , "User.id", "User.image" , "CourseSection.sourcedId", "Person.sourcedId", "Membership.role" } ; // Constructor public ToolConsumer(String guid, String tcp, LTI2Config cnf) { this._context.add("http://purl.imsglobal.org/ctx/lti/v2/ToolConsumerProfile"); NamedContext nc = new NamedContext(); nc.setAdditionalProperties("tcp", tcp); this._context.add(nc); this._type = "ToolConsumerProfile"; this.lti_version = "LTI-2p0"; this.guid = guid; this.product_instance = new Product_instance(cnf); addCapabilites(STANDARD_CAPABILITIES); } @JsonProperty("@context") public List<Object> get_context() { return _context; } @JsonProperty("@context") public void set_context(List<Object> _context) { this._context = _context; } @JsonProperty("@type") public String get_type() { return _type; } @JsonProperty("@type") public void set_type(String _type) { this._type = _type; } @JsonProperty("@id") public String get_id() { return _id; } @JsonProperty("@id") public void set_id(String _id) { this._id = _id; } @JsonProperty("lti_version") public String getLti_version() { return lti_version; } @JsonProperty("lti_version") public void setLti_version(String lti_version) { this.lti_version = lti_version; } @JsonProperty("guid") public String getGuid() { return guid; } @JsonProperty("guid") public void setGuid(String guid) { this.guid = guid; } @JsonProperty("product_instance") public Product_instance getProduct_instance() { return product_instance; } @JsonProperty("product_instance") public void setProduct_instance(Product_instance product_instance) { this.product_instance = product_instance; } @JsonProperty("capability_offered") public List<String> getCapability_offered() { return capability_offered; } @JsonProperty("capability_offered") public void setCapability_offered(List<String> capability_offered) { this.capability_offered = capability_offered; } @JsonProperty("service_offered") public List<Service_offered> getService_offered() { return service_offered; } @JsonProperty("service_offered") public void setService_offered(List<Service_offered> service_offered) { this.service_offered = service_offered; } @JsonAnyGetter public Map<String, Object> getAdditionalProperties() { return this.additionalProperties; } @JsonAnySetter public void setAdditionalProperties(String name, Object value) { this.additionalProperties.put(name, value); } // Convienence method public void addCapabilites(String [] capabilities) { Collections.addAll(this.capability_offered, capabilities); } }