Ich las das Byte Kumpel und Javassist doc, und ich möchte nicht wissen, wenn möglich, ist eine Zeichenfolge wie zu konvertieren:Wie man dynamisch eingegebenen Benutzerausdruck in Java-Code konvertiert?
get foos where name == toto
zu
data.getFoos().stream()
.filter(f -> f.name.equals("toto"))
.collect(Collectors.toSet())
Ein regex den Ausdruck erfassen, wie könnte:
final Pattern query = Pattern.compile("get (\\w+) where (\\w+) ([=!]+) (\\w+)");
final Scanner scanner = new Scanner(System.in);
final Matcher matcher = query.matcher(input);
matcher.group(1) // foos -> Foo and foos -> getFoos()
matcher.group(2) // field to use as filter
matcher.group(3) // symbol ==/!=
matcher.group(4) // thing to match
- convert
get foos
zugetFoos()
- Scheck von
Foo
Klasse, wennname
Feldname
- wenn Felder existiert keine Instanz von
Number.class
übersetzen==
-.equals
- den Ausdruck machen
- Schleife und Druckergebnisse
ich einige Beispiele lesen ohne in der Lage zu sein, eine solche Sache zu finden. Also komme ich hierher, um dein Licht zu bekommen. Danke