Class ValueCustom


  • public class ValueCustom
    extends SharedValueBase
    Member field or property customization information.
    Author:
    Dennis M. Sosnoski
    • Field Detail

      • s_allowedAttributes

        public static final StringArray s_allowedAttributes
        Enumeration of allowed attribute names
      • m_private

        private boolean m_private
        Private property flag.
      • m_fieldName

        private java.lang.String m_fieldName
        'field' attribute value (null if none).
      • m_getName

        private java.lang.String m_getName
        'get-method' attribute value (null if none).
      • m_setName

        private java.lang.String m_setName
        'set-method' attribute value (null if none).
      • m_propertyName

        private java.lang.String m_propertyName
        'property-name' attribute value (null if none).
    • Constructor Detail

      • ValueCustom

        protected ValueCustom​(SharedNestingBase parent)
        Constructor.
        Parameters:
        parent -
      • ValueCustom

        protected ValueCustom​(SharedNestingBase parent,
                              java.lang.String name)
        Constructor with name known.
        Parameters:
        parent -
        name -
    • Method Detail

      • memberNameFromField

        public static java.lang.String memberNameFromField​(java.lang.String name,
                                                           java.lang.String[] prefs,
                                                           java.lang.String[] suffs)
        Get the member name for a field from the field name. This means stripping off and leading field name prefix and/or trailing suffix, then case-converting the result.
        Parameters:
        name -
        prefs - field prefixes to be stripped
        suffs - field suffixes to be stripped
        Returns:
        member name
        See Also:
        SharedValueBase.convertMemberNameCase(String), memberNameFromGetMethod(String), memberNameFromSetMethod(String)
      • setElement

        private void setElement​(java.lang.String text,
                                IUnmarshallingContext ictx)
        Set element name method. This is intended for use during unmarshalling, so it needs to allow for being called with a null value. TODO: add validation
        Parameters:
        text - (null if attribute not present)
        ictx -
      • setAttribute

        private void setAttribute​(java.lang.String text,
                                  IUnmarshallingContext ictx)
        Set attribute name method. This is intended for use during unmarshalling, so it needs to allow for being called with a null value. TODO: add validation
        Parameters:
        text - (null if attribute not present)
        ictx -
      • isProperty

        public boolean isProperty()
        Check if member represents a property.
        Returns:
        true
      • isPrivate

        public boolean isPrivate()
        Check if a private member.
        Returns:
        true if private, false if not
      • getFieldName

        public java.lang.String getFieldName()
        Get 'field' attribute value.
        Returns:
        'field' value (null if none)
      • getGetName

        public java.lang.String getGetName()
        Get 'get-method' attribute name.
        Returns:
        'get' attribute name (null if none)
      • getSetName

        public java.lang.String getSetName()
        Get 'set-method' attribute name.
        Returns:
        'set-method' attribute name (null if none)
      • getPropertyName

        public java.lang.String getPropertyName()
        Get 'property-name' attribute value.
        Returns:
        property name (null if none)
      • preSet

        protected void preSet​(IUnmarshallingContext uctx)
        Make sure all attributes are defined.
        Parameters:
        uctx - unmarshalling context
      • postSet

        protected void postSet()
                        throws JiBXException
        Post-set method that handles checking attribute combinations and sets the actual member name.
        Throws:
        JiBXException
      • fillDetails

        void fillDetails​(IClassItem field,
                         IClassItem gmeth,
                         IClassItem smeth,
                         IClassLocator icl,
                         java.lang.Boolean req,
                         java.lang.Integer style)
        Complete customization information based on either field or access method information.
        Parameters:
        field - (null if none)
        gmeth - read access method (null if none)
        smeth - write access method (null if none)
        icl - class locator
        req - required member flag (null if unknown)
        style - representation style (null if unspecified)
      • fillDetails

        void fillDetails​(IClass info,
                         java.lang.Boolean req,
                         java.lang.Integer style)
        Complete customization information based on whatever field or access method information has been set.
        Parameters:
        info - containing class information
        req - required member flag (null if unknown)
        style - representation style (null if unspecified)
      • factory

        private static ValueCustom factory​(IUnmarshallingContext ictx)
        Factory method for creating instances during unmarshalling.
        Parameters:
        ictx -
        Returns:
        instance