Interface ExtensibleType<T extends ExtensibleType>

Type Parameters:
T - parent type which is always the same as the child type (classes extends classes, interfaces extends interfaces...)
All Superinterfaces:
AnnotatedElement, Type
All Known Subinterfaces:
AnnotationType, ClassModel, InterfaceModel
All Known Implementing Classes:
AnnotationTypeImpl, ClassModelImpl, ExtensibleTypeImpl, InterfaceModelImpl

public interface ExtensibleType<T extends ExtensibleType> extends Type
An extensible type is a type that can be subclassed like an interface or a class.
  • Method Details

    • getParent

      T getParent()
      Return the parent type instance. If there are more than one parent with the same FQCN within the various URI we parsed, we return the one defined within the same URI (if it exists). If there is more than one parsed metadata with the same FQCN and none of them are defined within the same URI as this type, then null is returned.
      Returns:
      the parent type instance or null
    • subTypes

      Collection<T> subTypes()
      Returns the child subtypes of this type. A child subtype is a type which parent is this type.
      Returns:
      the immediate subtypes
    • allSubTypes

      Collection<T> allSubTypes()
      Returns all the children subtypes (including grand children) of this type.
      Returns:
      all the children
    • getInterfaces

      Collection<InterfaceModel> getInterfaces()
      Returns an unmodifiable list of interfaces implemented or extended by this type.
      Returns:
      collection of implemented or extended interfaces
    • getParameterizedInterfaces

      Collection<ParameterizedInterfaceModel> getParameterizedInterfaces()
    • getStaticFields

      Collection<FieldModel> getStaticFields()
      Returns an unmodifiable list of static fields defined by this type