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 changes as a new class.
    Commits the currently uncommitted changes as a new class.
    setSemVer(SemVer semVer)
    Sets the semVer of 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
    • setSemVer

      T setSemVer(SemVer semVer)
      Sets the semVer of the currently uncommitted class.

      NOTE: the semVer will be updated when committing the changes.

      Parameters:
      semVer - for the class.
      Returns:
      this Builder.
      Since:
      0.5.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 changes as a new class. The semVer of the new class will be set automatically.
      Returns:
      this Builder.
      Since:
      0.1.0
    • commit

      T commit(SemVer.Change change)
      Commits the currently uncommitted changes as a new class. The semVer of the new class will be set according to the given change.
      Parameters:
      change - for the new semVer.
      Returns:
      this Builder
      Since:
      0.5.0