/* * Created on 23.10.2004 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package com.idega.slide.schema; import java.util.ArrayList; import java.util.List; import com.idega.util.dbschema.CompositePrimaryKeyException; import com.idega.util.dbschema.PrimaryKey; import com.idega.util.dbschema.SchemaColumn; /** * @author aron * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class SlidePrimaryKey implements PrimaryKey { private List fields = new ArrayList(); private boolean composite = false; public SlidePrimaryKey(){ } public SlidePrimaryKey(SlideSchemaColumn field ){ addField(field); } /* (non-Javadoc) * @see com.idega.data.store.PrimaryKeyDefinition#getFields() */ public SchemaColumn[] getColumns() { return (SchemaColumn[]) this.fields.toArray(new SlideSchemaColumn[0]); } /* (non-Javadoc) * @see com.idega.data.store.PrimaryKeyDefinition#getField() */ public SchemaColumn getColumn() throws CompositePrimaryKeyException { if(this.fields.size()==1) { return (SlideSchemaColumn)this.fields.get(0); } return null; } /* (non-Javadoc) * @see com.idega.data.store.PrimaryKeyDefinition#isComposite() */ public boolean isComposite() { return this.composite; } /* (non-Javadoc) * @see com.idega.data.store.PrimaryKeyDefinition#getPrimaryKeyClass() */ public Class getPrimaryKeyClass() { if(this.fields.size()==1) { return ((SlideSchemaColumn)this.fields.get(0)).getDataTypeClass(); } return null; } protected void addField(SlideSchemaColumn field){ this.fields.add(field); if(this.fields.size()>1){ this.composite = true; } } }