package com.libreecm.commonAPI.model;
import java.util.List;
import java.util.Set;

//import com.fasterxml.jackson.annotation.JsonIgnore;
import com.libreecm.commonAPI.model.enums.PropertyType;

public class CreatablePropertyTypes  extends LibreECMObject {

	private String id;

	public String getId() {
		return id="0";
	}
    
	private static final long serialVersionUID = 1L;


	/**
	 * @return the propertyTypeSet
	 */
	public Set<PropertyType> getPropertyTypeSet() {
		return propertyTypeSet;
	}

	/**
	 * @param propertyTypeSet the propertyTypeSet to set
	 */
	public void setPropertyTypeSet(Set<PropertyType> propertyTypeSet) {
		this.propertyTypeSet = propertyTypeSet;
	}

	/**
	 * @return the cmisExtensionElements
	 */
	public List<CmisExtensionElement> getCmisExtensionElements() {
		return cmisExtensionElements;
	}

	/**
	 * @param cmisExtensionElements the cmisExtensionElements to set
	 */
	public void setCmisExtensionElements(List<CmisExtensionElement> cmisExtensionElements) {
		this.cmisExtensionElements = cmisExtensionElements;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(String id) {
		this.id = (id);
	}

	public CreatablePropertyTypes(){
	}
	
    public CreatablePropertyTypes(Set<PropertyType> propertyTypeSet,
			List<CmisExtensionElement> cmisExtensionElements) {
		this.propertyTypeSet = propertyTypeSet;
		this.cmisExtensionElements = cmisExtensionElements;
	}

	/**
    * A collection of properties types changed by this 
    */
    private Set<PropertyType> propertyTypeSet;
	
    private List<CmisExtensionElement> cmisExtensionElements;

/**	@JsonIgnore
	@Deprecated
	public Set<PropertyType> canCreate() {
	     if (propertyTypeSet == null) {
	         propertyTypeSet = new HashSet<PropertyType>();
	     }
	    return propertyTypeSet;
	}

	@JsonIgnore
	@Deprecated
	public void setCanCreate(Set<PropertyType> propertyTypeSet) {
	      this.propertyTypeSet = propertyTypeSet;
	}

	@JsonIgnore
	@Deprecated
	public List<CmisExtensionElement> getExtensions() {
		ArrayList<CmisExtensionElement> array= new ArrayList<CmisExtensionElement>();
		array.addAll(this.cmisExtensionElements);
		return array;
	} 

	@JsonIgnore
	@Deprecated
	public void setExtensions(List<CmisExtensionElement> arg0) {
		this.cmisExtensionElements=arg0;
	}
	*/
	public String toString(){
		return "CreatablePropertyType: "+id+" , propertiesSet: "+this.propertyTypeSet+" extensions: "+this.cmisExtensionElements;
	}
}
