org.codehaus.plexus.cdc.merge.support
Interface Mergeable

All Known Implementing Classes:
AbstractMergeableElement, AbstractMergeableElementList, AbstractMergeableSupport, ComponentElement, ComponentsElement, ComponentSetElement, ConfigurationElement, PlexusRootElement, RequirementElement, RequirementsElement

public interface Mergeable

Interface that marks an implementing entity as mergeable.

Not all the elements/tags are expected to implement this interface.
It should be implemented by elements/tags that need to have a certain control on how elements of the same type are merged with them.

Version:
$Id: Mergeable.java 3522 2006-07-12 15:06:21Z brett $
Author:
Rahul Thakur

Method Summary
 DescriptorTag[] getAllowedTags()
          Returns an array of tags/elements that are allowed under the current element.
 org.jdom.Element getElement()
          Returns the wrapped up JDom Element instance that was used to create this Mergeable.
 void merge(Mergeable me)
          Merges an element of same type.
 void merge(Mergeable me, MergeStrategy strategy)
          Applies the passed in MergeStrategy to merge two Mergeable instance.
 

Method Detail

merge

void merge(Mergeable me)
           throws MergeException
Merges an element of same type.

Parameters:
me - Another entity that is mergeable.
Throws:
MergeException - if there was an error merging the mergeables.

merge

void merge(Mergeable me,
           MergeStrategy strategy)
           throws MergeException
Applies the passed in MergeStrategy to merge two Mergeable instance.

Parameters:
me - Recessive Mergeable instance.
strategy - MergeStrategy to apply for merging.
Throws:
MergeException - if there was an error while merging.

getElement

org.jdom.Element getElement()
Returns the wrapped up JDom Element instance that was used to create this Mergeable.

Returns:
the wrapped up JDom Element instance.

getAllowedTags

DescriptorTag[] getAllowedTags()
Returns an array of tags/elements that are allowed under the current element.

Returns:
the allowedTags


Copyright © 2001-2012 Codehaus. All Rights Reserved.