/**
*
*/
package org.openflexo.tm.hibernate.impl.enums;
import java.util.Date;
import java.util.Enumeration;
/**
* Defines all hibernate attribute types available
*
* @author Nicolas Daniels
*/
public enum HibernateAttributeType {
/** Limited length text type. */
STRING,
/** Unlimited length text type. */
TEXT,
/** Enumeration type. */
ENUM,
/** Boolean type. */
BOOLEAN,
/** Date type. */
DATE,
/** Integer type. */
INTEGER,
/** Decimal number type. */
DOUBLE,
/** Big integer type. */
LONG,
/** Bytes type. */
BYTES;
/**
* Return the java class link to this type
*
* @return the java class link to this type
*/
public Class<? extends Object> getAsClass() {
switch (this) {
case DOUBLE:
return Double.class;
case LONG:
return Long.class;
case INTEGER:
return Integer.class;
case BOOLEAN:
return Boolean.class;
case ENUM:
return Enumeration.class;
case STRING:
case TEXT:
return String.class;
case DATE:
return Date.class;
default:
return Object.class;
}
}
}