DataReprezComponentTypes.java
package eu.javaexperience.datareprez.convertFrom;
import eu.javaexperience.datareprez.DataArray;
import eu.javaexperience.datareprez.DataObject;
public enum DataReprezComponentTypes
{
NULL(void.class, Void.class),
Boolean(boolean.class, Boolean.class),
Integer(int.class, Integer.class),
Long(long.class, Long.class),
Double(double.class, Double.class),
String(String.class),
Blob(byte[].class),
DataObject(DataObject.class),
DataArray(DataArray.class),
;
protected final Class[] nativeClasses;
private DataReprezComponentTypes(Class... nativeClasses)
{
this.nativeClasses = nativeClasses;
}
public boolean isAccepatble(Object o)
{
for(Class c:nativeClasses)
{
if(c.isInstance(o))
{
return true;
}
}
return false;
}
public static DataReprezComponentTypes recognise(Class<?> valueType)
{
for(DataReprezComponentTypes v:values())
{
for(Class c:v.nativeClasses)
{
if(c == valueType)
{
return v;
}
}
}
return null;
}
}