Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.fasterxml.jackson.databind;
  
  
Bean properties are logical entities that represent data that Java objects (POJOs (Plain Old Java Objects), sometimes also called "beans") contain; and that are accessed using accessors (methods like getters and setters, fields, contstructor parametrers). Instances allow access to annotations directly associated to property (via field or method), as well as contextual annotations (annotations for class that contains properties).

Instances are not typically passed when constructing serializers and deserializers, but rather only passed when context is known when com.fasterxml.jackson.databind.ser.ContextualSerializer and com.fasterxml.jackson.databind.deser.ContextualDeserializer resolution occurs (createContextual(...) method is called). References may (need to) be retained by serializers and deserializers, especially when further resolving dependant handlers like value serializers/deserializers or structured types.

 
 public interface BeanProperty extends Named
 {
    
Method to get logical name of the property
 
     @Override
     public String getName();
    
    
Method to get declared type of the property.
 
     public JavaType getType();

    
If property is indicated to be wrapped, name of wrapper element to use.

Since:
2.2
 
     public PropertyName getWrapperName();
    
    
Whether value for property is marked as required using annotations or associated schema.

Since:
2.2
 
     public boolean isRequired();
    
    
Method for finding annotation associated with this property; meaning annotation associated with one of entities used to access property.
 
     public <A extends Annotation> A getAnnotation(Class<A> acls);

    
Method for finding annotation associated with context of this property; usually class in which member is declared (or its subtype if processing subtype).
 
     public <A extends Annotation> A getContextAnnotation(Class<A> acls);

    
Method for accessing primary physical entity that represents the property; annotated field, method or constructor property.
 
     public AnnotatedMember getMember();

    
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 java.lang.UnsupportedOperationException.

Parameters:
objectVisitor Visitor to used as the callback handler
Since:
2.2
 
     public void depositSchemaProperty(JsonObjectFormatVisitor objectVisitor)
         throws JsonMappingException;
     
     /*
     /**********************************************************
     /* Helper classes
     /**********************************************************
      */

    
Simple stand-alone implementation, useful as a placeholder or base class for more complex implementations.
    public static class Std implements BeanProperty
    {
        protected final String _name;
        protected final JavaType _type;
        protected final PropertyName _wrapperName;
        
        protected final boolean _isRequired;

        
Physical entity (field, method or constructor argument) that is used to access value of property (or in case of constructor property, just placeholder)
        protected final AnnotatedMember _member;

        
Annotations defined in the context class (if any); may be null if no annotations were found
        protected final Annotations _contextAnnotations;
        
        public Std(String nameJavaType typePropertyName wrapperName,
                Annotations contextAnnotationsAnnotatedMember member,
                boolean isRequired)
        {
             = name;
             = type;
             = wrapperName;
             = isRequired;
             = member;
             = contextAnnotations;
        }
        
        public Std withType(JavaType type) {
            return new Std(type);
        }
        
        @Override
        public <A extends Annotation> A getAnnotation(Class<A> acls) {
            return ( == null) ? null : .getAnnotation(acls);
        }
        @Override
        public <A extends Annotation> A getContextAnnotation(Class<A> acls) {
            return ( == null) ? null : .get(acls);
        }
        
        @Override
        public String getName() {
            return ;
        }
        @Override
        public JavaType getType() {
            return ;
        }
        @Override
        public PropertyName getWrapperName() {
            return ;
        }
        
        @Override
        public boolean isRequired() {
            return ;
        }
        
        @Override
        public AnnotatedMember getMember() {
            return ;
        }

        
Implementation of this method throws java.lang.UnsupportedOperationException, since instances of this implementation should not be used as part of actual structure visited. Rather, other implementations should handle it.
        @Override
        public void depositSchemaProperty(JsonObjectFormatVisitor objectVisitor) {
            throw new UnsupportedOperationException("Instances of "+getClass().getName()
                    +" should not get visited");
        }
    }
New to GrepCode? Check out our FAQ X