com.bea.wli.config.customization
Class ReferenceCustomization

java.lang.Object
  extended by com.bea.wli.config.customization.Customization
      extended by com.bea.wli.config.customization.ReferenceCustomization
All Implemented Interfaces:
Serializable

public class ReferenceCustomization
extends Customization

Customization for mapping references found in resources to other references.

See Also:
Serialized Form

Field Summary
static long serialVersionUID
           
 
Constructor Summary
ReferenceCustomization(Set<Ref> targets, String description, Map<Ref,Ref> mapping)
          Creates a customization for changing/mapping references embedded in a set of resources
 
Method Summary
 Customization clone(Set<Ref> filter)
          Returns a copy of this customization and optionally modifies its target references so that the customization only applies to a reference if it is subsumed by a reference in the filter.
 Map<Ref,Ref> getMapping()
          Returns the reference mapping to be applied.
 Set<Ref> getTargets()
          Returns the references to resources, folders or projects which the customizations will be applied to.
 org.apache.xmlbeans.XmlObject toXML()
          Returns an xml representation for this customization
 
Methods inherited from class com.bea.wli.config.customization.Customization
fromXML, fromXML, getDescription, toXML
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

public static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

ReferenceCustomization

public ReferenceCustomization(Set<Ref> targets,
                              String description,
                              Map<Ref,Ref> mapping)
Creates a customization for changing/mapping references embedded in a set of resources

Parameters:
targets - resources to consider. A null value indicates all resources. A project or folder resource indicates all resources in that project / folder.
description - the user given description for this customization
mapping - mapping from old references to be modified to their new values
Method Detail

getTargets

public Set<Ref> getTargets()
Description copied from class: Customization
Returns the references to resources, folders or projects which the customizations will be applied to.

Specified by:
getTargets in class Customization
Returns:

getMapping

public Map<Ref,Ref> getMapping()
Returns the reference mapping to be applied.

Returns:

clone

public Customization clone(Set<Ref> filter)
Description copied from class: Customization
Returns a copy of this customization and optionally modifies its target references so that the customization only applies to a reference if it is subsumed by a reference in the filter. This operation essentially applies the customization to a smaller set of references. The target references is filtered so that one of the following happens:

  • if a target reference is in the filter then it is kept in the clone as well.
  • otherwise if a target reference is under a project/folder specified in the filter then it is kept in the clone.
  • otherwise, if there is a reference in the filter, that is under a target reference (for example filter contains folder a/b/c, and target contains project a) then the target reference (project a) is replaced with the filter reference (folder a/b/c), effectively narrowing the target reference to a more specific reference.
  • otherwise the target reference is removed.

    Specified by:
    clone in class Customization
    Parameters:
    filter - if filter is null no narrowing is performed, and the customization is cloned as-is.
    Returns:

  • toXML

    public org.apache.xmlbeans.XmlObject toXML()
                                        throws org.apache.xmlbeans.XmlException
    Description copied from class: Customization
    Returns an xml representation for this customization

    Specified by:
    toXML in class Customization
    Returns:
    Throws:
    org.apache.xmlbeans.XmlException