Class SettableBeanProperty

    • Method Detail

      • withValueDeserializer

        public abstract SettableBeanProperty withValueDeserializer​(JsonDeserializer<?> deser)
        Fluent factory method for constructing and returning a new instance with specified value deserializer. Note that this method should NOT change configuration of this instance.
        Parameters:
        deser - Deserializer to assign to the new property instance
        Returns:
        Newly constructed instance, if value deserializer differs from the one used for this instance; or 'this' if not.
      • withName

        public abstract SettableBeanProperty withName​(PropertyName newName)
        Fluent factory method for constructing and returning a new instance with specified property name. Note that this method should NOT change configuration of this instance.
        Parameters:
        newName - Name to use for the new instance.
        Returns:
        Newly constructed instance, if property name differs from the one used for this instance; or 'this' if not.
      • withSimpleName

        public SettableBeanProperty withSimpleName​(java.lang.String simpleName)
        Since:
        2.3
      • setManagedReferenceName

        public void setManagedReferenceName​(java.lang.String n)
      • setObjectIdInfo

        public void setObjectIdInfo​(ObjectIdInfo objectIdInfo)
      • setViews

        public void setViews​(java.lang.Class<?>[] views)
      • assignIndex

        public void assignIndex​(int index)
        Method used to assign index for property.
      • fixAccess

        public void fixAccess​(DeserializationConfig config)
        Method called to ensure that the mutator has proper access rights to be called, as per configuration. Overridden by implementations that have mutators that require access, fields and setters.
        Since:
        2.8.3
      • markAsIgnorable

        public void markAsIgnorable()
        Since:
        2.9.4
      • isIgnorable

        public boolean isIgnorable()
        Since:
        2.9.4
      • getName

        public final java.lang.String getName()
        Description copied from interface: BeanProperty
        Method to get logical name of the property
        Specified by:
        getName in interface BeanProperty
        Specified by:
        getName in interface Named
      • getFullName

        public PropertyName getFullName()
        Description copied from interface: BeanProperty
        Method for getting full name definition, including possible format-specific additional properties (such as namespace when using XML backend).
        Specified by:
        getFullName in interface BeanProperty
      • getMember

        public abstract AnnotatedMember getMember()
        Description copied from interface: BeanProperty
        Method for accessing primary physical entity that represents the property; annotated field, method or constructor property.
        Specified by:
        getMember in interface BeanProperty
      • getAnnotation

        public abstract <A extends java.lang.annotation.Annotation> A getAnnotation​(java.lang.Class<A> acls)
        Description copied from interface: BeanProperty
        Method for finding annotation associated with this property; meaning annotation associated with one of entities used to access property.

        Note that this method should only be called for custom annotations; access to standard Jackson annotations (or ones supported by alternate AnnotationIntrospectors) should be accessed through AnnotationIntrospector.

        Specified by:
        getAnnotation in interface BeanProperty
      • getContextAnnotation

        public <A extends java.lang.annotation.Annotation> A getContextAnnotation​(java.lang.Class<A> acls)
        Description copied from interface: BeanProperty
        Method for finding annotation associated with context of this property; usually class in which member is declared (or its subtype if processing subtype).

        Note that this method should only be called for custom annotations; access to standard Jackson annotations (or ones supported by alternate AnnotationIntrospectors) should be accessed through AnnotationIntrospector.

        Specified by:
        getContextAnnotation in interface BeanProperty
      • depositSchemaProperty

        public void depositSchemaProperty​(JsonObjectFormatVisitor objectVisitor,
                                          SerializerProvider provider)
                                   throws JsonMappingException
        Description copied from interface: BeanProperty
        Method that can be called to visit the type structure that this property is part of. Note that not all implementations support traversal with this method; those that do not should throw UnsupportedOperationException.

        NOTE: Starting with 2.7, takes explicit SerializerProvider argument to reduce the need to rely on provider visitor may or may not have assigned.

        Specified by:
        depositSchemaProperty in interface BeanProperty
        Parameters:
        objectVisitor - Visitor to used as the callback handler
        Throws:
        JsonMappingException
      • getManagedReferenceName

        public java.lang.String getManagedReferenceName()
      • hasValueDeserializer

        public boolean hasValueDeserializer()
      • hasValueTypeDeserializer

        public boolean hasValueTypeDeserializer()
      • getValueDeserializer

        public JsonDeserializer<java.lang.Object> getValueDeserializer()
      • visibleInView

        public boolean visibleInView​(java.lang.Class<?> activeView)
      • hasViews

        public boolean hasViews()
      • getPropertyIndex

        public int getPropertyIndex()
        Method for accessing unique index of this property; indexes are assigned once all properties of a BeanDeserializer have been collected.
        Returns:
        Index of this property
      • getCreatorIndex

        public int getCreatorIndex()
        Method for accessing index of the creator property: for other types of properties will simply return -1.
        Since:
        2.1
      • getInjectableValueId

        public java.lang.Object getInjectableValueId()
        Accessor for id of injectable value, if this bean property supports value injection.
      • isInjectionOnly

        public boolean isInjectionOnly()
        Accessor for checking whether this property is injectable, and if so, ONLY injectable (will not bind from input). Currently (2.11) can only return true for Creator-backed properties.
        Returns:
        True if (and only if) property has injector that is also defined NOT to bind from input.
        Since:
        2.11
      • deserializeAndSet

        public abstract void deserializeAndSet​(JsonParser p,
                                               DeserializationContext ctxt,
                                               java.lang.Object instance)
                                        throws java.io.IOException
        Method called to deserialize appropriate value, given parser (and context), and set it using appropriate mechanism. Pre-condition is that passed parser must point to the first token that should be consumed to produce the value (the only value for scalars, multiple for Objects and Arrays).
        Throws:
        java.io.IOException
      • set

        public abstract void set​(java.lang.Object instance,
                                 java.lang.Object value)
                          throws java.io.IOException
        Method called to assign given value to this property, on specified Object.

        Note: this is an optional operation, not supported by all implementations, creator-backed properties for example do not support this method.

        Throws:
        java.io.IOException
      • setAndReturn

        public abstract java.lang.Object setAndReturn​(java.lang.Object instance,
                                                      java.lang.Object value)
                                               throws java.io.IOException
        Method called to assign given value to this property, on specified Object, and return whatever delegating accessor returned (if anything)

        Note: this is an optional operation, not supported by all implementations, creator-backed properties for example do not support this method.

        Throws:
        java.io.IOException
      • deserialize

        public final java.lang.Object deserialize​(JsonParser p,
                                                  DeserializationContext ctxt)
                                           throws java.io.IOException
        This method is needed by some specialized bean deserializers, and also called by some deserializeAndSet(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext, java.lang.Object) implementations.

        Pre-condition is that passed parser must point to the first token that should be consumed to produce the value (the only value for scalars, multiple for Objects and Arrays).

        Note that this method is final for performance reasons: to override functionality you must override other methods that call this method; this method should also not be called directly unless you really know what you are doing (and probably not even then).

        Throws:
        java.io.IOException
      • deserializeWith

        public final java.lang.Object deserializeWith​(JsonParser p,
                                                      DeserializationContext ctxt,
                                                      java.lang.Object toUpdate)
                                               throws java.io.IOException
        Throws:
        java.io.IOException
        Since:
        2.9
      • toString

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