Hallo zusammen,
Ich habe mich eben etwas mit der Serialisierung befasst.
Jetzt würde gerne wissen ob man sozusagen "Java Anweisungen" Serialisieren und danach wieder ausführen kann.
Hier ein paar Beispiele:
Meine Klasse:
Wie Ich mein "SerializerString" bekomme:
Ergebnis: "rO0ABXNyAAtNeVRlc3RDbGFzc88FSEBAxm0AAgABTAALbXlJbnRlcmZhY2V0AA1MTXlJbnRlcmZhY2U7eHBzcgAGTWFpbiQxfcgSFMpUyiwCAAB4cA=="
Nun möchte Ich meine "doSomething" wieder ausführen, das würde Ich theoretisch so machen:
Dabei bekomme Ich aber eine NullPointerException.
Ich habe mir zwar schon gedacht dass das nicht geht, aber Ich finde die Vorstellung von sowas ziemlich cool und es kann ja sein dass es da Möglichkeiten gibt.
Ich hoffe Ich konnte das halbwegs verständlich erklären.
Fragen beantworte Ich sehr gerne.
Ich habe mich eben etwas mit der Serialisierung befasst.
Jetzt würde gerne wissen ob man sozusagen "Java Anweisungen" Serialisieren und danach wieder ausführen kann.
Hier ein paar Beispiele:
Meine Klasse:
Java:
import java.io.Serializable;
public class MyTestClass implements Serializable {
private static final long serialVersionUID = -3529335292173062912L;
private MyInterface myInterface;
public MyTestClass(MyInterface myInterface){
this.myInterface = myInterface;
}
public MyInterface getMyInterface() {
return myInterface;
}
}
Wie Ich mein "SerializerString" bekomme:
Java:
System.out.println(ObjectBuilder.getStringOf(new MyTestClass(new MyInterface() {
@Override
public void doSomething() {
System.out.println("Hello world!");
}
})));
Nun möchte Ich meine "doSomething" wieder ausführen, das würde Ich theoretisch so machen:
Java:
MyTestClass myTestClass = (MyTestClass) ObjectBuilder.getObjectOf("rO0ABXNy...B4cA==");
myTestClass.getMyInterface().doSomething();
Dabei bekomme Ich aber eine NullPointerException.
Ich habe mir zwar schon gedacht dass das nicht geht, aber Ich finde die Vorstellung von sowas ziemlich cool und es kann ja sein dass es da Möglichkeiten gibt.
Ich hoffe Ich konnte das halbwegs verständlich erklären.
Fragen beantworte Ich sehr gerne.