package org.cloudgraph.config; import java.io.OutputStream; import java.nio.charset.Charset; import java.util.List; import javax.xml.namespace.QName; import commonj.sdo.Type; public interface Config { public void marshal(OutputStream stream); public List<Property> getProperties(); public Property findProperty(String name); public ConfigProperties getConfigProperties(); /** * Returns a table configuration for the given qualified SDO * Type name or null if not found. * @param typeName the qualified name of an SDO Type * @return the table configuration or null if not found */ public TableConfig findTable(QName typeName); /** * Returns a table configuration for the given qualified SDO * Type name. * @param typeName the qualified name of an SDO Type * @return the table configuration * @throws CloudGraphConfigurationException if the given name is not found */ public TableConfig getTable(QName typeName); /** * Returns a table configuration for the given SDO * Type or null if not found. * @param type the SDO Type * @return the table configuration or null if not found */ public TableConfig findTable(Type type); /** * Returns a table configuration for the given SDO * Type. * @param type the SDO Type * @return the table configuration * @throws CloudGraphConfigurationException if the given type is not found */ public TableConfig getTable(Type type); /** * Returns a table configuration based on the given table name. * @param tableName the table name or null if not found. * @return the table configuration or null if not found. */ public TableConfig findTable(String tableName); /** * Returns a table configuration based on the given table name. * @param tableNamespace the table namespace * @param tableName the table name * @return the table configuration * @throws CloudGraphConfigurationException if the given name is not found */ public TableConfig getTable(String tableNamespace, String tableName); /** * Returns a table name for the given qualified SDO * Type name. * @param typeName the qualified name of an SDO Type * @return the table name */ public String getTableName(QName typeName); /** * Adds the given configuration * @param table the table configuration */ public void addTable(TableConfig table); /** * Adds the given configuration * @param table the table configuration */ public void removeTable(TableConfig table); /** * Returns a data graph config for the given qualified SDO * Type name or null of not exists. * @param typeName the qualified name of an SDO Type * @return a data graph config for the given qualified SDO * Type name or null of not exists. */ public DataGraphConfig findDataGraph(QName qname); /** * Returns a data graph config for the given qualified SDO * Type name. * @param typeName the qualified name of an SDO Type * @return a data graph config for the given qualified SDO * Type name. * @throws CloudGraphConfigurationException if no configured data graph * exists for the given qualified SDO * Type name */ public DataGraphConfig getDataGraph(QName qname); public Charset getCharset(); public boolean uniqueChecks(); public boolean tombstoneRows(); public boolean tombstoneRowsOverwriteable(); public String maprdbTablePathPrefix(); }