Interface Builder<T extends Builder<T>>

All Known Implementing Classes:
AbstractBuilder, ClassBuilder, EnumBuilder

public sealed interface Builder<T extends Builder<T>> permits AbstractBuilder<T>
Builder of a Java class - which MAY generate a class, enum or record.
Since:
0.1.0
Author:
Chrimle
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static enum 
    The placement of version information in generated classes.
  • Method Summary

    Modifier and Type
    Method
    Description
    Commits the currently uncommitted class.
    Sets the versionPlacement of the currently uncommitted class.
    Updates the className of the currently uncommitted class.
    Updates the directory of the currently uncommitted class.
    Updates the packageName of the currently uncommitted class.
  • Method Details

    • setVersionPlacement

      T setVersionPlacement(Builder.VersionPlacement versionPlacement)
      Sets the versionPlacement of the currently uncommitted class.

      Default: Builder.VersionPlacement.NONE.

      Parameters:
      versionPlacement - for the class.
      Returns:
      this Builder.
      Since:
      0.3.0
    • updateDirectory

      T updateDirectory(String directory)
      Updates the directory of the currently uncommitted class.
      Parameters:
      directory - of the class.
      Returns:
      this Builder.
      Since:
      0.1.0
    • updateClassName

      T updateClassName(String className)
      Updates the className of the currently uncommitted class.
      Parameters:
      className - of the class.
      Returns:
      this Builder.
      Since:
      0.1.0
    • updatePackageName

      T updatePackageName(String packageName)
      Updates the packageName of the currently uncommitted class.
      Parameters:
      packageName - of the class.
      Returns:
      this Builder.
      Since:
      0.1.0
    • commit

      T commit()
      Commits the currently uncommitted class.
      Returns:
      this Builder.
      Since:
      0.1.0