/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.metadata.runtime.impl; import java.util.Collection; import org.teiid.designer.metadata.runtime.TableRecord; /** * TableRecordImpl * * @since 8.0 */ public class TableRecordImpl extends ColumnSetRecordImpl implements TableRecord { /** */ private static final long serialVersionUID = 1L; private int cardinality; private int tableType; private Object primaryKeyID; private Object materializedTableID; private Object materializedStageTableID; private Collection foreignKeyIDs; private Collection indexIDs; private Collection uniqueKeyIDs; private Collection accessPatternIDs; private boolean isVirtual; private boolean isSystem; private boolean isMaterialized; private boolean supportsUpdate; private boolean isTempTable; // ================================================================================== // C O N S T R U C T O R S // ================================================================================== public TableRecordImpl() { this(new MetadataRecordDelegate()); } protected TableRecordImpl(MetadataRecordDelegate delegate) { this.delegate = delegate; } //================================================================================== // I N T E R F A C E M E T H O D S //================================================================================== /* (non-Javadoc) * @see org.teiid.designer.metadata.runtime.TableRecord#getAccessPatternIDs() */ @Override public Collection getAccessPatternIDs() { return accessPatternIDs; } /* (non-Javadoc) * @see org.teiid.designer.metadata.runtime.TableRecord#getCardinality() */ @Override public int getCardinality() { return cardinality; } /* (non-Javadoc) * @see org.teiid.designer.metadata.runtime.TableRecord#getForeignKeyIDs() */ @Override public Collection getForeignKeyIDs() { return foreignKeyIDs; } /* (non-Javadoc) * @see org.teiid.designer.metadata.runtime.TableRecord#getIndexIDs() */ @Override public Collection getIndexIDs() { return indexIDs; } /* (non-Javadoc) * @see org.teiid.designer.metadata.runtime.TableRecord#getPrimaryKeyID() */ @Override public Object getPrimaryKeyID() { return primaryKeyID; } /* (non-Javadoc) * @see org.teiid.designer.metadata.runtime.TableRecord#getUniqueKeyIDs() */ @Override public Collection getUniqueKeyIDs() { return uniqueKeyIDs; } /* (non-Javadoc) * @see org.teiid.designer.metadata.runtime.TableRecord#isVirtual() */ @Override public boolean isVirtual() { return isVirtual; } /** * @see org.teiid.designer.metadata.runtime.TableRecord#isMaterialized() * @since 4.2 */ @Override public boolean isMaterialized() { return isMaterialized; } /** * @see org.teiid.designer.metadata.runtime.TableRecord#isTempTable() */ @Override public boolean isTempTable() { return isTempTable; } /** * @see org.teiid.designer.metadata.runtime.TableRecord#isPhysical() */ @Override public boolean isPhysical() { return !isVirtual(); } /** * @see org.teiid.designer.metadata.runtime.TableRecord#isSystem() */ @Override public boolean isSystem() { return isSystem; } /* * @see org.teiid.designer.metadata.runtime.TableRecord#getTableType() */ @Override public int getTableType() { return tableType; } /** * @see org.teiid.designer.metadata.runtime.TableRecord#getMaterializedStageTableID() * @since 4.2 */ @Override public Object getMaterializedStageTableID() { return this.materializedStageTableID; } /** * @see org.teiid.designer.metadata.runtime.TableRecord#getMaterializedTableID() * @since 4.2 */ @Override public Object getMaterializedTableID() { return this.materializedTableID; } /* (non-Javadoc) * @see org.teiid.designer.metadata.runtime.TableRecord#supportsUpdate() */ @Override public boolean supportsUpdate() { return supportsUpdate; } // ================================================================================== // P U B L I C M E T H O D S // ================================================================================== /** * @param i */ public void setCardinality(int i) { cardinality = i; } /** * @param i */ public void setTableType(int i) { tableType = i; } /** * @param object */ public void setPrimaryKeyID(Object keyID) { primaryKeyID = keyID; } /** * @param b */ public void setSupportsUpdate(boolean b) { supportsUpdate = b; } /** * @param b */ public void setVirtual(boolean b) { isVirtual = b; } /** * @param isMaterialized The isMaterialized to set. * @since 4.2 */ public void setMaterialized(boolean isMaterialized) { this.isMaterialized = isMaterialized; } /** * @param isTempTable The isTempTable to set. * @since 4.2 */ public void setTempTable(boolean isTempTable) { this.isTempTable = isTempTable; } /** * @param b */ public void setSystem(boolean b) { isSystem = b; } /** * @param collection */ public void setAccessPatternIDs(Collection collection) { accessPatternIDs = collection; } /** * @param collection */ public void setForeignKeyIDs(Collection collection) { foreignKeyIDs = collection; } /** * @param materializedStageTableID The materializedStageTableID to set. * @since 4.2 */ public void setMaterializedStageTableID(Object materializedStageTableID) { this.materializedStageTableID = materializedStageTableID; } /** * @param materializedTableID The materializedTableID to set. * @since 4.2 */ public void setMaterializedTableID(Object materializedTableID) { this.materializedTableID = materializedTableID; } /** * @param collection */ public void setIndexIDs(Collection collection) { indexIDs = collection; } /** * @param collection */ public void setUniqueKeyIDs(Collection collection) { uniqueKeyIDs = collection; } @Override public String toString() { StringBuffer sb = new StringBuffer(100); sb.append(getClass().getSimpleName()); sb.append(" name="); //$NON-NLS-1$ sb.append(getName()); sb.append(", nameInSource="); //$NON-NLS-1$ sb.append(getNameInSource()); sb.append(", uuid="); //$NON-NLS-1$ sb.append(getUUID()); sb.append(", pathInModel="); //$NON-NLS-1$ sb.append(getPath()); return sb.toString(); } }