Humboldt Alignment Editor 2.5.0

eu.esdihumboldt.cst.functions.core.merge
Class PropertiesMergeHandler

java.lang.Object
  extended by eu.esdihumboldt.cst.functions.core.merge.AbstractMergeHandler<eu.esdihumboldt.cst.functions.core.merge.PropertiesMergeHandler.PropertiesMergeConfig,DeepIterableKey>
      extended by eu.esdihumboldt.cst.functions.core.merge.PropertiesMergeHandler
All Implemented Interfaces:
MergeFunction, InstanceHandler<TransformationEngine>

public class PropertiesMergeHandler
extends AbstractMergeHandler<eu.esdihumboldt.cst.functions.core.merge.PropertiesMergeHandler.PropertiesMergeConfig,DeepIterableKey>
implements MergeFunction

Merge based on equal properties.

Author:
Simon Templer

Nested Class Summary
 
Nested classes/interfaces inherited from class eu.esdihumboldt.cst.functions.core.merge.AbstractMergeHandler
AbstractMergeHandler.MergedIterator
 
Field Summary
 
Fields inherited from interface eu.esdihumboldt.hale.common.align.model.functions.MergeFunction
ID, PARAMETER_ADDITIONAL_PROPERTY, PARAMETER_AUTO_DETECT, PARAMETER_PROPERTY
 
Constructor Summary
PropertiesMergeHandler()
           
 
Method Summary
protected  eu.esdihumboldt.cst.functions.core.merge.PropertiesMergeHandler.PropertiesMergeConfig createMergeConfiguration(String transformationIdentifier, com.google.common.collect.ListMultimap<String,String> transformationParameters, Map<String,String> executionParameters, TransformationLog log)
          Create the merge configuration from the transformation configuration.
protected  DeepIterableKey getMergeKey(Instance instance, eu.esdihumboldt.cst.functions.core.merge.PropertiesMergeHandler.PropertiesMergeConfig mergeConfig)
          Get the merge key for a given instance.
protected  Instance merge(Collection<Instance> instances, TypeDefinition type, DeepIterableKey mergeKey, eu.esdihumboldt.cst.functions.core.merge.PropertiesMergeHandler.PropertiesMergeConfig mergeConfig)
          Merge multiple instance into one.
 
Methods inherited from class eu.esdihumboldt.cst.functions.core.merge.AbstractMergeHandler
getInstanceFactory, partitionInstances
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PropertiesMergeHandler

public PropertiesMergeHandler()
Method Detail

createMergeConfiguration

protected eu.esdihumboldt.cst.functions.core.merge.PropertiesMergeHandler.PropertiesMergeConfig createMergeConfiguration(String transformationIdentifier,
                                                                                                                         com.google.common.collect.ListMultimap<String,String> transformationParameters,
                                                                                                                         Map<String,String> executionParameters,
                                                                                                                         TransformationLog log)
                                                                                                                  throws TransformationException
Description copied from class: AbstractMergeHandler
Create the merge configuration from the transformation configuration. The merge configuration may be then used in AbstractMergeHandler.getMergeKey(Instance, Object) and AbstractMergeHandler.merge(Collection, TypeDefinition, Object, Object)

Specified by:
createMergeConfiguration in class AbstractMergeHandler<eu.esdihumboldt.cst.functions.core.merge.PropertiesMergeHandler.PropertiesMergeConfig,DeepIterableKey>
Parameters:
transformationIdentifier - the transformation identifier
transformationParameters - the transformation parameters
executionParameters - the execution parameters
log - the transformation log
Returns:
the merge configuration
Throws:
TransformationException - if the merge configuration cannot be created

getMergeKey

protected DeepIterableKey getMergeKey(Instance instance,
                                      eu.esdihumboldt.cst.functions.core.merge.PropertiesMergeHandler.PropertiesMergeConfig mergeConfig)
Description copied from class: AbstractMergeHandler
Get the merge key for a given instance. Instances with an equal merge key will be merged.

Specified by:
getMergeKey in class AbstractMergeHandler<eu.esdihumboldt.cst.functions.core.merge.PropertiesMergeHandler.PropertiesMergeConfig,DeepIterableKey>
Parameters:
instance - the instance
mergeConfig - the merge configuration
Returns:
the instance merge key
See Also:
AbstractMergeHandler.merge(Collection, TypeDefinition, Object, Object)

merge

protected Instance merge(Collection<Instance> instances,
                         TypeDefinition type,
                         DeepIterableKey mergeKey,
                         eu.esdihumboldt.cst.functions.core.merge.PropertiesMergeHandler.PropertiesMergeConfig mergeConfig)
Description copied from class: AbstractMergeHandler
Merge multiple instance into one.

Specified by:
merge in class AbstractMergeHandler<eu.esdihumboldt.cst.functions.core.merge.PropertiesMergeHandler.PropertiesMergeConfig,DeepIterableKey>
Parameters:
instances - the instances to merge
type - the type definition of the instances to merge
mergeKey - the merge key associated to the instances
mergeConfig - the merge configuration
Returns:
the merged instance

Humboldt Alignment Editor 2.5.0

Build 2012-12-03_12-30-59
Revision 9d2dd4b0318cda9f1393b1ddd390f7f792d70a2d