org.gcube.data.analysis.tabulardata.cube.tablemanagers
Class DefaultTableCreator

java.lang.Object
  extended by org.gcube.data.analysis.tabulardata.cube.tablemanagers.DefaultTableCreator
All Implemented Interfaces:
TableCreator
Direct Known Subclasses:
CodelistCreator, DatasetCreator, HCLCreator, StatefulTableCreator, ViewTableCreator

public abstract class DefaultTableCreator
extends Object
implements TableCreator


Field Summary
protected  org.gcube.data.analysis.tabulardata.cube.data.DatabaseWrangler dbWrangler
           
protected  org.gcube.data.analysis.tabulardata.cube.metadata.CubeMetadataWrangler mdWrangler
           
protected  TableManager tableManager
           
 
Constructor Summary
DefaultTableCreator(org.gcube.data.analysis.tabulardata.cube.data.DatabaseWrangler dbWrangler, org.gcube.data.analysis.tabulardata.cube.metadata.CubeMetadataWrangler mdWrangler, TableManager tableManager)
           
 
Method Summary
 TableCreator addColumn(org.gcube.data.analysis.tabulardata.model.column.Column column)
           
 TableCreator addColumns(org.gcube.data.analysis.tabulardata.model.column.Column... columns)
           
protected abstract  void addIndexes(String tableName, Collection<org.gcube.data.analysis.tabulardata.model.column.Column> columns)
           
protected abstract  void addNewColumn(org.gcube.data.analysis.tabulardata.model.column.Column column)
           
protected  void checkColumnsRelationship(Collection<org.gcube.data.analysis.tabulardata.model.column.Column> columns)
           
protected abstract  void checkConsistency()
           
protected  void checkDuplicateLabels(Collection<org.gcube.data.analysis.tabulardata.model.column.Column> columns)
           
protected  void cloneMetadata(org.gcube.data.analysis.tabulardata.model.table.Table sourceTable, org.gcube.data.analysis.tabulardata.model.table.Table destTable)
           
 org.gcube.data.analysis.tabulardata.model.table.Table create()
           
protected abstract  org.gcube.data.analysis.tabulardata.model.table.Table createBaseTable(String tableName, Collection<org.gcube.data.analysis.tabulardata.model.column.Column> columns)
           
protected abstract  Collection<org.gcube.data.analysis.tabulardata.model.column.Column> getAllColumns()
           
protected abstract  Collection<org.gcube.data.analysis.tabulardata.model.column.Column> getColumnsToRemove()
           
protected abstract  Collection<org.gcube.data.analysis.tabulardata.model.column.Column> getNewColumns()
           
protected abstract  org.gcube.data.analysis.tabulardata.model.table.Table getTableToClone()
           
protected abstract  boolean isAllowedCloneableTable(org.gcube.data.analysis.tabulardata.model.table.Table table)
           
protected abstract  boolean isAllowedColumn(org.gcube.data.analysis.tabulardata.model.column.Column column)
           
protected abstract  boolean isCloneWithData()
           
protected  boolean isLabelPresent(String label, List<org.gcube.data.analysis.tabulardata.model.column.Column> columns)
           
 TableCreator like(org.gcube.data.analysis.tabulardata.model.table.Table table, boolean withData)
           
 TableCreator like(org.gcube.data.analysis.tabulardata.model.table.Table table, boolean withData, Collection<org.gcube.data.analysis.tabulardata.model.column.Column> columnsToRemove)
           
protected abstract  void setCloneWithData(boolean cloneWithData)
           
protected  void setColumnNames(Collection<org.gcube.data.analysis.tabulardata.model.column.Column> columns)
           
protected abstract  void setColumnsToRemove(Collection<org.gcube.data.analysis.tabulardata.model.column.Column> columns)
           
protected abstract  void setTableToClone(org.gcube.data.analysis.tabulardata.model.table.Table table)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dbWrangler

protected org.gcube.data.analysis.tabulardata.cube.data.DatabaseWrangler dbWrangler

mdWrangler

protected org.gcube.data.analysis.tabulardata.cube.metadata.CubeMetadataWrangler mdWrangler

tableManager

protected TableManager tableManager
Constructor Detail

DefaultTableCreator

public DefaultTableCreator(org.gcube.data.analysis.tabulardata.cube.data.DatabaseWrangler dbWrangler,
                           org.gcube.data.analysis.tabulardata.cube.metadata.CubeMetadataWrangler mdWrangler,
                           TableManager tableManager)
Method Detail

addColumn

public TableCreator addColumn(org.gcube.data.analysis.tabulardata.model.column.Column column)
Specified by:
addColumn in interface TableCreator

addColumns

public TableCreator addColumns(org.gcube.data.analysis.tabulardata.model.column.Column... columns)
Specified by:
addColumns in interface TableCreator

like

public TableCreator like(org.gcube.data.analysis.tabulardata.model.table.Table table,
                         boolean withData)
Specified by:
like in interface TableCreator

like

public TableCreator like(org.gcube.data.analysis.tabulardata.model.table.Table table,
                         boolean withData,
                         Collection<org.gcube.data.analysis.tabulardata.model.column.Column> columnsToRemove)
Specified by:
like in interface TableCreator

create

public org.gcube.data.analysis.tabulardata.model.table.Table create()
                                                             throws TableCreationException
Specified by:
create in interface TableCreator
Throws:
TableCreationException

addIndexes

protected abstract void addIndexes(String tableName,
                                   Collection<org.gcube.data.analysis.tabulardata.model.column.Column> columns)

createBaseTable

protected abstract org.gcube.data.analysis.tabulardata.model.table.Table createBaseTable(String tableName,
                                                                                         Collection<org.gcube.data.analysis.tabulardata.model.column.Column> columns)

checkDuplicateLabels

protected void checkDuplicateLabels(Collection<org.gcube.data.analysis.tabulardata.model.column.Column> columns)
                             throws TableCreationException
Throws:
TableCreationException

setColumnNames

protected void setColumnNames(Collection<org.gcube.data.analysis.tabulardata.model.column.Column> columns)

isLabelPresent

protected boolean isLabelPresent(String label,
                                 List<org.gcube.data.analysis.tabulardata.model.column.Column> columns)

checkColumnsRelationship

protected void checkColumnsRelationship(Collection<org.gcube.data.analysis.tabulardata.model.column.Column> columns)
                                 throws Exception
Throws:
Exception

cloneMetadata

protected void cloneMetadata(org.gcube.data.analysis.tabulardata.model.table.Table sourceTable,
                             org.gcube.data.analysis.tabulardata.model.table.Table destTable)

checkConsistency

protected abstract void checkConsistency()
                                  throws TableCreationException
Throws:
TableCreationException

isAllowedColumn

protected abstract boolean isAllowedColumn(org.gcube.data.analysis.tabulardata.model.column.Column column)

getAllColumns

protected abstract Collection<org.gcube.data.analysis.tabulardata.model.column.Column> getAllColumns()

getNewColumns

protected abstract Collection<org.gcube.data.analysis.tabulardata.model.column.Column> getNewColumns()

addNewColumn

protected abstract void addNewColumn(org.gcube.data.analysis.tabulardata.model.column.Column column)

isAllowedCloneableTable

protected abstract boolean isAllowedCloneableTable(org.gcube.data.analysis.tabulardata.model.table.Table table)

getTableToClone

protected abstract org.gcube.data.analysis.tabulardata.model.table.Table getTableToClone()

setTableToClone

protected abstract void setTableToClone(org.gcube.data.analysis.tabulardata.model.table.Table table)

isCloneWithData

protected abstract boolean isCloneWithData()

setCloneWithData

protected abstract void setCloneWithData(boolean cloneWithData)

getColumnsToRemove

protected abstract Collection<org.gcube.data.analysis.tabulardata.model.column.Column> getColumnsToRemove()

setColumnsToRemove

protected abstract void setColumnsToRemove(Collection<org.gcube.data.analysis.tabulardata.model.column.Column> columns)


Copyright © 2013. All Rights Reserved.