Class MapTypeInfo

java.lang.Object
online.sharedtype.processor.domain.type.ReferableTypeInfo
online.sharedtype.processor.domain.type.MapTypeInfo
All Implemented Interfaces:
Serializable, TypeInfo

public final class MapTypeInfo extends ReferableTypeInfo
See Also:
  • Constructor Details

    • MapTypeInfo

      public MapTypeInfo()
  • Method Details

    • resolved

      public boolean resolved()
      Description copied from interface: TypeInfo

      Check if this type and its dependency types are resolved.

      When parsing a type's structure, a dependency type is firstly captured as a TypeInfo. At this stage, because we don't know its output structure or if it needs to be output at all, we mark it as unresolved. Also, due to possible cyclic dependencies, the resolution stage needs to be performed after initial parsing state. During resolution, once a type is parsed, it's marked as resolved. Note that a type is marked as resolved when created, if it can be determined at that time.

      Object contains resolved flag as a mutable state

      Returns:
      true is this type and its dependency types are resolved.
    • reify

      public TypeInfo reify(Map<TypeVariableInfo,TypeInfo> mappings)
      Description copied from interface: TypeInfo
      Replace type variables with type arguments.
      Parameters:
      mappings - key is a type variable e.g. T value is a type argument, a concrete type e.g. Integer, or a generic type with concrete type parameter, e.g. Tuple<String, String>
      Returns:
      a newly created type info if updated.
    • toString

      public String toString()
      Overrides:
      toString in class Object