DatabaseFieldManager.java

package eu.javaexperience.database;

import java.lang.reflect.Field;

import eu.javaexperience.database.pojodb.Model;

public class DatabaseFieldManager
{
	protected final String tableName;
	protected final Field[] SQL_FIELDS;
	protected final Field ID_FIELD;
	
	public DatabaseFieldManager(Class<? extends Model> cls, String table, String id_field)
	{
		this.tableName = table;
		SQL_FIELDS = JDBC.simpleSelectClassSqlFileds(cls);
		ID_FIELD = whereFieldName(SQL_FIELDS, id_field);
	}

	public static Field whereFieldName(Field[] sqlFields, String name)
	{
		for(Field f: sqlFields)
		{
			if(name.equals(f.getName()))
			{
				return f;
			}
		}
		
		throw new RuntimeException("Field "+name+" not found.");
	}

	public String getTable()
	{
		return tableName;
	}


	public Field[] getFields()
	{
		return SQL_FIELDS;
	}


	public Field getIdField()
	{
		return ID_FIELD;
	}
}