All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.cloudgraph.hbase.mutation.MutationCollector Maven / Gradle / Ivy

/**
 *        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.mutation;

import java.io.IOException;
import java.util.List;
import java.util.Map;

import org.apache.hadoop.hbase.client.Row;
import org.cloudgraph.hbase.io.TableWriter;

import commonj.sdo.DataGraph;

/**
 * Traverses the change summary for one or more data graphs and collects changes in the form
 * of HBase row mutations.
 * 

* For each graph: * - performs any change summary ordering * - collects table writers based on graph metadata and configuration information * - assembles table writers for the graph into a single graph writer composed of table writers, which are * composed of row writers * - passes each changed object (created, modified, deleted) along with the graph writer to logic * within this class. * - marshals out the state for each changed row after all changes complete in to the state column * - for each row, detects if the root object is deleted, and then adds a toumbsone column *

* * @author Scott Cinnamond * @since 0.5.8 */ public interface MutationCollector { public Map> collectChanges(DataGraph dataGraph) throws IOException, IllegalAccessException; public Map> collectChanges(DataGraph[] dataGraphs) throws IOException, IllegalAccessException; public void close(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy