org.apache.uima.resource.metadata.impl

## Class MetaDataObject_impl

- java.lang.Object
- - org.apache.uima.resource.metadata.impl.MetaDataObject_impl

- All Implemented Interfaces:
    Serializable, Cloneable, MetaDataObject, XMLizable
  Direct Known Subclasses:
    AllowedValue_impl, Attribute_impl, Capability_impl, CapabilityLanguageFlow_impl, ConfigurableDataResourceSpecifier_impl, ConfigurationGroup_impl, ConfigurationParameter_impl, ConfigurationParameterDeclarations_impl, ConfigurationParameterSettings_impl, CustomResourceSpecifier_impl, ExternalResourceBinding_impl, ExternalResourceDependency_impl, ExternalResourceDescription_impl, FeatureDescription_impl, FileLanguageResourceSpecifier_impl, FileResourceSpecifier_impl, Filter_impl, FixedFlow_impl, FlowControllerDeclaration_impl, FsIndexCollection_impl, FsIndexDescription_impl, FsIndexKeyDescription_impl, Import_impl, IndexBuildItem_impl, IndexBuildSpecification_impl, IndexRule_impl, Mapping_impl, NameValuePair_impl, OperationalProperties_impl, Parameter_impl, PearSpecifier_impl, ResourceCreationSpecifier_impl, ResourceManagerConfiguration_impl, ResourceMetaData_impl, ResultSpecification_impl, SimplePrecondition_impl, SofaMapping_impl, Style_impl, TypeDescription_impl, TypeOrFeature_impl, TypePriorities_impl, TypePriorityList_impl, TypeSystemDescription_impl, URISpecifier_impl

      public abstract class MetaDataObject_impl
      extends Object
      implements MetaDataObject

  Abstract base class for all MetaDataObjects in the reference implementation. Provides basic support for getting and setting property values given their names, using bean introspection and reflection.

  Also provides the ability to write objects to XML and build objects from their DOM representation, as required to implement the `XMLizable` interface, which is a superinterface of `MetaDataObject`. In future versions, this could be replaced by a non-proprietary XML binding solution such as JAXB or EMF.

  The implementation for getting and setting property values uses the JavaBeans introspection API. Therefore subclasses of this class must be valid JavaBeans and either use the standard naming conventions for getters and setters. BeanInfo augmentation is ignored; the implementation here uses the flag IGNORE_ALL_BEANINFO. See The Java Beans Tutorial for more information. To support XML Comments, which can occur between any sub-elements, including array values, the "data" for all objects is stored in a pair of ArrayLists; one holds the "name" of the slot, the other the value; comments are interspersed within this list where they occur. To the extent possible, this should be the *only* data storage used for the xml element. Subclasses should access these elements on demand. Data will be read into / written from this representation; Cloning will copy this information. For getters that need to do some special initial processing, a global flag will be set whenever this base code changes the underlying value.

  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `MetaDataObject_impl.MetaDataAttr`
    `static class` | `MetaDataObject_impl.SerialContext` Information, kept globally (by thread) for one serialization Inherited by some custom impls, e.g.
    `static interface` | `MetaDataObject_impl.Serializer` methods used for serializing

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static ThreadLocal<MetaDataObject_impl.SerialContext>` | `serialContext` Keeps the serialContext by thread set when starting to serialize cleared at the end (in finally clause) to prevent memory leaks Inherited by some custom impls, e.g.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MetaDataObject_impl()` Creates a new `MetaDataObject_impl` with null attribute values

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `buildFromXMLElement(Element aElement, XMLParser aParser)` Initializes this object from its XML DOM representation.
    `void` | `buildFromXMLElement(Element aElement, XMLParser aParser, XMLParser.ParsingOptions aOptions)` Initializes this object from its XML DOM representation.
    `Object` | `clone()` Creates a clone of this `MetaDataObject`.
    `boolean` | `equals(Object aObj)` Determines if this object is equal to another.
    `List<MetaDataObject_impl.MetaDataAttr>` | `getAdditionalAttributes()` Override this method to include additional attributes
    `Class` | `getAttributeClass(String aName)` Gets the Class of the given attribute's value.
    `Object` | `getAttributeValue(String aName)` Retrieves the value of an attribute of this `MetaDataObject`.
    `Node` | `getInfoset()`
    `protected Node` | `getMatchingNode(MetaDataObject_impl.SerialContext serialContext, String name)`
    `protected PropertyDescriptor[]` | `getPropertyDescriptors()` Deprecated. - use getAttributes instead
    `protected PropertyXmlInfo` | `getPropertyXmlInfo(String aXmlElementName)` Looks in this class's XmlizationInfo for a property with the given XML element name.
    `URL` | `getRelativePathBase()` Gets the relative path base used to resolve imports.
    `static MetaDataObject_impl.SerialContext` | `getSerialContext(ContentHandler ch)`
    `URL` | `getSourceUrl()` Gets the URL from which this object was parsed.
    `String` | `getSourceUrlString()` If the sourceURL of this object is non-null, returns its string representation.
    `protected static Class` | `getWrapperClass(Class aPrimitiveType)` Gets the wrapper class corresponding to the given primitive type.
    `protected AttributesImpl` | `getXMLAttributes()` Called by the `toXML(ContentHandler, boolean)` method to get the XML attributes that will be written as part of the element's tag.
    `protected abstract XmlizationInfo` | `getXmlizationInfo()` To be implemented by subclasses to return information describing how to represent this object in XML.
    `int` | `hashCode()` Gets the hash code for this object.
    `boolean` | `isModifiable()` Returns whether this object is modifiable.
    `List<NameClassPair>` | `listAttributes()` Deprecated. - use getAttributes
    `protected void` | `readArrayPropertyValueFromXMLElement(PropertyXmlInfo aPropXmlInfo, Class aPropClass, Element aElement, XMLParser aParser, XMLParser.ParsingOptions aOptions)` Utility method to read an array property's value from its DOM representation.
    `protected void` | `readMapPropertyFromXml(String aPropName, Element aElement, String aKeyXmlAttribute, String aValueTagName, XMLParser aParser, XMLParser.ParsingOptions aOptions, boolean aValueIsArray)` Utility method for reading from XML an attribute whose value is a `Map` with `String` keys and `XMLizable` (or an array of these) values.
    `protected void` | `readPropertyValueFromXMLElement(PropertyXmlInfo aPropXmlInfo, Element aElement, XMLParser aParser, XMLParser.ParsingOptions aOptions)` Utility method to read an attribute's value from its DOM representation.
    `protected void` | `readUnknownPropertyValueFromXMLElement(Element aElement, XMLParser aParser, XMLParser.ParsingOptions aOptions, List<String> aKnownPropertyNames)` Utility method that attempts to read a property value from an XML element even though it is not known to which property the value should be assigned.
    `protected String` | `resolveSettings(String text)`
    `void` | `setAttributeValue(String aName, Object aValue)` Sets the value of an attribute of this `MetaDataObject`.
    `void` | `setInfoset(Node infoset)`
    `void` | `setSourceUrl(URL aUrl)` Sets the URL from which this object was parsed.
    `void` | `setSourceUrlIfNull(URL aUrl)` Sets the source URL of this object, only if that URL is currently set to null.
    `String` | `toString()` Dump this metadata object's attributes and values to a String.
    `void` | `toXML(ContentHandler aContentHandler)` This is called internally, also for JSon serialization
    `void` | `toXML(ContentHandler aContentHandler, boolean aWriteDefaultNamespaceAttribute)` Writes this object's XML representation by making calls on a SAX `ContentHandler`.
    `void` | `toXML(OutputStream aOutputStream)` Writes out this object's XML representation.
    `void` | `toXML(Writer aWriter)` Writes out this object's XML representation.
    `boolean` | `valueIsNullOrEmptyArray(Object val)`
    `protected void` | `writeArrayPropertyAsElement(String aPropName, Class aPropClass, Object aValue, String aArrayElementTagName, String aNamespace)` Utility method used to write an array property out as an XML element.
    `protected void` | `writeMapPropertyToXml(String aPropName, String aXmlElementName, String aKeyXmlAttribute, String aValueTagName, boolean aOmitIfNull, String aNamespace)` Utility method for writing to XML an property whose value is a `Map` with `String` keys and `XMLizable` values.
    `protected void` | `writePropertyAsElement(PropertyXmlInfo aPropInfo, String aNamespace)` Utility method used to write a property out as an XML element.

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### serialContext

          public static final ThreadLocal<MetaDataObject_impl.SerialContext> serialContext

      Keeps the serialContext by thread set when starting to serialize cleared at the end (in finally clause) to prevent memory leaks Inherited by some custom impls, e.g. TypeOrFeature_impl

  - ### Constructor Detail

    - #### MetaDataObject_impl

          public MetaDataObject_impl()

      Creates a new `MetaDataObject_impl` with null attribute values

  - ### Method Detail

    - #### getSerialContext

          public static MetaDataObject_impl.SerialContext getSerialContext(ContentHandler ch)

    - #### setInfoset

          public void setInfoset(Node infoset)

    - #### getInfoset

          public Node getInfoset()

    - #### getAdditionalAttributes

          public List<MetaDataObject_impl.MetaDataAttr> getAdditionalAttributes()

      Override this method to include additional attributes
      Returns:
        additional attributes

    - #### listAttributes

          @Deprecated
          public List<NameClassPair> listAttributes()

      Deprecated. - use getAttributes
      Returns a list of `NameClassPair` objects indicating the attributes of this object and the String names of the Classes of the attributes' values. For primitive types, the wrapper classes will be returned (e.g. `java.lang.Integer` instead of int). Several subclasses override this, to add additional items to the list.
      Specified by:
        `listAttributes` in interface `MetaDataObject`
      Returns:
        a List containing `NameClassPair` objects, each of which contains the name of a parameter and the Class of its value. For primitive types, the wrapper classes will be returned (e.g. `java.lang.Integer` instead of int).
      See Also:
        `MetaDataObject.listAttributes()`

    - #### getAttributeValue

          public Object getAttributeValue(String aName)

      Description copied from interface: `MetaDataObject`
      Retrieves the value of an attribute of this `MetaDataObject`.
      Specified by:
        `getAttributeValue` in interface `MetaDataObject`
      Parameters:
        `aName` - the name of the parameter to get
      Returns:
        the value of the parameter named `aName`. Returns `null` if there is no attribute with that name.
      See Also:
        `MetaDataObject.getAttributeValue(String)`

    - #### getAttributeClass

          public Class getAttributeClass(String aName)

      Gets the Class of the given attribute's value. For primitive types, the wrapper classes will be returned (e.g. `java.lang.Integer` instead of int).
      Parameters:
        `aName` - name of an attribute
      Returns:
        Class of value that may be assigned to the named attribute. Returns `null` if there is no attribute with the given name.

    - #### isModifiable

          public boolean isModifiable()

      Returns whether this object is modifiable. MetaDataObjects are modifiable by default.
      Specified by:
        `isModifiable` in interface `MetaDataObject`
      Returns:
        true if and only if this object's attributes may be modified.
      See Also:
        `MetaDataObject.isModifiable()`

    - #### setAttributeValue

          public void setAttributeValue(String aName,
                                        Object aValue)

      Description copied from interface: `MetaDataObject`
      Sets the value of an attribute of this `MetaDataObject`. Applications should first check the `MetaDataObject.isModifiable()` method; calling `MetaDataObject.setAttributeValue(String, Object)` on an unmodifiable `MetaDataObject` will result in an exception.
      Specified by:
        `setAttributeValue` in interface `MetaDataObject`
      Parameters:
        `aName` - the name of the parameter to set
        `aValue` - the value to assign to the parameter
      See Also:
        `MetaDataObject.setAttributeValue(String, Object)`

    - #### getRelativePathBase

          public URL getRelativePathBase()

      Gets the relative path base used to resolve imports. This is equal to the sourceUrl of this object, if known (i.e. if the object was parsed from an XML file or if setSourceUrl was explicitly called). If the source URL is not known, the value of the user.dir System property is returned.
      Returns:
        the base URL for resolving relative paths in this object

    - #### getSourceUrl

          public URL getSourceUrl()

      Gets the URL from which this object was parsed. When this object is parsed from an XML file, this is set by the parser to the URL of the source file XML file. If the object has been created by some other method, the source URL will not be known, and this method will return null.

      This setting is used to resolve imports and is also included in exception messages to indicate the source of the problem.

      Specified by:
        `getSourceUrl` in interface `MetaDataObject`
      Returns:
        the source URL from which this object was parsed

    - #### getSourceUrlString

          public String getSourceUrlString()

      If the sourceURL of this object is non-null, returns its string representation. If it is null, returns "<unknown>". Useful for error messages.
      Specified by:
        `getSourceUrlString` in interface `MetaDataObject`
      Returns:
        the source URL as a string, or "<unknown>"

    - #### setSourceUrlIfNull

          public void setSourceUrlIfNull(URL aUrl)

      Sets the source URL of this object, only if that URL is currently set to null. This is used internally to update null relative base paths before doing import resolution, without overriding user-specified settings.
      Parameters:
        `aUrl` - the location of the XML file from which this object was parsed

    - #### setSourceUrl

          public void setSourceUrl(URL aUrl)

      Sets the URL from which this object was parsed. Typically only the XML parser sets this. This recursively sets the source URL of all descendants of this object. Recursion doesn't happen for sub arrays/maps of maps or arrays.
      Specified by:
        `setSourceUrl` in interface `MetaDataObject`
      Parameters:
        `aUrl` - the location of the XML file from which this object was parsed

    - #### clone

          public Object clone()

      Description copied from interface: `MetaDataObject`
      Creates a clone of this `MetaDataObject`. This performs a "deep" copy by cloning all attribute values that are also MetaDataObjects.
      Specified by:
        `clone` in interface `MetaDataObject`
      Overrides:
        `clone` in class `Object`
      Returns:
        a clone of this `MetaDataObject`
      See Also:
        `multi-core: could be cloning while another thread is modifying?`

    - #### toString

          public String toString()

      Dump this metadata object's attributes and values to a String. This is useful for debugging.
      Overrides:
        `toString` in class `Object`

    - #### equals

          public boolean equals(Object aObj)

      Determines if this object is equal to another. Two MetaDataObjects are equivalent if they share the same attributes and the same values for those attributes.
      Specified by:
        `equals` in interface `MetaDataObject`
      Overrides:
        `equals` in class `Object`
      Parameters:
        `aObj` - object with which to compare this object
      Returns:
        true if and only if this object is equal to `aObj`

    - #### hashCode

          public int hashCode()

      Gets the hash code for this object. The hash codes of two NameClassPairs `x` and `y` must be equal if `x.equals(y)` returns true;
      Overrides:
        `hashCode` in class `Object`
      Returns:
        the hash code for this object

    - #### toXML

          public void toXML(Writer aWriter)
                     throws SAXException,
                            IOException

      Writes out this object's XML representation.
      Specified by:
        `toXML` in interface `XMLizable`
      Parameters:
        `aWriter` - a Writer to which the XML string will be written
      Throws:
        `SAXException` - passthru
        `IOException` - if an I/O failure occurs

    - #### toXML

          public void toXML(OutputStream aOutputStream)
                     throws SAXException,
                            IOException

      Writes out this object's XML representation.
      Specified by:
        `toXML` in interface `XMLizable`
      Parameters:
        `aOutputStream` - an OutputStream to which the XML string will be written
      Throws:
        `SAXException` - pass thru
        `IOException` - if an I/O failure occurs

    - #### toXML

          public void toXML(ContentHandler aContentHandler)
                     throws SAXException

      This is called internally, also for JSon serialization
      Specified by:
        `toXML` in interface `XMLizable`
      Parameters:
        `aContentHandler` - the content handler to which this object will write events that describe its XML representation.
      Throws:
        `SAXException` - pass thru
      See Also:
        `XMLizable.toXML(ContentHandler)`

    - #### toXML

          public void toXML(ContentHandler aContentHandler,
                            boolean aWriteDefaultNamespaceAttribute)
                     throws SAXException

      Description copied from interface: `XMLizable`
      Writes this object's XML representation by making calls on a SAX `ContentHandler`.
      Specified by:
        `toXML` in interface `XMLizable`
      Parameters:
        `aContentHandler` - the content handler to which this object will write events that describe its XML representation.
        `aWriteDefaultNamespaceAttribute` - whether the namespace of this element should be written as the default namespace. This should be done only for the root element, and it defaults to false.
      Throws:
        `SAXException` - pass thru
      See Also:
        `This is called internally, also for JSon serialization If this is the first call to serialize, create a serialContext (and clean up afterwards) Other callers (e.g. JSON) must set the serialContext first before calling`

    - #### getXMLAttributes

          protected AttributesImpl getXMLAttributes()

      Called by the `toXML(ContentHandler, boolean)` method to get the XML attributes that will be written as part of the element's tag. By default this method returns an empty Attributes object. Subclasses may override it in order to write attributes to the XML.
      Returns:
        an object defining the attributes to be written to the XML

    - #### getXmlizationInfo

          protected abstract XmlizationInfo getXmlizationInfo()

      To be implemented by subclasses to return information describing how to represent this object in XML.
      Returns:
        information defining this object's XML representation

    - #### getPropertyXmlInfo

          protected PropertyXmlInfo getPropertyXmlInfo(String aXmlElementName)

      Looks in this class's XmlizationInfo for a property with the given XML element name.
      Parameters:
        `aXmlElementName` - the unqualified name of an XML element
      Returns:
        information on the property that corresponds to the given element name, `null` if none.

    - #### valueIsNullOrEmptyArray

          public boolean valueIsNullOrEmptyArray(Object val)

    - #### writePropertyAsElement

          protected void writePropertyAsElement(PropertyXmlInfo aPropInfo,
                                                String aNamespace)
                                         throws SAXException

      Utility method used to write a property out as an XML element.
      Parameters:
        `aPropInfo` - information on how to represent the property in XML
        `aNamespace` - XML namespace URI for this object representation
      Throws:
        `SAXException` - -

    - #### writeArrayPropertyAsElement

          protected void writeArrayPropertyAsElement(String aPropName,
                                                     Class aPropClass,
                                                     Object aValue,
                                                     String aArrayElementTagName,
                                                     String aNamespace)
                                              throws SAXException

      Utility method used to write an array property out as an XML element.
      Parameters:
        `aPropName` - name of the attribute
        `aPropClass` - class of the attribute
        `aValue` - value (guaranteed to be an array and non-null)
        `aArrayElementTagName` - name of tag to be assigned to each element of the array. May be `null`, in which case each element will be assigned a value appropriate to its class.
        `aNamespace` - the XML namespace URI for this object
      Throws:
        `SAXException` - -

    - #### writeMapPropertyToXml

          protected void writeMapPropertyToXml(String aPropName,
                                               String aXmlElementName,
                                               String aKeyXmlAttribute,
                                               String aValueTagName,
                                               boolean aOmitIfNull,
                                               String aNamespace)
                                        throws SAXException

      Utility method for writing to XML an property whose value is a `Map` with `String` keys and `XMLizable` values.
      Parameters:
        `aPropName` - name of the property to write to XML
        `aXmlElementName` - name of the XML element for the property, `null` if none
        `aKeyXmlAttribute` - name of the XML attribute for the key
        `aValueTagName` - XML element tag name to use for each entry in the Map
        `aOmitIfNull` - if true, null or empty map will not be written at all, if false, null or empty map will be written as an empty element
        `aNamespace` - namespace for this object
      Throws:
        `SAXException` - passthru

    - #### buildFromXMLElement

          public final void buildFromXMLElement(Element aElement,
                                                XMLParser aParser)
                                         throws InvalidXMLException

      Initializes this object from its XML DOM representation. This method is typically called from the `XMLParser`.
      Specified by:
        `buildFromXMLElement` in interface `XMLizable`
      Parameters:
        `aElement` - the XML element that represents this object.
        `aParser` - a reference to the UIMA `XMLParser`. The `XMLParser.buildObject(Element)` method can be used to construct sub-objects.
      Throws:
        `InvalidXMLException` - if the input XML element does not specify a valid object

    - #### buildFromXMLElement

          public void buildFromXMLElement(Element aElement,
                                          XMLParser aParser,
                                          XMLParser.ParsingOptions aOptions)
                                   throws InvalidXMLException

      Initializes this object from its XML DOM representation. This method is typically called from the `XMLParser`. It is overridden by specific Java impl classes to provide additional defaulting (e.g. see AnalysisEngineDescription_impl)
      Specified by:
        `buildFromXMLElement` in interface `XMLizable`
      Parameters:
        `aElement` - the XML element that represents this object.
        `aParser` - a reference to the UIMA `XMLParser`. The `XMLParser.buildObject(Element)` method can be used to construct sub-objects.
        `aOptions` - option settings
      Throws:
        `InvalidXMLException` - if the input XML element does not specify a valid object

    - #### readPropertyValueFromXMLElement

          protected void readPropertyValueFromXMLElement(PropertyXmlInfo aPropXmlInfo,
                                                         Element aElement,
                                                         XMLParser aParser,
                                                         XMLParser.ParsingOptions aOptions)
                                                  throws InvalidXMLException

      Utility method to read an attribute's value from its DOM representation.
      Parameters:
        `aPropXmlInfo` - information about the property to read
        `aElement` - DOM element to read from
        `aParser` - parser to use to construct complex values
        `aOptions` - option settings
      Throws:
        `InvalidXMLException` - -

    - #### readArrayPropertyValueFromXMLElement

          protected void readArrayPropertyValueFromXMLElement(PropertyXmlInfo aPropXmlInfo,
                                                              Class aPropClass,
                                                              Element aElement,
                                                              XMLParser aParser,
                                                              XMLParser.ParsingOptions aOptions)
                                                       throws InvalidXMLException

      Utility method to read an array property's value from its DOM representation.
      Parameters:
        `aPropXmlInfo` - information about the property to read
        `aPropClass` - class of the property's value
        `aElement` - DOM element representing the entire array
        `aParser` - parser to use to construct complex values
        `aOptions` - option settings
      Throws:
        `InvalidXMLException` - -

    - #### readUnknownPropertyValueFromXMLElement

          protected void readUnknownPropertyValueFromXMLElement(Element aElement,
                                                                XMLParser aParser,
                                                                XMLParser.ParsingOptions aOptions,
                                                                List<String> aKnownPropertyNames)
                                                         throws InvalidXMLException

      Utility method that attempts to read a property value from an XML element even though it is not known to which property the value should be assigned. If an object can be constructed from the XML element, it will be assigned to any unasigned property that can accept it.
      Parameters:
        `aElement` - DOM element to read from
        `aParser` - parser to use to construct complex values
        `aOptions` - -
        `aKnownPropertyNames` - List of propertiees that we've already values for (these values will not be overwritten)
      Throws:
        `InvalidXMLException` - if no acceptable object is described by aElement

    - #### readMapPropertyFromXml

          protected void readMapPropertyFromXml(String aPropName,
                                                Element aElement,
                                                String aKeyXmlAttribute,
                                                String aValueTagName,
                                                XMLParser aParser,
                                                XMLParser.ParsingOptions aOptions,
                                                boolean aValueIsArray)
                                         throws InvalidXMLException

      Utility method for reading from XML an attribute whose value is a `Map` with `String` keys and `XMLizable` (or an array of these) values.
      Parameters:
        `aPropName` - name of the property to read from XML
        `aElement` - element to read from
        `aKeyXmlAttribute` - XML attribute for the key
        `aValueTagName` - XML element tag name for each entry in the map
        `aParser` - parser to use to build sub-objects
        `aOptions` - parsing option settings
        `aValueIsArray` - true if the value of the map entires is an array. This method only supports homogeneous arrays.
      Throws:
        `InvalidXMLException` - -

    - #### getWrapperClass

          protected static Class getWrapperClass(Class aPrimitiveType)

      Gets the wrapper class corresponding to the given primitive type. For example, `java.lang.Integer` is the wrapper class for the primitive type `int`.
      Parameters:
        `aPrimitiveType` - `Class` object representing a primitive type
      Returns:
        `Class` object representing the wrapper type for `PrimitiveType`. If `aPrimitiveType` is not a primitive type, it is itself returned.

    - #### getPropertyDescriptors

          @Deprecated
          protected PropertyDescriptor[] getPropertyDescriptors()
                                                                     throws IntrospectionException

      Deprecated. - use getAttributes instead
      Utility method that introspects this bean and returns a list of `PropertyDescriptor`s for its properties.

      The JavaBeans introspector is used, with the IGNORE_ALL_BEANINFO flag. This saves on initialization time by preventing the introspector from searching for nonexistent BeanInfo classes for all the MetaDataObjects. Caching needed, this method is called for every access to a field, and introspection doesn't cache (from observation... although the javadocs say otherwise (as of Java6 10/2011 - both IBM and Sun)

      Returns:
        the `PropertyDescriptors` for all properties introduced by subclasses of `MetaDataObject_impl`.
      Throws:
        `IntrospectionException` - if introspection fails

    - #### getMatchingNode

          protected Node getMatchingNode(MetaDataObject_impl.SerialContext serialContext,
                                         String name)

    - #### resolveSettings

          protected String resolveSettings(String text)

Copyright © 2006–2021 The Apache Software Foundation. All rights reserved.