A Java Wrapper for Piston
Please replace VERSION below with the version shown above!
Maven
<dependency> <groupId>com.github.the-codeboy</groupId> <artifactId>Piston4J</artifactId> <version>VERSION</version> </dependency><repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> </repositories>Gradle
dependencies { implementation 'com.github.the-codeboy:Piston4J:VERSION' } repositories { maven { url 'https://jitpack.io' } }Running code in one line. It is not recommended to use the api like this
System.out.println(Piston.run("python","print(\"Hello, World!\")"));A simple Hello World using javascript
import com.github.codeboy.piston4j.api.CodeFile; import com.github.codeboy.piston4j.api.ExecutionResult; import com.github.codeboy.piston4j.api.CodeFile; import com.github.codeboy.piston4j.api.Piston; import com.github.codeboy.piston4j.api.Runtime; import java.util.Optional; public class Example { public static void main(String[] args) { Piston api = Piston.getDefaultApi();//get the api at https://emkc.org/api/v2/piston Optional<Runtime> optionalRuntime = api.getRuntime("js");//get the javascript runtime if (optionalRuntime.isPresent()) {//check if the runtime exists Runtime runtime = optionalRuntime.get(); CodeFile codeFile = new CodeFile("main.js", "console.log(\"Hello World!\")");//create the codeFile containing the javascript code ExecutionResult result = runtime.execute(codeFile);//execute the codeFile System.out.println(result.getOutput().getOutput());//print the result } } }You can also execute the code without getting the runtime. However this is not recommended since it wont work unless you know the correct version of the runtime
import com.github.codeboy.piston4j.api.CodeFile; import com.github.codeboy.piston4j.api.ExecutionRequest; import com.github.codeboy.piston4j.api.ExecutionResult; import com.github.codeboy.piston4j.api.Piston; public class Example2 { public static void main(String[] args) { Piston api = Piston.getDefaultApi();//get the api at https://emkc.org/api/v2/piston CodeFile codeFile = new CodeFile("main.js", "console.log(\"Hello World!\")");//create the codeFile containing the javascript code ExecutionRequest request = new ExecutionRequest("js", "16.3.0", codeFile);//create the request using the codeFile, a language and a version ExecutionResult result = api.execute(request);//execute the request System.out.println(result.getOutput().getOutput());//print the result } }