package com.appmetr.hercules.metadata;
import com.appmetr.hercules.keys.ForeignKey;
import com.appmetr.hercules.serializers.AbstractHerculesSerializer;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
public class ForeignKeyMetadata {
private Class<? extends ForeignKey> keyClass; // used for all keys include primitive
private String columnFamily; // used for foreign keys (indexes)
private Class<? extends AbstractHerculesSerializer> serializer;
private List<Field> keyFields = new ArrayList<Field>(); // used for all composite keys (PrimaryKeys and ForeignKeys)
public Class<? extends ForeignKey> getKeyClass() { return keyClass; }
public void setKeyClass(Class<? extends ForeignKey> keyClass) { this.keyClass = keyClass; }
public String getColumnFamily() { return columnFamily; }
public void setColumnFamily(String columnFamily) { this.columnFamily = columnFamily; }
public Class<? extends AbstractHerculesSerializer> getSerializer() { return serializer; }
public void setSerializer(Class<? extends AbstractHerculesSerializer> serializer) { this.serializer = serializer; }
public List<Field> getKeyFields() { return keyFields; }
public void setKeyFields(List<Field> keyFields) { this.keyFields = keyFields; }
public void addKeyField(Field field) { keyFields.add(field); }
}