org.apache.tapestry5.ioc.internal
Class RecursiveServiceCreationCheckWrapper

java.lang.Object
  extended by org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper
All Implemented Interfaces:
ObjectCreator

public class RecursiveServiceCreationCheckWrapper
extends Object
implements ObjectCreator

Decorator for ObjectCreator that ensures the service is only created once. This detects a situation where the service builder for a service directly or indirectly invokes methods on the service itself. This would show up as a second call up the ServiceCreator stack injected into the proxy, potentially leading to endless recursion. We try to identify that recursion and produce a useable exception report.


Constructor Summary
RecursiveServiceCreationCheckWrapper(ServiceDef serviceDef, ObjectCreator delegate, org.slf4j.Logger logger)
           
 
Method Summary
 Object createObject()
          We could make this method synchronized, but in the context of creating a service for a proxy, it will already be synchronized (inside the proxy).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RecursiveServiceCreationCheckWrapper

public RecursiveServiceCreationCheckWrapper(ServiceDef serviceDef,
                                            ObjectCreator delegate,
                                            org.slf4j.Logger logger)
Method Detail

createObject

public Object createObject()
We could make this method synchronized, but in the context of creating a service for a proxy, it will already be synchronized (inside the proxy).

Specified by:
createObject in interface ObjectCreator


Copyright © 2003-2012 The Apache Software Foundation.