java.lang.Object
io.helidon.codegen.classmodel.ClassBase
Direct Known Subclasses:
ClassModel, InnerClass

public abstract class ClassBase extends Object
Abstract class type model. Contains common logic for all class related models.
  • Method Details

    • fields

      public List<Field> fields()
      All declared fields.
      Returns:
      fields
    • methods

      public List<Method> methods()
      All declared methods.
      Returns:
      methods
    • innerClasses

      public List<ClassBase> innerClasses()
      All declared inner classes.
      Returns:
      inner classes
    • constructors

      public List<Constructor> constructors()
      All declared constructors.
      Returns:
      constructors
    • kind

      public ElementKind kind()
      Kind of this type.
      Returns:
      kind
    • superTypeName

      public Optional<TypeName> superTypeName()
      Type name of the super class (if this is a class and it extends another class).
      Returns:
      super type
    • interfaceTypeNames

      public List<TypeName> interfaceTypeNames()
      Implemented interfaces.
      Returns:
      interfaces this type implements (or extends, if this is an interface)
    • isFinal

      public boolean isFinal()
      Is this a final class.
      Returns:
      whether this class is final
    • isAbstract

      public boolean isAbstract()
      Is this an abstract class.
      Returns:
      whether this class is abstract
    • isStatic

      public boolean isStatic()
      Is this a static class.
      Returns:
      whether this class is static
    • annotations

      public List<Annotation> annotations()
      List of annotations on this component.
      Returns:
      annotations
    • name

      public String name()
      Name of this component.
      Returns:
      component name
    • accessModifier

      public AccessModifier accessModifier()
      Access modifier of this component.
      Returns:
      access modifier
    • description

      public List<String> description()
      Description (javadoc) of this component.
      Returns:
      description lines
    • typeName

      public TypeName typeName()
      Type name of this component.
      Returns:
      type name