org.jboss.ejb3.core.resolvers
Class ScopedEJBReferenceResolver

java.lang.Object
  extended by org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolverBase
      extended by org.jboss.ejb3.core.resolvers.ScopedEJBReferenceResolver
All Implemented Interfaces:
org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolver

public class ScopedEJBReferenceResolver
extends org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolverBase
implements org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolver


Field Summary
 
Fields inherited from class org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolverBase
DU_ATTACHMENT_NAME_METADATA
 
Constructor Summary
ScopedEJBReferenceResolver()
           
 
Method Summary
protected  java.lang.String find(org.jboss.deployers.structure.spi.DeploymentUnit du, org.jboss.ejb3.common.resolvers.spi.EjbReference reference)
           
protected  java.lang.String findWithin(org.jboss.deployers.structure.spi.DeploymentUnit du, org.jboss.deployers.structure.spi.DeploymentUnit excludeChild, org.jboss.ejb3.common.resolvers.spi.EjbReference reference)
          Deprecated. Use resolveWithinDeploymentUnit(DeploymentUnit, Collection, EjbReference)
 java.lang.String resolveEjb(org.jboss.deployers.structure.spi.DeploymentUnit du, org.jboss.ejb3.common.resolvers.spi.EjbReference reference)
          
protected  java.lang.String resolveWithinDeploymentUnit(org.jboss.deployers.structure.spi.DeploymentUnit du, java.util.Collection<org.jboss.deployers.structure.spi.DeploymentUnit> alreadyScannedDUs, org.jboss.ejb3.common.resolvers.spi.EjbReference reference)
          This method first tries to resolve the passed EjbReference in the passed du.
 
Methods inherited from class org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolverBase
getJndiName, getMatch, getMetaData, isMatch
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ScopedEJBReferenceResolver

public ScopedEJBReferenceResolver()
Method Detail

find

protected java.lang.String find(org.jboss.deployers.structure.spi.DeploymentUnit du,
                                org.jboss.ejb3.common.resolvers.spi.EjbReference reference)

findWithin

@Deprecated
protected java.lang.String findWithin(org.jboss.deployers.structure.spi.DeploymentUnit du,
                                                 org.jboss.deployers.structure.spi.DeploymentUnit excludeChild,
                                                 org.jboss.ejb3.common.resolvers.spi.EjbReference reference)
Deprecated. Use resolveWithinDeploymentUnit(DeploymentUnit, Collection, EjbReference)

Search a deployment unit and it's children.

Parameters:
du -
reference -
Returns:

resolveEjb

public java.lang.String resolveEjb(org.jboss.deployers.structure.spi.DeploymentUnit du,
                                   org.jboss.ejb3.common.resolvers.spi.EjbReference reference)
                            throws org.jboss.ejb3.common.resolvers.spi.UnresolvableReferenceException

Specified by:
resolveEjb in interface org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolver
Throws:
org.jboss.ejb3.common.resolvers.spi.UnresolvableReferenceException

resolveWithinDeploymentUnit

protected java.lang.String resolveWithinDeploymentUnit(org.jboss.deployers.structure.spi.DeploymentUnit du,
                                                       java.util.Collection<org.jboss.deployers.structure.spi.DeploymentUnit> alreadyScannedDUs,
                                                       org.jboss.ejb3.common.resolvers.spi.EjbReference reference)
This method first tries to resolve the passed EjbReference in the passed du. If the jndi name cannot be resolved in that DeploymentUnit, then it tries to recursively resolve the reference in the child DeploymentUnits of that DeploymentUnit. If the jndi-name still can't be resolved, then this method recursively repeats the resolution steps with the parent of the passed DeploymentUnit

If the jndi-name cannot be resolved in any of the DeploymentUnits in the hierarchy, then this method returns null. Else it returns the resolved jndi-name.

Parameters:
du - The deployment unit within which the EjbReference will be resolved
alreadyScannedDUs - The DeploymentUnits which have already been scanned for resolving the EjbReference
reference - The EjbReference which is being resolved
Returns:
Returns the jndi-name resolved out the EjbReference. If the jndi-name cannot be resolved, then this method returns null.