'loha Folks,
folgende Situation:
Applikation X beitet die Möglichkeit, Methoden einer anderen Applikation Y mittels Reflexion aufzurufen. Die Aufzurufende Funktion wird wie folgt in X definiert (in einem Textfeld):
Damit das funktioniert muss natürlich eine entsprechende Methode in Y implementiert werden (etwa so):
So weit so gut.
Nun möchte ich, dass z.B. auch folgendes in X definiert werden kann, ohne eine zusätzliche Methode implementieren zu müssen:
Als "Verzweiflungstat" wurde z.B. folgendes versucht:
Und die Methoden-Deklaration wurde angepasst:
Die Methode wird so auch tatsächlich aufgerufen, nur, wie und ob überhaupt, auf data zugegriffen werden kann um wieder an die Strings zu gelangen ist mir ein Rätsel (data ist stets null).
Helfende Worte werden gerne entgegengenommen.
Grüsse
hirnstroem
folgende Situation:
Applikation X beitet die Möglichkeit, Methoden einer anderen Applikation Y mittels Reflexion aufzurufen. Die Aufzurufende Funktion wird wie folgt in X definiert (in einem Textfeld):
Java:
textToImage("some text")
Damit das funktioniert muss natürlich eine entsprechende Methode in Y implementiert werden (etwa so):
Java:
public static byte[] textToImage(String text) {
try {
BufferedImage bi = new BufferedImage(121, 10, BufferedImage.TYPE_INT_RGB);
Graphics g = bi.createGraphics();
g.setColor(Color.white);
g.fillRect(0, 0, 121, 10);
g.setColor(Color.black);
g.setFont(new Font("Arial", Font.PLAIN, 10));
g.drawString(text, 0, 10);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bi, "png", baos);
baos.flush();
return baos.toByteArray();
}
catch(Exception e) {
//
}
return null;
}
So weit so gut.
Nun möchte ich, dass z.B. auch folgendes in X definiert werden kann, ohne eine zusätzliche Methode implementieren zu müssen:
Java:
textToImage("some text", "some more text")
Als "Verzweiflungstat" wurde z.B. folgendes versucht:
Java:
textToImage(Object("some text", "some more text"))
Und die Methoden-Deklaration wurde angepasst:
Java:
public static byte[] textToImage(Object data) {
// do something
}
Die Methode wird so auch tatsächlich aufgerufen, nur, wie und ob überhaupt, auf data zugegriffen werden kann um wieder an die Strings zu gelangen ist mir ein Rätsel (data ist stets null).
Helfende Worte werden gerne entgegengenommen.
Grüsse
hirnstroem