UsualDbModel.java
package eu.javaexperience.database.impl;
import java.lang.reflect.Field;
import eu.javaexperience.database.impl.SqlMappingData.FieldData;
import eu.javaexperience.database.pojodb.Model;
import eu.javaexperience.reflect.Mirror;
public abstract class UsualDbModel implements Model
{
@Override
public String toString()
{
return Mirror.usualToString(this);
}
@Override
public abstract String getTable();
public Field getFieldByName(String name)
{
FieldData f = SqlMappingData.getOrCreateMapping(this).fieldNames.get(name);
if(null == f)
{
return null;
}
return f.field;
}
@Override
public Field[] getFields()
{
return SqlMappingData.getOrCreateMapping(this).fields;
}
@Override
public Field getIdField()
{
FieldData fd = SqlMappingData.getOrCreateMapping(this).id;
if(null == fd)
{
return null;
}
return fd.field;
}
public Object getId()
{
try
{
return getIdField().get(this);
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
}
}