com.sun.tools.xjc.model
Class CCustomizations

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by java.util.ArrayList<CPluginCustomization>
              extended by com.sun.tools.xjc.model.CCustomizations
All Implemented Interfaces:
Serializable, Cloneable, Iterable<CPluginCustomization>, Collection<CPluginCustomization>, List<CPluginCustomization>, RandomAccess

public final class CCustomizations
extends ArrayList<CPluginCustomization>

Represents the list of CPluginCustomizations attached to a JAXB model component.

When Plugins register the customization namespace URIs through Plugin.getCustomizationURIs(), XJC will treat those URIs just like XJC's own extension "http://java.sun.com/xml/ns/xjc" and make them available as DOM nodes through CPluginCustomization. A Plugin can then access this information to change its behavior.

See Also:
Serialized Form

Field Summary
static CCustomizations EMPTY
          Convenient singleton instance that represents an empty CCustomizations.
(package private)  CCustomizations next
          All CCustomizations used by a Model form a single linked list so that we can look for unacknowledged customizations later.
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
CCustomizations()
           
CCustomizations(Collection<? extends CPluginCustomization> cPluginCustomizations)
           
 
Method Summary
 boolean equals(Object o)
           
 CPluginCustomization find(String nsUri)
          Finds the first CPluginCustomization that belongs to the given namespace URI.
 CPluginCustomization find(String nsUri, String localName)
          Finds the first CPluginCustomization that belongs to the given namespace URI and the local name.
 CCustomizable getOwner()
          Gets the model component that carries this customization.
 int hashCode()
           
static CCustomizations merge(CCustomizations lhs, CCustomizations rhs)
          Merges two CCustomizations objects into one.
(package private)  void setParent(Model model, CCustomizable owner)
           
 
Methods inherited from class java.util.ArrayList
add, add, addAll, addAll, clear, clone, contains, ensureCapacity, get, indexOf, isEmpty, lastIndexOf, remove, remove, removeRange, set, size, toArray, toArray, trimToSize
 
Methods inherited from class java.util.AbstractList
iterator, listIterator, listIterator, subList
 
Methods inherited from class java.util.AbstractCollection
containsAll, removeAll, retainAll, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
containsAll, iterator, listIterator, listIterator, removeAll, retainAll, subList
 

Field Detail

next

CCustomizations next
All CCustomizations used by a Model form a single linked list so that we can look for unacknowledged customizations later.

See Also:
CPluginCustomization.markAsAcknowledged(), setParent(Model,CCustomizable)

EMPTY

public static final CCustomizations EMPTY
Convenient singleton instance that represents an empty CCustomizations.

Constructor Detail

CCustomizations

public CCustomizations()

CCustomizations

public CCustomizations(Collection<? extends CPluginCustomization> cPluginCustomizations)
Method Detail

setParent

void setParent(Model model,
               CCustomizable owner)

getOwner

public CCustomizable getOwner()
Gets the model component that carries this customization.

Returns:
never null.

find

public CPluginCustomization find(String nsUri)
Finds the first CPluginCustomization that belongs to the given namespace URI.

Returns:
null if not found

find

public CPluginCustomization find(String nsUri,
                                 String localName)
Finds the first CPluginCustomization that belongs to the given namespace URI and the local name.

Returns:
null if not found

merge

public static CCustomizations merge(CCustomizations lhs,
                                    CCustomizations rhs)
Merges two CCustomizations objects into one.


equals

public boolean equals(Object o)
Specified by:
equals in interface Collection<CPluginCustomization>
Specified by:
equals in interface List<CPluginCustomization>
Overrides:
equals in class AbstractList<CPluginCustomization>

hashCode

public int hashCode()
Specified by:
hashCode in interface Collection<CPluginCustomization>
Specified by:
hashCode in interface List<CPluginCustomization>
Overrides:
hashCode in class AbstractList<CPluginCustomization>