Hello

​with tapestry 5.3.4 and java 7 with use of
org.apache.tapestry5.ioc.services.ClassFactory



    private Class<?> createProxyClass(ServiceResources resources) {
        Class<?> serviceInterface = resources.getServiceInterface();

        ClassFab cf = classFactory.newClass(serviceInterface);

        // add field
        cf.addField("_creator", Modifier.PRIVATE | Modifier.FINAL,
SomeClass.class);

        // Constructor takes a ServiceCreator
        cf.addConstructor(new Class[] { SomeClass.class }, null, "_creator
= $1;");

        // add method
        String body = format("return (%s) _creator.get();",
serviceInterface.getName());
        MethodSignature sig = new MethodSignature(serviceInterface,
SCOPE_METHOD_NAME, null, null);
        cf.addMethod(Modifier.PRIVATE, sig, body);
        String toString = format("<Scoped Proxy for scope(%s): %s(%s)>",
scope, resources.getServiceId(),
                serviceInterface.getName());

        cf.proxyMethodsToDelegate(serviceInterface, SCOPE_METHOD_NAME +
"()", toString);

        return cf.createClass();
    }





with tapestry 5.4-beta3 this class has been removed (it was depricated)

I played around a little bit to find related implementation in new replaced
class

org.apache.tapestry5.ioc.services.PlasticProxyFactory

couldn't find it offhand, how to achieve same thing with tapestry 5.4 ?

Thanks!
Jigar

Reply via email to