[picocontainer-scm] [5677] java/2.x/trunk/pico/container/src/java/org/picocontainer: Since setLifecycleState() and setName() were added to MutablePicoContainer interface.

rimovm-yCVjj/[email protected]
Newsgroups gmane.comp.java.picocontainer.cvs
Message-ID <[email protected]>
Revision 5677
Author rimovm
Date 2010-04-14 18:48:57 -0500 (Wed, 14 Apr 2010)

Log Message

Since setLifecycleState() and setName() were added to MutablePicoContainer interface. I've added getters for them as well. (Solves a few of my own issues.)

Added synchronization to those calls as well.

Modified Paths

- java/2.x/trunk/pico/container/src/java/org/picocontainer/DefaultPicoContainer.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/MutablePicoContainer.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/classname/DefaultClassLoadingPicoContainer.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/containers/AbstractDelegatingMutablePicoContainer.java

- java/2.x/trunk/pico/gems/src/java/org/picocontainer/gems/containers/CommonsLoggingTracingContainerDecorator.java

- java/2.x/trunk/pico/gems/src/java/org/picocontainer/gems/containers/Log4jTracingContainerDecorator.java

Diff

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/DefaultPicoContainer.java (5676 => 5677)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/DefaultPicoContainer.java 2010-04-14 23:47:17 UTC (rev 5676)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/DefaultPicoContainer.java 2010-04-14 23:48:57 UTC (rev 5677)
@@ -835,7 +835,7 @@
lifecycleState.disposed();
}

- public void setLifecycleState(LifecycleState lifecycleState) {
+ public synchronized void setLifecycleState(LifecycleState lifecycleState) {
this.lifecycleState = lifecycleState;
}

@@ -973,7 +973,6 @@
}

/**
- * {@inheritDoc}
* Loops over all component adapters and invokes
* start(PicoContainer) method on the ones which are LifecycleManagers
*/
@@ -1016,7 +1015,6 @@
}

/**
- * {@inheritDoc}
* Loops over started component adapters (in inverse order) and invokes
* stop(PicoContainer) method on the ones which are LifecycleManagers
*/
@@ -1033,7 +1031,6 @@
}

/**
- * {@inheritDoc}
* Loops over all component adapters (in inverse order) and invokes
* dispose(PicoContainer) method on the ones which are LifecycleManagers
*/
@@ -1070,7 +1067,7 @@
return componentAdapters;
}

- public void setName(String name) {
+ public synchronized void setName(String name) {
this.name = name;
}

@@ -1096,6 +1093,7 @@
return converters;
}

+ @SuppressWarnings("synthetic-access")
private class AsPropertiesPicoContainer extends AbstractDelegatingMutablePicoContainer {

private final Properties properties;
@@ -1142,11 +1140,47 @@
public MutablePicoContainer addAdapter(final ComponentAdapter<?> componentAdapter) throws PicoCompositionException {
return DefaultPicoContainer.this.addAdapter(componentAdapter, properties);
}
+
+ /**
+ * {@inheritDoc}
+ * @see org.picocontainer.MutablePicoContainer#getLifecycleState()
+ */
+ @Override
+ public LifecycleState getLifecycleState() {
+ return DefaultPicoContainer.this.getLifecycleState();
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.picocontainer.MutablePicoContainer#getName()
+ */
+ @Override
+ public String getName() {
+ return DefaultPicoContainer.this.getName();
+ }
}

private static class IntoThreadLocal extends ThreadLocal<Type> implements Serializable {
+ @Override
protected Type initialValue() {
return ComponentAdapter.NOTHING.class;
}
}
+
+ /**
+ * {@inheritDoc}
+ * @see org.picocontainer.MutablePicoContainer#getLifecycleState()
+ */
+ public synchronized LifecycleState getLifecycleState() {
+ return lifecycleState;
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.picocontainer.MutablePicoContainer#getName()
+ */
+ public synchronized String getName() {
+ return this.name;
+ }
+
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/MutablePicoContainer.java (5676 => 5677)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/MutablePicoContainer.java 2010-04-14 23:47:17 UTC (rev 5676)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/MutablePicoContainer.java 2010-04-14 23:48:57 UTC (rev 5677)
@@ -186,7 +186,7 @@
MutablePicoContainer as(Properties... properties);

/**
- * Name the container instance, to assit debugging.
+ * Name the container instance, to assist debugging or other indexing.
*
* @param name the name to call it.
* @since 2.8
@@ -199,4 +199,20 @@
* @since 2.8
*/
void setLifecycleState(LifecycleState lifecycleState);
+
+
+ /**
+ * Retrieve the name set (if any).
+ * @return Retrieve the arbitrary name of the container set by calling {@link #setName(String) setName}.
+ * @since 2.10.2
+ */
+ String getName();
+
+
+ /**
+ * Allow querying of the current lifecycle state of a MutablePicoContainer.
+ * @return the current Lifecycle State.
+ * @since 2.10.2
+ */
+ LifecycleState getLifecycleState();
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/classname/DefaultClassLoadingPicoContainer.java (5676 => 5677)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/classname/DefaultClassLoadingPicoContainer.java 2010-04-14 23:47:17 UTC (rev 5676)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/classname/DefaultClassLoadingPicoContainer.java 2010-04-14 23:48:57 UTC (rev 5677)
@@ -7,6 +7,8 @@
******************************************************************************/
package org.picocontainer.classname;

+import org.picocontainer.ComponentAdapter;
+
import org.picocontainer.*;
import org.picocontainer.security.CustomPermissionsURLClassLoader;
import org.picocontainer.lifecycle.LifecycleState;
@@ -513,10 +515,27 @@
public void setLifecycleState(LifecycleState lifecycleState) {
DefaultClassLoadingPicoContainer.this.setLifecycleState(lifecycleState);
}
-
+
public Converters getConverter() {
return DefaultClassLoadingPicoContainer.this.getConverters();
}
+
+ /**
+ * {@inheritDoc}
+ * @see org.picocontainer.MutablePicoContainer#getLifecycleState()
+ */
+ public LifecycleState getLifecycleState() {
+ return DefaultClassLoadingPicoContainer.this.getLifecycleState();
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.picocontainer.MutablePicoContainer#getName(java.lang.String)
+ */
+ public String getName() {
+ return DefaultClassLoadingPicoContainer.this.getName();
+ }
+
}

}
\ No newline at end of file

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/containers/AbstractDelegatingMutablePicoContainer.java (5676 => 5677)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/containers/AbstractDelegatingMutablePicoContainer.java 2010-04-14 23:47:17 UTC (rev 5676)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/containers/AbstractDelegatingMutablePicoContainer.java 2010-04-14 23:48:57 UTC (rev 5677)
@@ -97,5 +97,15 @@
public void setLifecycleState(LifecycleState lifecycleState) {
getDelegate().setLifecycleState(lifecycleState);
}
+
+ /** {@inheritDoc} **/
+ public LifecycleState getLifecycleState() {
+ return getDelegate().getLifecycleState();
+ }
+
+ /** {@inheritDoc} **/
+ public String getName() {
+ return getDelegate().getName();
+ }

}

Modified: java/2.x/trunk/pico/gems/src/java/org/picocontainer/gems/containers/CommonsLoggingTracingContainerDecorator.java (5676 => 5677)

--- java/2.x/trunk/pico/gems/src/java/org/picocontainer/gems/containers/CommonsLoggingTracingContainerDecorator.java 2010-04-14 23:47:17 UTC (rev 5676)
+++ java/2.x/trunk/pico/gems/src/java/org/picocontainer/gems/containers/CommonsLoggingTracingContainerDecorator.java 2010-04-14 23:48:57 UTC (rev 5677)
@@ -529,6 +529,14 @@
public void setName(String name) {
delegate.setName(name);
}
+
+ public String getName() {
+ return delegate.getName();
+ }
+
+ public LifecycleState getLifecycleState() {
+ return delegate.getLifecycleState();
+ }

public void setLifecycleState(LifecycleState lifecycleState) {
delegate.setLifecycleState(lifecycleState);

Modified: java/2.x/trunk/pico/gems/src/java/org/picocontainer/gems/containers/Log4jTracingContainerDecorator.java (5676 => 5677)

--- java/2.x/trunk/pico/gems/src/java/org/picocontainer/gems/containers/Log4jTracingContainerDecorator.java 2010-04-14 23:47:17 UTC (rev 5676)
+++ java/2.x/trunk/pico/gems/src/java/org/picocontainer/gems/containers/Log4jTracingContainerDecorator.java 2010-04-14 23:48:57 UTC (rev 5677)
@@ -586,7 +586,7 @@
delegate.setName(name);
}

- public void setLifecycleState(LifecycleState lifecycleState) {
+ public void setLifecycleState(LifecycleState lifecycleState) {
delegate.setLifecycleState(lifecycleState);
}

@@ -596,4 +596,13 @@
}
return new ConvertsNothing();
}
+
+
+ public String getName() {
+ return delegate.getName();
+ }
+
+ public LifecycleState getLifecycleState() {
+ return delegate.getLifecycleState();
+ }
}

----------

To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.