Skip to content

semenishchev/JavaKrab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Krab

A work in progress Java™ source code generator. Fully OOP based, extensive and can be used for many tasks, such as own JVM based programming language

Basic usage:

public String generateSource() {
    return Krab.newSource("me.mrfunny", "TestClass")
        .setFinal(true)
        .access(AccessModifier.PUBLIC)
        .setAbstract(true)
        .addField(JavaField.of("world", Type.of("java.lang.String"))
            .access(AccessModifier.PRIVATE)
            .setInitializer(string("Hello, World!"))
            .setFinal(true)
        )
        .addField(JavaField.of("test", Type.of(int.class))
            .access(AccessModifier.PROTECTED)
            .setInitializer(
                newInstance(Type.of(Random.class))
                    .call("nextInt", num(100))
    )
        )
        .addInnerClass(Krab.innerClass("Hello")
            .addField(JavaField.of("name", Type.of(String.class)).setInitializer(string("heya!")))
        )
        .toPrettyJavaCode();
}
  • Please, remember that this framework is still in progress
  • It uses Google formatter to output pretty code
  • The documentation is a subject to change

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages