eu.etaxonomy.cdm.strategy.merge
Class DefaultMergeStrategy
java.lang.Object
eu.etaxonomy.cdm.strategy.StrategyBase
eu.etaxonomy.cdm.strategy.merge.DefaultMergeStrategy
- All Implemented Interfaces:
- IStrategy, IMergeStrategy, Serializable
public class DefaultMergeStrategy
- extends StrategyBase
- implements IMergeStrategy
- Version:
- 1.0
- Author:
- a.mueller
- See Also:
- Serialized Form
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
mergeModeMap
protected Map<String,MergeMode> mergeModeMap
defaultMergeMode
protected MergeMode defaultMergeMode
defaultCollectionMergeMode
protected MergeMode defaultCollectionMergeMode
mergeClass
protected Class<? extends CdmBase> mergeClass
mergeFields
protected Map<String,Field> mergeFields
DefaultMergeStrategy
protected DefaultMergeStrategy(Class<? extends CdmBase> mergeClazz)
NewInstance
public static DefaultMergeStrategy NewInstance(Class<? extends CdmBase> mergeClazz)
getUuid
protected UUID getUuid()
- Specified by:
getUuid in class StrategyBase
getMergeClass
public Class<? extends CdmBase> getMergeClass()
- Returns:
- the merge class
setMergeClazz
public void setMergeClazz(Class<? extends CdmBase> mergeClazz)
- Parameters:
mergeClazz - the mergeClazz to set
getMergeMode
public MergeMode getMergeMode(String propertyName)
- Specified by:
getMergeMode in interface IMergeStrategy
setMergeMode
public void setMergeMode(String propertyName,
MergeMode mergeMode)
throws MergeException
- Description copied from interface:
IMergeStrategy
- Sets the merge mode for property propertyName
- Specified by:
setMergeMode in interface IMergeStrategy
- Throws:
MergeException
invoke
public <T extends IMergable> Set<ICdmBase> invoke(T mergeFirst,
T mergeSecond)
throws MergeException
- Description copied from interface:
IMergeStrategy
- Merges mergeSecond into mergeFirst.
Returns a set of CdmBases that became orphant during the merge process and
therefore must be deleted from a persistent context.
- Specified by:
invoke in interface IMergeStrategy
- Throws:
MergeException
invoke
public <T extends IMergable> Set<ICdmBase> invoke(T mergeFirst,
T mergeSecond,
Set<ICdmBase> clonedObjects)
throws MergeException
- Description copied from interface:
IMergeStrategy
- Merges mergeSecond into mergeFirst.
Returns a set of CdmBases that became orphant during the merge process and
therefore must be deleted from a persistent context.
- Specified by:
invoke in interface IMergeStrategy
clonedObjects - a set of objects that needed to be cloned during merge.
This set will be filled during merge and should preferably be empty at the beginning
- Throws:
MergeException
getAddMethod
public static Method getAddMethod(Field field,
boolean remove)
throws MergeException
- Throws:
MergeException
getMergeValue
protected <T extends IMergable> Object getMergeValue(T mergeFirst,
T mergeSecond,
Field field)
throws Exception
- Parameters:
cdmBase - toMerge - field - mergeMode -
- Throws:
Exception
Copyright © 2007-2013 EDIT. All Rights Reserved.