org.cloudgraph.hbase.io.DistributedReader Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cloudgraph-hbase Show documentation
Show all versions of cloudgraph-hbase Show documentation
CloudGraph(tm) is a suite of Service Data Object (SDO) 2.1 services designed for relational and big-table style "cloud" databases, such as HBase and others.
/**
* CloudGraph Community Edition (CE) License
*
* This is a community release of CloudGraph, a dual-license suite of
* Service Data Object (SDO) 2.1 services designed for relational and
* big-table style "cloud" databases, such as HBase and others.
* This particular copy of the software is released under the
* version 2 of the GNU General Public License. CloudGraph was developed by
* TerraMeta Software, Inc.
*
* Copyright (c) 2013, TerraMeta Software, Inc. All rights reserved.
*
* General License information can be found below.
*
* This distribution may include materials developed by third
* parties. For license and attribution notices for these
* materials, please refer to the documentation that accompanies
* this distribution (see the "Licenses for Third-Party Components"
* appendix) or view the online documentation at
* .
*/
package org.cloudgraph.hbase.io;
import java.util.List;
import javax.xml.namespace.QName;
import commonj.sdo.DataObject;
import commonj.sdo.Type;
/**
* Encapsulates one or more
* graph table reader components for federation across
* multiple physical tables and/or physical table rows.
*
* Acts as a container for one or more {@link TableReader} elements
* encapsulating a set of component table reader operations
* for federation across multiple tables, or a single table
* in the most simple (degenerate) case.
*
* @see org.cloudgraph.hbase.io.GraphTableReader
* @see org.cloudgraph.state.GraphTable
* @author Scott Cinnamond
* @since 0.5.1
*/
public interface DistributedReader extends DistributedOperation {
/**
* Returns the table reader for the given
* configured table name.
* @param tableName the name of the configured table.
* @return the table reader for the given
* configured table name.
*/
public TableReader getTableReader(String tableName);
/**
* Returns the table reader for the given
* qualified type name.
* @param qualifiedTypeName the qualified type name.
* @return the table reader for the given
* qualified type name.
*/
public TableReader getTableReader(QName qualifiedTypeName);
/**
* Adds the given table reader to the container
* @param reader the table reader.
*/
public void addTableReader(TableReader reader);
/**
* Returns the count of table readers for this
* container.
* @return the count of table readers for this
* container
*/
public int getTableReaderCount();
/**
* Returns all table readers for the this container
* @return all table readers for the this container
*/
public List getTableReaders();
/**
* Returns the table reader associated with the
* data graph root.
* @return the table reader associated with the
* data graph root.
*/
public TableReader getRootTableReader();
/**
* Sets the table reader associated with the
* data graph root.
* @param reader the table reader
*/
public void setRootTableReader(TableReader reader);
/**
* Returns the row reader associated with the given data object
* @param dataObject the data object
* @return the row reader associated with the given data object
* @throws IllegalArgumentException if the given data object
* is not associated with any row reader.
*/
public RowReader getRowReader(DataObject dataObject);
public void mapRowReader(DataObject dataObject,
RowReader rowReader);
/**
* Returns a list of types associated
* with the given table operation.
* @param reader the table operation
* @return a list of types associated
* with the given table operation.
*/
public List getTypes(TableReader operation);
/**
* Frees resources associated with this reader and any
* component readers.
*/
public void clear();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy