2009-07-03 11 views
0

Ich bin neu bei JBoss Seam. Ich würde gerne wissen, wie ich eine Klasse ohne einen arg-Konstruktor in JBoss Seam instanziieren.Konstruktor Injektion mit JBoss Seam

Ich muss JsonPrimitive (von Google Gson-Framework) instanziieren, die nur Konstruktoren hat, die Argumente erhalten.

Wie der reguläre Code wäre:

import com.google.gson.JsonPrimitive; 
... 
JsonPrimitive jsonPrimitive = new JsonPrimitive(myobject.toString()) 

Der Versuch, den Code zu Seam zu transportieren:

import com.google.gson.JsonPrimitive; 
.. 
@In(create=true) 
JsonPrimitive jsonPrimitive 

Aber diese Art der Sache in Seam (siehe oben) wird mir nicht helfen. Ich muss ein Argument im Konstruktor übergeben, um die Klasse zu instanziieren.

Wie kann ich Seam sagen, dass ein Argument im Konstruktor verwendet werden soll, wenn ein Objekt injiziert wird?

Danke!

Antwort

0

Sie sollten in der Lage sein, die Fabrik Anmerkung zu verwenden:

@Factory("jsonPrimitive") 
public void loadJsonPrimitive() 
{ 
    jsonPrimitive = new JsonPrimitive(myobject.toString()) 
} 

die Naht Dokumentation Siehe @Factory

+1

Auch bei @UnWrap aussehen – Damo

Verwandte Themen