Class XmlBean.BeanInfo

  • Enclosing class:
    XmlBean

    public static class XmlBean.BeanInfo
    extends Object
    A BeanInfo contains information about the XML bean and its properties. One BeanInfo will be created for each specific class of XmlBean.
    • Field Detail

      • m_clzBean

        protected Class m_clzBean
        The class of the specific XML bean.
      • m_sName

        protected String m_sName
        The XML element name for the XML bean.
      • m_aAdapter

        protected PropertyAdapter[] m_aAdapter
        The property adapters for the XML bean.
      • m_fDeepClone

        protected boolean m_fDeepClone
        Specifies whether the XML bean requires a deep clone.
      • m_sNmsUri

        protected String m_sNmsUri
        Namespace URI.
      • m_sNmsPrefix

        protected String m_sNmsPrefix
        Namespace prefix.
      • m_nBeanId

        protected int m_nBeanId
        Serialization ID for the XmlBean class.
      • NOPARAMS

        protected static final Class[] NOPARAMS
        Parameters for finding no-parameter methods.
      • ADAPTER_INIT_PARAMS

        protected static Class[] ADAPTER_INIT_PARAMS
        Parameters for finding the default adapter constructor.
      • s_mapClassNames

        protected static final Map s_mapClassNames
        Map from type name / short class name to actual class instance.
      • s_mapClassAdapters

        protected static final Map s_mapClassAdapters
        Map from the class of a property type to the class of the adapter that handles the type.
      • s_mapPrimitiveNames

        protected static final Map s_mapPrimitiveNames
        Map from class of an intrinsic type to its JVM signature.
    • Constructor Detail

      • BeanInfo

        protected BeanInfo​(Class clzBean,
                           XmlElement xml)
        Construct a BeanInfo.
        Parameters:
        clzBean - the class of the bean
        xml - the xml descriptor
    • Method Detail

      • getType

        public Class getType()
        Get the class of the specific XML bean implementation.
        Returns:
        the type of the XML bean
      • getBeanId

        public int getBeanId()
        Get the serialization ID for the specific XML bean implementation.
        Returns:
        the XmlBean ID used by ExternalizableHelper, or -1 if this XmlBean does not have an ID assigned or if the ID optimization is not being used
      • getName

        public String getName()
        Determine the element name that the XML bean will use when serializing to XML.
        Returns:
        the local XmlElement name for the bean
      • getNamespaceUri

        public String getNamespaceUri()
        Obtain the namespace URI for this XML bean.
        Returns:
        the URI that qualifies the default Namespace for this bean
      • getNamespacePrefix

        public String getNamespacePrefix()
        Obtain the default namespace prefix for this XML bean.
        Returns:
        the default Namespace prefix for this bean
      • setNamespacePrefix

        public void setNamespacePrefix​(String sPrefix)
        Set the default Namespace prefix for this XML bean.
        Parameters:
        sPrefix - the default namespace prefix
      • getAdapters

        public PropertyAdapter[] getAdapters()
        Obtain the PropertyAdapter objects for the properties of this XML bean.
        Returns:
        the property adapters for this bean
      • requiresDeepClone

        public boolean requiresDeepClone()
        Determine if a clone of the XmlBean should be a deep clone, which typically means that at least one property value is mutable reference type.
        Returns:
        true if any of the property values must be "deep" cloned when the XmlBean is cloned
      • makeAdapter

        protected PropertyAdapter makeAdapter​(Class clz,
                                              String sName,
                                              String sXmlName,
                                              XmlElement xml)
        Generate a property adapter instance that will work on this bean class and will adapt for a property of the specified class and of the specified name.
        Parameters:
        clz - the class of the property
        sName - the property name
        sXmlName - the corresponding element name
        xml - additional XML information
        Returns:
        an adapter that will handle the specified property
      • findAdapter

        public PropertyAdapter findAdapter​(String sName)
        Find a property adapter instance for the specified property.
        Parameters:
        sName - the property name
        Returns:
        an adapter that handles the specified property; null if none could be found
      • resolveClass

        public Class resolveClass​(String sClass)
        Resolve a Class name into a Class object.
        Parameters:
        sClass - the Class name
        Returns:
        the Class object
      • toString

        public String toString()
        Debugging support.
        Overrides:
        toString in class Object
        Returns:
        a String description of this Info object