1 package org.objectweb.celtix.bus.jaxws; 2 3 import java.lang.reflect.InvocationTargetException ; 4 5 import javax.xml.bind.JAXBContext; 6 import javax.xml.ws.Provider; 7 8 import org.objectweb.celtix.bindings.DataBindingCallback.Mode; 9 import org.objectweb.celtix.bindings.ServerDataBindingCallback; 10 import org.objectweb.celtix.context.ObjectMessageContext; 11 12 public class ServerDynamicDataBindingCallback<T> extends DynamicDataBindingCallback 13 implements ServerDataBindingCallback { 14 15 private Provider<T> provider; 16 17 18 public ServerDynamicDataBindingCallback(Class <T> cls, Mode md, Provider<T> p) { 19 super(cls, md); 20 provider = p; 21 } 22 23 public ServerDynamicDataBindingCallback(JAXBContext ctx, Mode md, Provider<T> p) { 24 super(ctx, md); 25 provider = p; 26 } 27 28 29 @SuppressWarnings ("unchecked") 30 public void invoke(ObjectMessageContext octx) throws InvocationTargetException { 31 T obj = provider.invoke((T)octx.getMessageObjects()[0]); 32 octx.setReturn(obj); 33 } 34 } 35 | Popular Tags |