Class CollectionLikeType

All Implemented Interfaces:
JsonSerializable, JsonSerializableWithType
Direct Known Subclasses:
CollectionType

public class CollectionLikeType extends TypeBase
Type that represents things that act similar to Collection; but may or may not be instances of that interface. This specifically allows framework to check for configuration and annotation settings used for Map types, and pass these to custom handlers that may be more familiar with actual type.
Since:
1.8
  • Field Details

    • _elementType

      protected final JavaType _elementType
      Type of elements in collection
  • Constructor Details

  • Method Details

    • _narrow

      protected JavaType _narrow(Class<?> subclass)
      Specified by:
      _narrow in class JavaType
    • narrowContentsBy

      public JavaType narrowContentsBy(Class<?> contentClass)
      Specified by:
      narrowContentsBy in class JavaType
    • widenContentsBy

      public JavaType widenContentsBy(Class<?> contentClass)
      Specified by:
      widenContentsBy in class JavaType
    • construct

      public static CollectionLikeType construct(Class<?> rawType, JavaType elemT)
    • withTypeHandler

      public CollectionLikeType withTypeHandler(Object h)
      Description copied from class: JavaType
      "Copy method" that will construct a new instance that is identical to this instance, except that it will have specified type handler assigned.
      Specified by:
      withTypeHandler in class JavaType
      Returns:
      Newly created type instance
    • withContentTypeHandler

      public CollectionLikeType withContentTypeHandler(Object h)
      Description copied from class: JavaType
      "Copy method" that will construct a new instance that is identical to this instance, except that its content type will have specified type handler assigned.
      Specified by:
      withContentTypeHandler in class JavaType
      Returns:
      Newly created type instance
    • withValueHandler

      public CollectionLikeType withValueHandler(Object h)
      Overrides:
      withValueHandler in class JavaType
    • withContentValueHandler

      public CollectionLikeType withContentValueHandler(Object h)
      Overrides:
      withContentValueHandler in class JavaType
    • isContainerType

      public boolean isContainerType()
      Specified by:
      isContainerType in class JavaType
      Returns:
      True if type represented is a container type; this includes array, Map and Collection types.
    • isCollectionLikeType

      public boolean isCollectionLikeType()
      Overrides:
      isCollectionLikeType in class JavaType
      Returns:
      True if type is either true Collection type, or something similar (meaning it has at least one type parameter, which describes type of contents)
    • getContentType

      public JavaType getContentType()
      Description copied from class: JavaType
      Method for accessing content type of this type, if type has such a thing: simple types do not, structured types do (like arrays, Collections and Maps)
      Overrides:
      getContentType in class JavaType
    • containedTypeCount

      public int containedTypeCount()
      Description copied from class: JavaType
      Method for checking how many contained types this type has. Contained types are usually generic types, so that generic Maps have 2 contained types.
      Overrides:
      containedTypeCount in class JavaType
    • containedType

      public JavaType containedType(int index)
      Description copied from class: JavaType
      Method for accessing definitions of contained ("child") types.
      Overrides:
      containedType in class JavaType
      Parameters:
      index - Index of contained type to return
      Returns:
      Contained type at index, or null if no such type exists (no exception thrown)
    • containedTypeName

      public String containedTypeName(int index)
      Not sure if we should count on this, but type names for core interfaces use "E" for element type
      Overrides:
      containedTypeName in class JavaType
      Parameters:
      index - Index of contained type to return
      Returns:
      Contained type at index, or null if no such type exists (no exception thrown)
    • getErasedSignature

      public StringBuilder getErasedSignature(StringBuilder sb)
      Description copied from class: JavaType
      Method for accessing signature without generic type information, in form compatible with all versions of JVM, and specifically used for type descriptions when generating byte code.
      Specified by:
      getErasedSignature in class TypeBase
      Parameters:
      sb - StringBuilder to append signature to
      Returns:
      StringBuilder that was passed in; returned to allow call chaining
    • getGenericSignature

      public StringBuilder getGenericSignature(StringBuilder sb)
      Specified by:
      getGenericSignature in class TypeBase
      Parameters:
      sb - StringBuilder to append signature to
      Returns:
      StringBuilder that was passed in; returned to allow call chaining
    • buildCanonicalName

      protected String buildCanonicalName()
      Specified by:
      buildCanonicalName in class TypeBase
    • isTrueCollectionType

      public boolean isTrueCollectionType()
      Method that can be used for checking whether this type is a "real" Collection type; meaning whether it represents a parameterized subtype of Collection or just something that acts like one.
      Since:
      1.8
    • equals

      public boolean equals(Object o)
      Specified by:
      equals in class JavaType
    • toString

      public String toString()
      Specified by:
      toString in class JavaType