Search in sources :

Example 1 with DataField

use of com.orm.androrm.field.DataField in project androrm by androrm.

the class DatabaseBuilder method getFieldDefinitions.

private static final <T extends Model> void getFieldDefinitions(T instance, Class<T> clazz, TableDefinition modelTable) throws IllegalArgumentException, IllegalAccessException {
    if (clazz != null && clazz.isInstance(instance)) {
        ModelCache.addModel(clazz);
        for (Field field : getFields(clazz, instance)) {
            String name = field.getName();
            Object o = field.get(instance);
            if (o instanceof DataField) {
                DataField<?> fieldObject = (DataField<?>) o;
                modelTable.addField(name, fieldObject);
            }
            if (o instanceof ManyToManyField) {
                modelTable.addRelationalClass(clazz);
            }
        }
        getFieldDefinitions(instance, Model.getSuperclass(clazz), modelTable);
    }
}
Also used : ManyToManyField(com.orm.androrm.field.ManyToManyField) OneToManyField(com.orm.androrm.field.OneToManyField) ForeignKeyField(com.orm.androrm.field.ForeignKeyField) Field(java.lang.reflect.Field) DataField(com.orm.androrm.field.DataField) DataField(com.orm.androrm.field.DataField) ManyToManyField(com.orm.androrm.field.ManyToManyField)

Aggregations

DataField (com.orm.androrm.field.DataField)1 ForeignKeyField (com.orm.androrm.field.ForeignKeyField)1 ManyToManyField (com.orm.androrm.field.ManyToManyField)1 OneToManyField (com.orm.androrm.field.OneToManyField)1 Field (java.lang.reflect.Field)1