You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by mc...@apache.org on 2008/04/12 22:13:04 UTC
svn commit: r647494 - in
/incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/core:
DefaultExtensionPointRegistry.java ExtensionPointRegistry.java
Author: mcombellack
Date: Sat Apr 12 13:12:59 2008
New Revision: 647494
URL: http://svn.apache.org/viewvc?rev=647494&view=rev
Log:
Added checks for null parameters as passing in null would result in a NullPointerException. Updated code to throw IllegalArgumentException when null passed as paramters. Updated JavaDoc to reflect these changes
Modified:
incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistry.java
incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/core/ExtensionPointRegistry.java
Modified: incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistry.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistry.java?rev=647494&r1=647493&r2=647494&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistry.java (original)
+++ incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistry.java Sat Apr 12 13:12:59 2008
@@ -36,7 +36,7 @@
* points. As the point of contact for all extension artifacts this registry
* allows loaded extensions to find all other parts of the system and register
* themselves appropriately.
- *
+ *
* @version $Rev$ $Date$
*/
public class DefaultExtensionPointRegistry implements ExtensionPointRegistry {
@@ -45,10 +45,16 @@
/**
* Add an extension point to the registry. This default implementation
* stores extensions against the interfaces that they implement.
- *
+ *
* @param extensionPoint The instance of the extension point
+ *
+ * @throws IllegalArgumentException if extensionPoint is null
*/
public void addExtensionPoint(Object extensionPoint) {
+ if (extensionPoint == null) {
+ throw new IllegalArgumentException("Cannot register null as an ExtensionPoint");
+ }
+
Set<Class> interfaces = getAllInterfaces(extensionPoint.getClass());
for (Class i : interfaces) {
extensionPoints.put(i, extensionPoint);
@@ -73,14 +79,20 @@
}
return null;
}
-
+
/**
* Get the extension point by the interface that it implements
- *
+ *
* @param extensionPointType The lookup key (extension point interface)
* @return The instance of the extension point
+ *
+ * @throws IllegalArgumentException if extensionPointType is null
*/
public <T> T getExtensionPoint(Class<T> extensionPointType) {
+ if (extensionPointType == null) {
+ throw new IllegalArgumentException("Cannot lookup ExtensionPoint of type null");
+ }
+
Object extensionPoint = extensionPoints.get(extensionPointType);
if (extensionPoint == null) {
@@ -130,10 +142,16 @@
/**
* Remove an extension point based on the interface that it implements
- *
+ *
* @param extensionPoint The extension point to remove
+ *
+ * @throws IllegalArgumentException if extensionPoint is null
*/
public void removeExtensionPoint(Object extensionPoint) {
+ if (extensionPoint == null) {
+ throw new IllegalArgumentException("Cannot remove null as an ExtensionPoint");
+ }
+
Set<Class> interfaces = getAllInterfaces(extensionPoint.getClass());
for (Class i : interfaces) {
extensionPoints.remove(i);
Modified: incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/core/ExtensionPointRegistry.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/core/ExtensionPointRegistry.java?rev=647494&r1=647493&r2=647494&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/core/ExtensionPointRegistry.java (original)
+++ incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/core/ExtensionPointRegistry.java Sat Apr 12 13:12:59 2008
@@ -21,30 +21,36 @@
/**
- * The registry for the Tuscany core extension points. As the point of contact
- * for all extension artifacts this registry allows loaded extensions to find
+ * The registry for the Tuscany core extension points. As the point of contact
+ * for all extension artifacts this registry allows loaded extensions to find
* all other parts of the system and register themselves appropriately.
- *
+ *
* @version $Rev$ $Date$
*/
public interface ExtensionPointRegistry {
-
+
/**
* Add an extension point to the registry
* @param extensionPoint The instance of the extension point
+ *
+ * @throws IllegalArgumentException if extensionPoint is null
*/
void addExtensionPoint(Object extensionPoint);
-
+
/**
* Get the extension point by the interface
* @param extensionPointType The lookup key (extension point interface)
* @return The instance of the extension point
+ *
+ * @throws IllegalArgumentException if extensionPointType is null
*/
<T> T getExtensionPoint(Class<T> extensionPointType);
-
+
/**
* Remove an extension point
* @param extensionPoint The extension point to remove
+ *
+ * @throws IllegalArgumentException if extensionPoint is null
*/
void removeExtensionPoint(Object extensionPoint);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org