Class CreatorCollector


  • public class CreatorCollector
    extends java.lang.Object
    Container class for storing information on creators (based on annotations, visibility), to be able to build actual ValueInstantiator later on.
    • Field Detail

      • TYPE_DESCS

        protected static final java.lang.String[] TYPE_DESCS
      • _beanDesc

        protected final BeanDescription _beanDesc
        Type of bean being created
      • _canFixAccess

        protected final boolean _canFixAccess
      • _forceAccess

        protected final boolean _forceAccess
        Since:
        2.7
      • _creators

        protected final AnnotatedWithParams[] _creators
        Set of creators we have collected so far
        Since:
        2.5
      • _explicitCreators

        protected int _explicitCreators
        Bitmask of creators that were explicitly marked as creators; false for auto-detected (ones included base on naming and/or visibility, not annotation)
        Since:
        2.5
      • _hasNonDefaultCreator

        protected boolean _hasNonDefaultCreator
    • Method Detail

      • setDefaultCreator

        public void setDefaultCreator​(AnnotatedWithParams creator)
        Method called to indicate the default creator: no-arguments constructor or factory method that is called to instantiate a value before populating it with data. Default creator is only used if no other creators are indicated.
        Parameters:
        creator - Creator method; no-arguments constructor or static factory method.
      • addStringCreator

        public void addStringCreator​(AnnotatedWithParams creator,
                                     boolean explicit)
      • addIntCreator

        public void addIntCreator​(AnnotatedWithParams creator,
                                  boolean explicit)
      • addLongCreator

        public void addLongCreator​(AnnotatedWithParams creator,
                                   boolean explicit)
      • addBigIntegerCreator

        public void addBigIntegerCreator​(AnnotatedWithParams creator,
                                         boolean explicit)
      • addDoubleCreator

        public void addDoubleCreator​(AnnotatedWithParams creator,
                                     boolean explicit)
      • addBigDecimalCreator

        public void addBigDecimalCreator​(AnnotatedWithParams creator,
                                         boolean explicit)
      • addBooleanCreator

        public void addBooleanCreator​(AnnotatedWithParams creator,
                                      boolean explicit)
      • hasDefaultCreator

        public boolean hasDefaultCreator()
        Since:
        2.1
      • hasDelegatingCreator

        public boolean hasDelegatingCreator()
        Since:
        2.6
      • hasPropertyBasedCreator

        public boolean hasPropertyBasedCreator()
        Since:
        2.6
      • verifyNonDup

        protected boolean verifyNonDup​(AnnotatedWithParams newOne,
                                       int typeIndex,
                                       boolean explicit)
        Returns:
        True if specified Creator is to be used
      • _isEnumValueOf

        protected boolean _isEnumValueOf​(AnnotatedWithParams creator)
        Helper method for recognizing `Enum.valueOf()` factory method
        Since:
        2.8.1