package org.eclipse.osbp.authentication.account.datatypes {
	
	datatype boolean jvmType java.lang.Boolean as primitive;
	datatype short jvmType java.lang.Short as primitive;
	datatype int jvmType java.lang.Integer as primitive;
	datatype long jvmType java.lang.Long as primitive;
	datatype double jvmType java.lang.Double as primitive;
	datatype float jvmType java.lang.Float as primitive;
	datatype character jvmType java.lang.Character as primitive;
	datatype byte jvmType java.lang.Byte as primitive;

	datatype Boolean jvmType java.lang.Boolean;
	datatype Short jvmType java.lang.Short;
	datatype Int jvmType java.lang.Integer;
	datatype Long jvmType java.lang.Long;
	datatype Double jvmType java.lang.Double;
	datatype Float jvmType java.lang.Float;
	datatype Character jvmType java.lang.Character;
	datatype Byte jvmType java.lang.Byte;
	datatype BigDecimal jvmType java.math.BigDecimal;

	datatype String jvmType java.lang.String;
	datatype BlobImage jvmType java.lang.String properties (key="Blob" value="2");
	datatype Date dateType date;
	datatype datetype dateType date;
	datatype timetype dateType time;
	datatype blobtype as blob;	
}