[jboss-cvs] JBossAS SVN: r69993 - in projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi: metadata and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Feb 21 06:35:39 EST 2008
Author: adrian at jboss.org
Date: 2008-02-21 06:35:39 -0500 (Thu, 21 Feb 2008)
New Revision: 69993
Modified:
projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi/helpers/NameAndVersionSupport.java
projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi/metadata/CapabilitiesMetaData.java
projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi/metadata/ClassLoadingMetaData.java
projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi/metadata/RequirementsMetaData.java
Log:
Make ClassLoadingMetaData Cloneable
Modified: projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi/helpers/NameAndVersionSupport.java
===================================================================
--- projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi/helpers/NameAndVersionSupport.java 2008-02-21 11:34:40 UTC (rev 69992)
+++ projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi/helpers/NameAndVersionSupport.java 2008-02-21 11:35:39 UTC (rev 69993)
@@ -35,7 +35,7 @@
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision: 1.1 $
*/
-public class NameAndVersionSupport implements Serializable
+public class NameAndVersionSupport implements Serializable, Cloneable
{
/** The serialVersionUID */
private static final long serialVersionUID = 6943685422194480909L;
@@ -177,4 +177,18 @@
{
return getClass().getSimpleName() + " " + getName() + ":" + getVersion();
}
+
+ @Override
+ public NameAndVersionSupport clone()
+ {
+ try
+ {
+ NameAndVersionSupport clone = (NameAndVersionSupport) super.clone();
+ return clone;
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new RuntimeException("Unexpected", e);
+ }
+ }
}
Modified: projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi/metadata/CapabilitiesMetaData.java
===================================================================
--- projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi/metadata/CapabilitiesMetaData.java 2008-02-21 11:34:40 UTC (rev 69992)
+++ projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi/metadata/CapabilitiesMetaData.java 2008-02-21 11:35:39 UTC (rev 69993)
@@ -40,7 +40,7 @@
* @version $Revision: 1.1 $
*/
@XmlType(propOrder= {"capabilities"})
-public class CapabilitiesMetaData implements Serializable
+public class CapabilitiesMetaData implements Serializable, Cloneable
{
/** The serialVersionUID */
private static final long serialVersionUID = -7910704924025591308L;
@@ -103,4 +103,23 @@
return;
capabilities.remove(capability);
}
+
+ @Override
+ public CapabilitiesMetaData clone()
+ {
+ try
+ {
+ CapabilitiesMetaData clone = (CapabilitiesMetaData) super.clone();
+ if (capabilities != null)
+ {
+ List<Capability> clonedCapabilities = new CopyOnWriteArrayList<Capability>(capabilities);
+ clone.setCapabilities(clonedCapabilities);
+ }
+ return clone;
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new RuntimeException("Unexpected", e);
+ }
+ }
}
Modified: projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi/metadata/ClassLoadingMetaData.java
===================================================================
--- projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi/metadata/ClassLoadingMetaData.java 2008-02-21 11:34:40 UTC (rev 69992)
+++ projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi/metadata/ClassLoadingMetaData.java 2008-02-21 11:35:39 UTC (rev 69993)
@@ -539,4 +539,13 @@
return false;
return one.equals(two);
}
+
+ @Override
+ public ClassLoadingMetaData clone()
+ {
+ ClassLoadingMetaData clone = (ClassLoadingMetaData) super.clone();
+ requirements = clone.requirements.clone();
+ capabilities = clone.capabilities.clone();
+ return clone;
+ }
}
Modified: projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi/metadata/RequirementsMetaData.java
===================================================================
--- projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi/metadata/RequirementsMetaData.java 2008-02-21 11:34:40 UTC (rev 69992)
+++ projects/microcontainer/trunk/classloading/src/main/org/jboss/classloading/spi/metadata/RequirementsMetaData.java 2008-02-21 11:35:39 UTC (rev 69993)
@@ -41,7 +41,7 @@
* @version $Revision: 1.1 $
*/
@XmlType(propOrder={"requirements"})
-public class RequirementsMetaData implements Serializable
+public class RequirementsMetaData implements Serializable, Cloneable
{
/** The serialVersionUID */
private static final long serialVersionUID = 3282035888494128833L;
@@ -105,4 +105,23 @@
return;
requirements.remove(requirement);
}
+
+ @Override
+ public RequirementsMetaData clone()
+ {
+ try
+ {
+ RequirementsMetaData clone = (RequirementsMetaData) super.clone();
+ if (requirements != null)
+ {
+ List<Requirement> clonedRequirements = new CopyOnWriteArrayList<Requirement>(requirements);
+ clone.setRequirements(clonedRequirements);
+ }
+ return clone;
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new RuntimeException("Unexpected", e);
+ }
+ }
}
More information about the jboss-cvs-commits
mailing list