Package org.apache.catalina.deploy

## Class NamingResourcesImpl

- java.lang.Object
- - org.apache.catalina.util.LifecycleBase
  - - org.apache.catalina.util.LifecycleMBeanBase
    - - org.apache.catalina.deploy.NamingResourcesImpl

All Implemented Interfaces:
  `java.io.Serializable`, `javax.management.MBeanRegistration`, `JmxEnabled`, `Lifecycle`, `NamingResources`

    public class NamingResourcesImpl
    extends LifecycleMBeanBase
    implements java.io.Serializable, NamingResources

Holds and manages the naming resources defined in the J2EE Enterprise Naming Context and their associated JNDI context.

Author:
  Remy Maucherat
See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle

`Lifecycle.SingleUse`

### Field Summary

Fields
`protected java.beans.PropertyChangeSupport` `support` The property change support for this component.

### Fields inherited from class org.apache.catalina.util.LifecycleMBeanBase

`mserver`

### Fields inherited from interface org.apache.catalina.Lifecycle

`AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT`

### Constructor Summary

Constructors
`NamingResourcesImpl()` Create a new NamingResources instance.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addEjb​(ContextEjb ejb)` Add an EJB resource reference for this web application.
`void` `addEnvironment​(ContextEnvironment environment)` Add an environment entry for this web application.
`void` `addLocalEjb​(ContextLocalEjb ejb)` Add a local EJB resource reference for this web application.
`void` `addMessageDestinationRef​(MessageDestinationRef mdr)` Add a message destination reference for this web application.
`void` `addPropertyChangeListener​(java.beans.PropertyChangeListener listener)` Add a property change listener to this component.
`void` `addResource​(ContextResource resource)` Add a resource reference for this web application.
`void` `addResourceEnvRef​(ContextResourceEnvRef resource)` Add a resource environment reference for this web application.
`void` `addResourceLink​(ContextResourceLink resourceLink)` Add a resource link for this web application.
`void` `addService​(ContextService service)` Add a web service reference for this web application.
`protected void` `destroyInternal()` Sub-classes wishing to perform additional clean-up should override this method, ensuring that super.destroyInternal() is the last call in the overriding method.
`ContextEjb` `findEjb​(java.lang.String name)`
`ContextEjb[]` `findEjbs()`
`ContextEnvironment` `findEnvironment​(java.lang.String name)`
`ContextEnvironment[]` `findEnvironments()`
`ContextLocalEjb` `findLocalEjb​(java.lang.String name)`
`ContextLocalEjb[]` `findLocalEjbs()`
`MessageDestinationRef` `findMessageDestinationRef​(java.lang.String name)`
`MessageDestinationRef[]` `findMessageDestinationRefs()`
`ContextResource` `findResource​(java.lang.String name)`
`ContextResourceEnvRef` `findResourceEnvRef​(java.lang.String name)`
`ContextResourceEnvRef[]` `findResourceEnvRefs()`
`ContextResourceLink` `findResourceLink​(java.lang.String name)`
`ContextResourceLink[]` `findResourceLinks()`
`ContextResource[]` `findResources()`
`ContextService` `findService​(java.lang.String name)`
`ContextService[]` `findServices()`
`java.lang.Object` `getContainer()`
`protected java.lang.String` `getDomainInternal()` Method implemented by sub-classes to identify the domain in which MBeans should be registered.
`protected java.lang.String` `getObjectNameKeyProperties()` Allow sub-classes to specify the key properties component of the `ObjectName` that will be used to register this component.
`ContextTransaction` `getTransaction()`
`protected void` `initInternal()` Sub-classes wishing to perform additional initialization should override this method, ensuring that super.initInternal() is the first call in the overriding method.
`void` `removeEjb​(java.lang.String name)` Remove any EJB resource reference with the specified name.
`void` `removeEnvironment​(java.lang.String name)` Remove any environment entry with the specified name.
`void` `removeLocalEjb​(java.lang.String name)` Remove any local EJB resource reference with the specified name.
`void` `removeMessageDestinationRef​(java.lang.String name)` Remove any message destination reference with the specified name.
`void` `removePropertyChangeListener​(java.beans.PropertyChangeListener listener)` Remove a property change listener from this component.
`void` `removeResource​(java.lang.String name)` Remove any resource reference with the specified name.
`void` `removeResourceEnvRef​(java.lang.String name)` Remove any resource environment reference with the specified name.
`void` `removeResourceLink​(java.lang.String name)` Remove any resource link with the specified name.
`void` `removeService​(java.lang.String name)` Remove any web service reference with the specified name.
`void` `setContainer​(java.lang.Object container)` Set the container with which the naming resources are associated.
`void` `setTransaction​(ContextTransaction transaction)` Set the transaction object.
`protected void` `startInternal()` Sub-classes must ensure that the state is changed to `LifecycleState.STARTING` during the execution of this method.
`protected void` `stopInternal()` Sub-classes must ensure that the state is changed to `LifecycleState.STOPPING` during the execution of this method.

### Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase

`getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregister`

### Methods inherited from class org.apache.catalina.util.LifecycleBase

`addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### support

    protected final java.beans.PropertyChangeSupport support

The property change support for this component.

### Constructor Detail

#### NamingResourcesImpl

    public NamingResourcesImpl()

Create a new NamingResources instance.

### Method Detail

#### getContainer

    public java.lang.Object getContainer()

Specified by:
  `getContainer` in interface `NamingResources`
Returns:
  the container with which the naming resources are associated.

#### setContainer

    public void setContainer​(java.lang.Object container)

Set the container with which the naming resources are associated.

Parameters:
  `container` - the associated with the resources

#### setTransaction

    public void setTransaction​(ContextTransaction transaction)

Set the transaction object.

Parameters:
  `transaction` - the transaction descriptor

#### getTransaction

    public ContextTransaction getTransaction()

Returns:
  the transaction object.

#### addEjb

    public void addEjb​(ContextEjb ejb)

Add an EJB resource reference for this web application.

Parameters:
  `ejb` - New EJB resource reference

#### addEnvironment

    public void addEnvironment​(ContextEnvironment environment)

Add an environment entry for this web application.

Specified by:
  `addEnvironment` in interface `NamingResources`
Parameters:
  `environment` - New environment entry

#### addLocalEjb

    public void addLocalEjb​(ContextLocalEjb ejb)

Add a local EJB resource reference for this web application.

Parameters:
  `ejb` - New EJB resource reference

#### addMessageDestinationRef

    public void addMessageDestinationRef​(MessageDestinationRef mdr)

Add a message destination reference for this web application.

Parameters:
  `mdr` - New message destination reference

#### addPropertyChangeListener

    public void addPropertyChangeListener​(java.beans.PropertyChangeListener listener)

Add a property change listener to this component.

Parameters:
  `listener` - The listener to add

#### addResource

    public void addResource​(ContextResource resource)

Add a resource reference for this web application.

Specified by:
  `addResource` in interface `NamingResources`
Parameters:
  `resource` - New resource reference

#### addResourceEnvRef

    public void addResourceEnvRef​(ContextResourceEnvRef resource)

Add a resource environment reference for this web application.

Parameters:
  `resource` - The resource

#### addResourceLink

    public void addResourceLink​(ContextResourceLink resourceLink)

Add a resource link for this web application.

Specified by:
  `addResourceLink` in interface `NamingResources`
Parameters:
  `resourceLink` - New resource link

#### addService

    public void addService​(ContextService service)

Add a web service reference for this web application.

Parameters:
  `service` - New web service reference

#### findEjb

    public ContextEjb findEjb​(java.lang.String name)

Parameters:
  `name` - Name of the desired EJB resource reference
Returns:
  the EJB resource reference with the specified name, if any; otherwise, return `null`.

#### findEjbs

    public ContextEjb[] findEjbs()

Returns:
  the defined EJB resource references for this application. If there are none, a zero-length array is returned.

#### findEnvironment

    public ContextEnvironment findEnvironment​(java.lang.String name)

Parameters:
  `name` - Name of the desired environment entry
Returns:
  the environment entry with the specified name, if any; otherwise, return `null`.

#### findEnvironments

    public ContextEnvironment[] findEnvironments()

Returns:
  the set of defined environment entries for this web application. If none have been defined, a zero-length array is returned.

#### findLocalEjb

    public ContextLocalEjb findLocalEjb​(java.lang.String name)

Parameters:
  `name` - Name of the desired EJB resource reference
Returns:
  the local EJB resource reference with the specified name, if any; otherwise, return `null`.

#### findLocalEjbs

    public ContextLocalEjb[] findLocalEjbs()

Returns:
  the defined local EJB resource references for this application. If there are none, a zero-length array is returned.

#### findMessageDestinationRef

    public MessageDestinationRef findMessageDestinationRef​(java.lang.String name)

Parameters:
  `name` - Name of the desired message destination reference
Returns:
  the message destination reference with the specified name, if any; otherwise, return `null`.

#### findMessageDestinationRefs

    public MessageDestinationRef[] findMessageDestinationRefs()

Returns:
  the defined message destination references for this application. If there are none, a zero-length array is returned.

#### findResource

    public ContextResource findResource​(java.lang.String name)

Parameters:
  `name` - Name of the desired resource reference
Returns:
  the resource reference with the specified name, if any; otherwise return `null`.

#### findResourceLink

    public ContextResourceLink findResourceLink​(java.lang.String name)

Parameters:
  `name` - Name of the desired resource link
Returns:
  the resource link with the specified name, if any; otherwise return `null`.

#### findResourceLinks

    public ContextResourceLink[] findResourceLinks()

Returns:
  the defined resource links for this application. If none have been defined, a zero-length array is returned.

#### findResources

    public ContextResource[] findResources()

Returns:
  the defined resource references for this application. If none have been defined, a zero-length array is returned.

#### findResourceEnvRef

    public ContextResourceEnvRef findResourceEnvRef​(java.lang.String name)

Parameters:
  `name` - Name of the desired resource environment reference
Returns:
  the resource environment reference type for the specified name, if any; otherwise return `null`.

#### findResourceEnvRefs

    public ContextResourceEnvRef[] findResourceEnvRefs()

Returns:
  the set of resource environment reference names for this web application. If none have been specified, a zero-length array is returned.

#### findService

    public ContextService findService​(java.lang.String name)

Parameters:
  `name` - Name of the desired web service
Returns:
  the web service reference for the specified name, if any; otherwise return `null`.

#### findServices

    public ContextService[] findServices()

Returns:
  the defined web service references for this application. If none have been defined, a zero-length array is returned.

#### removeEjb

    public void removeEjb​(java.lang.String name)

Remove any EJB resource reference with the specified name.

Parameters:
  `name` - Name of the EJB resource reference to remove

#### removeEnvironment

    public void removeEnvironment​(java.lang.String name)

Remove any environment entry with the specified name.

Specified by:
  `removeEnvironment` in interface `NamingResources`
Parameters:
  `name` - Name of the environment entry to remove

#### removeLocalEjb

    public void removeLocalEjb​(java.lang.String name)

Remove any local EJB resource reference with the specified name.

Parameters:
  `name` - Name of the EJB resource reference to remove

#### removeMessageDestinationRef

    public void removeMessageDestinationRef​(java.lang.String name)

Remove any message destination reference with the specified name.

Parameters:
  `name` - Name of the message destination resource reference to remove

#### removePropertyChangeListener

    public void removePropertyChangeListener​(java.beans.PropertyChangeListener listener)

Remove a property change listener from this component.

Parameters:
  `listener` - The listener to remove

#### removeResource

    public void removeResource​(java.lang.String name)

Remove any resource reference with the specified name.

Specified by:
  `removeResource` in interface `NamingResources`
Parameters:
  `name` - Name of the resource reference to remove

#### removeResourceEnvRef

    public void removeResourceEnvRef​(java.lang.String name)

Remove any resource environment reference with the specified name.

Parameters:
  `name` - Name of the resource environment reference to remove

#### removeResourceLink

    public void removeResourceLink​(java.lang.String name)

Remove any resource link with the specified name.

Specified by:
  `removeResourceLink` in interface `NamingResources`
Parameters:
  `name` - Name of the resource link to remove

#### removeService

    public void removeService​(java.lang.String name)

Remove any web service reference with the specified name.

Parameters:
  `name` - Name of the web service reference to remove

#### initInternal

    protected void initInternal()
                         throws LifecycleException

Description copied from class: `LifecycleMBeanBase`
Sub-classes wishing to perform additional initialization should override this method, ensuring that super.initInternal() is the first call in the overriding method.

Overrides:
  `initInternal` in class `LifecycleMBeanBase`
Throws:
  `LifecycleException` - If the initialisation fails

#### startInternal

    protected void startInternal()
                          throws LifecycleException

Description copied from class: `LifecycleBase`
Sub-classes must ensure that the state is changed to `LifecycleState.STARTING` during the execution of this method. Changing state will trigger the `Lifecycle.START_EVENT` event. If a component fails to start it may either throw a `LifecycleException` which will cause it's parent to fail to start or it can place itself in the error state in which case `LifecycleBase.stop()` will be called on the failed component but the parent component will continue to start normally.

Specified by:
  `startInternal` in class `LifecycleBase`
Throws:
  `LifecycleException` - Start error occurred

#### stopInternal

    protected void stopInternal()
                         throws LifecycleException

Description copied from class: `LifecycleBase`
Sub-classes must ensure that the state is changed to `LifecycleState.STOPPING` during the execution of this method. Changing state will trigger the `Lifecycle.STOP_EVENT` event.

Specified by:
  `stopInternal` in class `LifecycleBase`
Throws:
  `LifecycleException` - Stop error occurred

#### destroyInternal

    protected void destroyInternal()
                            throws LifecycleException

Description copied from class: `LifecycleMBeanBase`
Sub-classes wishing to perform additional clean-up should override this method, ensuring that super.destroyInternal() is the last call in the overriding method.

Overrides:
  `destroyInternal` in class `LifecycleMBeanBase`
Throws:
  `LifecycleException` - If the destruction fails

#### getDomainInternal

    protected java.lang.String getDomainInternal()

Description copied from class: `LifecycleMBeanBase`
Method implemented by sub-classes to identify the domain in which MBeans should be registered.

Specified by:
  `getDomainInternal` in class `LifecycleMBeanBase`
Returns:
  The name of the domain to use to register MBeans.

#### getObjectNameKeyProperties

    protected java.lang.String getObjectNameKeyProperties()

Description copied from class: `LifecycleMBeanBase`
Allow sub-classes to specify the key properties component of the `ObjectName` that will be used to register this component.

Specified by:
  `getObjectNameKeyProperties` in class `LifecycleMBeanBase`
Returns:
  The string representation of the key properties component of the desired `ObjectName`