package com.libreecm.commonAPI.model.objects;

import java.math.BigInteger;
import java.util.ArrayList;

import com.libreecm.commonAPI.model.enums.BaseTypeId;
import com.libreecm.commonAPI.model.enums.Cardinality;
import com.libreecm.commonAPI.model.enums.PropertyIds;
import com.libreecm.commonAPI.model.enums.PropertyType;
import com.libreecm.commonAPI.model.enums.Updatability;
import com.libreecm.commonAPI.model.objects.properties.PropertyIntegerDefinitionImpl;
import com.libreecm.commonAPI.model.objects.properties.PropertyStringDefinitionImpl;

public class RenditionDataObjectType extends ObjectType{

	public RenditionDataObjectType() {
		super();
		super.getPropertyDefinitions().put("cmis:kind",new PropertyStringDefinitionImpl					("Kind","cmis:kind","Kind","","cmis:kind","cmis:kind",								PropertyType.STRING,Cardinality.SINGLE,Updatability.READONLY,			true,false,false,false,						new ArrayList<String>(),true,new ArrayList<Choice<String>>()));
    	super.getPropertyDefinitions().put("cmis:renditionDocumentId",new PropertyStringDefinitionImpl					("Rendition Document Id","cmis:renditionDocumentId","Rendition Document Id","","cmis:renditionDocumentId","cmis:renditionDocumentId",								PropertyType.STRING,Cardinality.SINGLE,Updatability.READONLY,			true,false,false,false,						new ArrayList<String>(),true,new ArrayList<Choice<String>>()));
    	super.getPropertyDefinitions().put(PropertyIds.CONTENT_STREAM_MIME_TYPE,new PropertyStringDefinitionImpl					("Allowed Source Type Ids",PropertyIds.CONTENT_STREAM_MIME_TYPE,"Allowed Source Type Ids","",PropertyIds.CONTENT_STREAM_MIME_TYPE,PropertyIds.CONTENT_STREAM_MIME_TYPE,								PropertyType.STRING,Cardinality.SINGLE,Updatability.READONLY,			true,false,false,false,						new ArrayList<String>(),true,new ArrayList<Choice<String>>()));
    	super.getPropertyDefinitions().put("cmis:streamId",new PropertyStringDefinitionImpl					("Stream Id","cmis:streamId","Stream Id","","cmis:streamId","cmis:streamId",								PropertyType.STRING,Cardinality.SINGLE,Updatability.READONLY,			true,false,false,false,						new ArrayList<String>(),true,new ArrayList<Choice<String>>()));
    	super.getPropertyDefinitions().put("cmis:title",new PropertyStringDefinitionImpl					("Title","cmis:title","Title","","cmis:title","cmis:title",								PropertyType.STRING,Cardinality.SINGLE,Updatability.READONLY,			true,false,false,false,						new ArrayList<String>(),true,new ArrayList<Choice<String>>()));
    	
    	super.getPropertyDefinitions().put("cmis:height",new PropertyIntegerDefinitionImpl					("Height","cmis:height","Height","","cmis:height","cmis:height",								PropertyType.INTEGER,Cardinality.SINGLE,Updatability.READONLY,			true,false,false,false,						new ArrayList<BigInteger>(),true,new ArrayList<Choice<BigInteger>>()));
    	super.getPropertyDefinitions().put("cmis:height",new PropertyIntegerDefinitionImpl					("Height","cmis:height","Height","","cmis:height","cmis:height",								PropertyType.INTEGER,Cardinality.SINGLE,Updatability.READONLY,			true,false,false,false,						new ArrayList<BigInteger>(),true,new ArrayList<Choice<BigInteger>>()));
    	super.getPropertyDefinitions().put("cmis:width",new PropertyIntegerDefinitionImpl					("width","cmis:width","width","","cmis:width","cmis:width",								PropertyType.INTEGER,Cardinality.SINGLE,Updatability.READONLY,			true,false,false,false,						new ArrayList<BigInteger>(),true,new ArrayList<Choice<BigInteger>>()));

		//this.setId(BaseTypeId..CMIS_RENDITION.value());
		//this.setBaseTypeId(BaseTypeId.CMIS_RENDITION);
		}
}
