Class ClassForge

java.lang.Object
io.github.chrimle.classforge.ClassForge

@API(status=STABLE, since="0.6.0") public final class ClassForge extends Object
The single-entrypoint for generating Java classes via io.github.chrimle:class-forge.

Instructions

  • Ensure NO reserved keywords are used when generating classes.
  • Generate classes via:
Since:
0.1.0
Author:
Chrimle
See Also:
  • Field Details

    • VALID_CLASS_NAME_REGEX

      public static final String VALID_CLASS_NAME_REGEX
      The RegularExpression (RegEx) for determining validity of class-names.

      Example

      
       public class Example { } // Valid
       
      Since:
      0.1.0
      See Also:
    • VALID_PACKAGE_NAME_REGEX

      public static final String VALID_PACKAGE_NAME_REGEX
      The RegularExpression (RegEx) for determining validity of package-names.

      Example

      
       package example.sub_module; // Valid
       
      Since:
      0.1.0
      See Also:
    • RESERVED_KEYWORDS

      public static final Set<String> RESERVED_KEYWORDS
      Keywords reserved by the Java Language. These words MUST NOT be used.
      Since:
      0.1.0
  • Method Details

    • newBuilder

      @NotNull @Contract("null -> fail; _ -> new") public static @NotNull Builder<?> newBuilder(ClassForge.ClassType classType)
      Creates a new Builder instance for generating classTypes.
      Parameters:
      classType - to generate.
      Returns:
      a new Builder instance.
      Since:
      0.10.0
    • newClassBuilder

      @NotNull @Contract(" -> new") public static @NotNull Builder<?> newClassBuilder()
      Creates a new Builder instance for generating Java classes.
      Returns:
      a new Builder instance.
      Since:
      0.6.0
    • newEnumBuilder

      @NotNull @Contract(" -> new") public static @NotNull Builder<?> newEnumBuilder()
      Creates a new Builder instance for generating Java enum classes.
      Returns:
      a new Builder instance.
      Since:
      0.6.0