Class PropertyName

  • All Implemented Interfaces:
    java.io.Serializable

    public class PropertyName
    extends java.lang.Object
    implements java.io.Serializable
    Simple value class used for containing names of properties as defined by annotations (and possibly other configuration sources).
    Since:
    2.1
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected com.fasterxml.jackson.core.SerializableString _encodedSimple
      Lazily-constructed efficient representation of the simple name.
      protected java.lang.String _namespace
      Additional namespace, for formats that have such concept (JSON does not, XML does, for example).
      protected java.lang.String _simpleName
      Basic name of the property.
      static PropertyName NO_NAME
      Special placeholder value that indicates that there is no name associated.
      static PropertyName USE_DEFAULT
      Special placeholder value that indicates that name to use should be based on the standard heuristics.
    • Constructor Summary

      Constructors 
      Constructor Description
      PropertyName​(java.lang.String simpleName)  
      PropertyName​(java.lang.String simpleName, java.lang.String namespace)  
    • Field Detail

      • USE_DEFAULT

        public static final PropertyName USE_DEFAULT
        Special placeholder value that indicates that name to use should be based on the standard heuristics. This can be different from returning null, as null means "no information available, whereas this value indicates explicit defaulting.
      • NO_NAME

        public static final PropertyName NO_NAME
        Special placeholder value that indicates that there is no name associated. Exact semantics to use (if any) depend on actual annotation in use, but commonly this value disables behavior for which name would be needed.
      • _simpleName

        protected final java.lang.String _simpleName
        Basic name of the property.
      • _namespace

        protected final java.lang.String _namespace
        Additional namespace, for formats that have such concept (JSON does not, XML does, for example).
      • _encodedSimple

        protected com.fasterxml.jackson.core.SerializableString _encodedSimple
        Lazily-constructed efficient representation of the simple name.

        NOTE: not defined as volatile to avoid performance problem with concurrent access in multi-core environments; due to statelessness of SerializedString at most leads to multiple instantiations.

        Since:
        2.4
    • Constructor Detail

      • PropertyName

        public PropertyName​(java.lang.String simpleName)
      • PropertyName

        public PropertyName​(java.lang.String simpleName,
                            java.lang.String namespace)
    • Method Detail

      • readResolve

        protected java.lang.Object readResolve()
      • construct

        public static PropertyName construct​(java.lang.String simpleName)
        Since:
        2.6
      • construct

        public static PropertyName construct​(java.lang.String simpleName,
                                             java.lang.String ns)
      • withSimpleName

        public PropertyName withSimpleName​(java.lang.String simpleName)
        Fluent factory method for constructing an instance with different simple name.
      • withNamespace

        public PropertyName withNamespace​(java.lang.String ns)
        Fluent factory method for constructing an instance with different namespace.
      • getSimpleName

        public java.lang.String getSimpleName()
      • simpleAsEncoded

        public com.fasterxml.jackson.core.SerializableString simpleAsEncoded​(MapperConfig<?> config)
        Accessor that may be used to get lazily-constructed efficient representation of the simple name.
        Since:
        2.4
      • getNamespace

        public java.lang.String getNamespace()
      • hasSimpleName

        public boolean hasSimpleName()
      • hasSimpleName

        public boolean hasSimpleName​(java.lang.String str)
        Since:
        2.3
      • hasNamespace

        public boolean hasNamespace()
      • isEmpty

        public boolean isEmpty()
        Method that is basically equivalent of:
           !hasSimpleName() << !hasNamespace();
        
        Since:
        2.4
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object