Class ClassModel.Builder

All Implemented Interfaces:
Builder<ClassModel.Builder,ClassModel>, Supplier<ClassModel>
Enclosing class:
ClassModel

public static final class ClassModel.Builder extends ClassBase.Builder<ClassModel.Builder,ClassModel>
Fluent API builder for ClassModel.
  • Method Details

    • build

      public ClassModel build()
      Description copied from interface: Builder
      Build the instance from this builder.
      Returns:
      instance of the built type
    • accessModifier

      public ClassModel.Builder accessModifier(AccessModifier accessModifier)
      Overrides:
      accessModifier in class ClassBase.Builder<ClassModel.Builder,ClassModel>
    • packageName

      public ClassModel.Builder packageName(String packageName)
      Package name of this type.
      Parameters:
      packageName - type package name
      Returns:
      updated builder instance
    • copyright

      public ClassModel.Builder copyright(String copyright)
      Copyright header to be used.
      Parameters:
      copyright - copyright header
      Returns:
      updated builder instance
    • name

      public ClassModel.Builder name(String name)
    • type

      public ClassModel.Builder type(TypeName type)
    • staticInitializer

      public ClassModel.Builder staticInitializer(Consumer<ContentBuilder<?>> contentBuilder)
      Update the static initializer of this class.
      Parameters:
      contentBuilder - content builder consumer to update the static initializer
      Returns:
      updated builder instance
    • find

      public Optional<ClassBase> find(TypeName typeName)
      Find if the provided type name is handled as part of this generated class.
      Parameters:
      typeName - type name to look for
      Returns:
      class base that matches the provided type name
    • description

      public ClassModel.Builder description(String description)
    • description

      public ClassModel.Builder description(List<String> description)
    • addDescriptionLine

      public ClassModel.Builder addDescriptionLine(String line)
    • addAnnotation

      public ClassModel.Builder addAnnotation(Annotation annotation)
      Add new annotation to the component.
      Parameters:
      annotation - annotation instance
      Returns:
      updated builder instance
    • addAnnotation

      public ClassModel.Builder addAnnotation(Consumer<Annotation.Builder> consumer)
      Add new annotation to the component.
      Parameters:
      consumer - annotation builder consumer
      Returns:
      updated builder instance
    • addAnnotation

      public ClassModel.Builder addAnnotation(Annotation.Builder builder)
      Add new annotation to the component.
      Parameters:
      builder - annotation builder
      Returns:
      updated builder instance
    • addAnnotation

      public ClassModel.Builder addAnnotation(Annotation annotation)
      Add new annotation to the component.
      Parameters:
      annotation - annotation instance
      Returns:
      updated builder instance
    • includeImport

      public ClassModel.Builder includeImport(boolean includeImport)
      Whether to include import type information among the imports.
      Parameters:
      includeImport - whether imports should be included
      Returns:
      updated builder instance