Interface ParserTypeComposite

All Superinterfaces:
Type

@Immutable public interface ParserTypeComposite extends Type
Type representing a composite class (schema with allOf) during parsing. The composite may include both internal properties (basically captured as an anonymous placeholder DTO that will not be part of the final model) and references to types that have not been resolved yet. So a TypeComposite DTO needs to be constructed in two steps; (1) during parsing, where the internal properties can be copied from the placeholder DTO, and (2) during resolving, where the referenced DTOs are now known, and can be used for copying their properties (or extension).
  • Method Details

    • of

      static ParserTypeComposite of(TypeName typeName, List<ParserTypeRef> containsTypes)
      Creates a type for a composite class.
      Parameters:
      typeName - the class type name
      containsTypes - the parser reference aggregated in this type
      Returns:
      a composite type
    • containsTypes

      List<ParserTypeRef> containsTypes()
      Returns the parser references to the composite parts of this type.
      Returns:
      the parser references to the composite parts of this type
    • internalDtos

      default List<Dto> internalDtos()
      Returns a list of the internal DTOs in this composite. This can be called during parsing.
      Returns:
      a list of the internal DTOs in this composite
    • externalDtoReferences

      default List<TypeName> externalDtoReferences()
      Returns a list of the externally referenced type names.
      Returns:
      a list of the externally referenced type names