@SuppressWarnings("unchecked") protected Object getModelValue(Object inValue, String columnName) { ModelContainerAdapter<? extends Model> modelContainerAdapter = FlowManager.getContainerAdapter(getTable()); Class<? extends Model> columnClass = (Class<? extends Model>) modelContainerAdapter.getClassForColumn(columnName); ModelContainerAdapter<? extends Model> columnAdapter = FlowManager.getContainerAdapter(columnClass); if (columnAdapter != null) { inValue = columnAdapter.toModel(getInstance(inValue, columnClass)); } else { throw new RuntimeException( "Column: " + columnName + "'s class needs to add the @ContainerAdapter annotation"); } return inValue; }
@Override public ModelClass toModel() { if (model == null && data != null) { model = modelContainerAdapter.toModel(this); } return model; }
@Override public boolean exists() { return modelContainerAdapter.exists(this); }
@Override public void insert() { modelContainerAdapter.insert(this); }
@Override public void update() { modelContainerAdapter.update(this); }
@Override public void delete() { modelContainerAdapter.delete(this); }
@Override public void save() { modelContainerAdapter.save(this); }