Download OpenAPI specification:Download
API that provides various explanations for Java code
Returns a structured explanation for a given selection of code of a class.
Explanation request
| code required | string |
object (Selection) | |
| language required | string (Language) Enum: "German" "English" |
{- "code": "public class Test {\r\n\r\n private static int number = 5;\r\n public static void main(String[] args){\r\n printLine(Test.number);\r\n }\r\n\r\n\r\n private static void printLine(int times){\r\n for(int i = 0; i < times; i++){\r\n System.out.println(i);\r\n }\r\n }\r\n}",
- "selection": {
- "begin": {
- "line": 11,
- "column": 13
}, - "end": {
- "line": 11,
- "column": 33
}
}, - "language": "German"
}{- "components": [
- {
- "explanation": {
- "code": "System.out.println(i)",
- "type": "Methoden-Aufruf",
- "explanation": "Methode println mit einem Rückgabewert vom Typ void mit folgendem (aktuellen) Parameter: i.",
- "range": "11:13 - 11:33"
}, - "components": [
- {
- "explanation": {
- "code": "i",
- "type": "Variable",
- "explanation": "Variable vom Datentyp int",
- "range": "11:32 - 11:32"
}
}, - {
- "explanation": {
- "code": "System.out",
- "type": "Klassen-Variable",
- "explanation": "Klassen-Variable vom Datentyp java.io.PrintStream",
- "range": "11:13 - 11:22"
}, - "components": [
- {
- "explanation": {
- "code": "System",
- "type": "Klasse",
- "explanation": "Klasse System",
- "range": "11:13 - 11:18"
}
}
]
}
]
}
]
}Returns a PMD analysis of a given class.
analysis request
| code required | string |
| language required | string (Language) Enum: "German" "English" |
{- "code": "public class Foo_Test {}",
- "language": "German"
}{- "lines": [
- "1:8 - 1:24: Klassennamen wie 'Foo_Test' sollten mit einem Großbuchstaben beginnen, keine Sonderzeichen enthalten und in CamelCase geschrieben werden.."
]
}Returns a list of similar names (variables, method names etc.) of a given class.
similarNames request
| code required | string |
{- "code": "class Foo{ \r\nvoid y(){\r\nfor(int test = 0; tist < 10; test++){}\r\n}\r\n}"
}[- {
- "range": "(line 3,col 19) (line 3,col 22)",
- "name": "tist"
}, - {
- "range": "(line 3,col 30) (line 3,col 33)",
- "name": "test"
}
]Returns a mermaid diagram for a given selection of a class.
| code required | string |
object (Selection) |
{- "code": "public class Foo {\r\n public static void main(String[] args) {\r\n for(int i = 0; i < 10; i++){\r\n System.out.println(\"Test\");\r\n System.out.println(\"i\");\r\n System.out.println(i);\r\n\r\n }\r\n }\r\n}",
- "selection": {
- "begin": {
- "line": 3,
- "column": 1
}, - "end": {
- "line": 8,
- "column": 10
}
}
}{- "diagram": "graph TD;\ninit((\"int i = 0\"))-->start((\"#32;\"));\nstart-->bedingung{\"i < 10\"};\nbedingung-- \"false\" -->ende[\"#32;\"];\nbedingung-- \"true\" -->body[\"System.out.println(#quot;Test#quot;); ...\"];\nbody-->weiter[\"i++\"];\nweiter-->start;\nlinkStyle default interpolate basis;\n"
}Returns the result of the parsing with JavaParser
Code
public class Foo { private int i; }
{- "!": "com.github.javaparser.ast.CompilationUnit",
- "range": {
- "beginLine": 1,
- "beginColumn": 1,
- "endLine": 3,
- "endColumn": 1
}, - "tokenRange": {
- "beginToken": {
- "kind": 47,
- "text": "public"
}, - "endToken": {
- "kind": 0,
- "text": ""
}
}, - "imports": [ ],
- "types": [
- {
- "!": "com.github.javaparser.ast.body.ClassOrInterfaceDeclaration",
- "range": {
- "beginLine": 1,
- "beginColumn": 1,
- "endLine": 3,
- "endColumn": 1
}, - "tokenRange": {
- "beginToken": {
- "kind": 47,
- "text": "public"
}, - "endToken": {
- "kind": 99,
- "text": "}"
}
}, - "extendedTypes": [ ],
- "implementedTypes": [ ],
- "isInterface": "false",
- "typeParameters": [ ],
- "members": [
- {
- "!": "com.github.javaparser.ast.body.FieldDeclaration",
- "range": {
- "beginLine": 2,
- "beginColumn": 5,
- "endLine": 2,
- "endColumn": 18
}, - "tokenRange": {
- "beginToken": {
- "kind": 45,
- "text": "private"
}, - "endToken": {
- "kind": 102,
- "text": ";"
}
}, - "modifiers": [
- {
- "!": "com.github.javaparser.ast.Modifier",
- "range": {
- "beginLine": 2,
- "beginColumn": 5,
- "endLine": 2,
- "endColumn": 11
}, - "tokenRange": {
- "beginToken": {
- "kind": 45,
- "text": "private"
}, - "endToken": {
- "kind": 45,
- "text": "private"
}
}, - "keyword": "PRIVATE"
}
], - "variables": [
- {
- "!": "com.github.javaparser.ast.body.VariableDeclarator",
- "range": {
- "beginLine": 2,
- "beginColumn": 17,
- "endLine": 2,
- "endColumn": 17
}, - "tokenRange": {
- "beginToken": {
- "kind": 93,
- "text": "i"
}, - "endToken": {
- "kind": 93,
- "text": "i"
}
}, - "name": {
- "!": "com.github.javaparser.ast.expr.SimpleName",
- "range": {
- "beginLine": 2,
- "beginColumn": 17,
- "endLine": 2,
- "endColumn": 17
}, - "tokenRange": {
- "beginToken": {
- "kind": 93,
- "text": "i"
}, - "endToken": {
- "kind": 93,
- "text": "i"
}
}, - "identifier": "i"
}, - "type": {
- "!": "com.github.javaparser.ast.type.PrimitiveType",
- "range": {
- "beginLine": 2,
- "beginColumn": 13,
- "endLine": 2,
- "endColumn": 15
}, - "tokenRange": {
- "beginToken": {
- "kind": 38,
- "text": "int"
}, - "endToken": {
- "kind": 38,
- "text": "int"
}
}, - "type": "INT",
- "annotations": [ ]
}
}
], - "annotations": [ ]
}
], - "modifiers": [
- {
- "!": "com.github.javaparser.ast.Modifier",
- "range": {
- "beginLine": 1,
- "beginColumn": 1,
- "endLine": 1,
- "endColumn": 6
}, - "tokenRange": {
- "beginToken": {
- "kind": 47,
- "text": "public"
}, - "endToken": {
- "kind": 47,
- "text": "public"
}
}, - "keyword": "PUBLIC"
}
], - "name": {
- "!": "com.github.javaparser.ast.expr.SimpleName",
- "range": {
- "beginLine": 1,
- "beginColumn": 14,
- "endLine": 1,
- "endColumn": 16
}, - "tokenRange": {
- "beginToken": {
- "kind": 93,
- "text": "Foo"
}, - "endToken": {
- "kind": 93,
- "text": "Foo"
}
}, - "identifier": "Foo"
}, - "annotations": [ ]
}
]
}