Author: rahul
Date: Fri Apr 25 18:26:17 2008
New Revision: 651770
URL: http://svn.apache.org/viewvc?rev=651770&view=rev
Log:
Type safety improvements.
Modified:
commons/proper/scxml/branches/J6/src/main/java/org/apache/commons/scxml/SCInstance.java
commons/proper/scxml/branches/J6/src/main/java/org/apache/commons/scxml/SCXMLExecutor.java
Modified:
commons/proper/scxml/branches/J6/src/main/java/org/apache/commons/scxml/SCInstance.java
URL:
http://svn.apache.org/viewvc/commons/proper/scxml/branches/J6/src/main/java/org/apache/commons/scxml/SCInstance.java?rev=651770&r1=651769&r2=651770&view=diff
==============================================================================
---
commons/proper/scxml/branches/J6/src/main/java/org/apache/commons/scxml/SCInstance.java
(original)
+++
commons/proper/scxml/branches/J6/src/main/java/org/apache/commons/scxml/SCInstance.java
Fri Apr 25 18:26:17 2008
@@ -68,7 +68,7 @@
* The <code>Invoker</code> classes <code>Map</code>, keyed by
* <invoke> target types (specified using "targettype" attribute).
*/
- private final Map<String, Class> invokerClasses;
+ private final Map<String, Class<? extends Invoker>> invokerClasses;
/**
* The <code>Map</code> of active <code>Invoker</code>s, keyed by
@@ -100,7 +100,7 @@
this.notificationRegistry = new NotificationRegistry();
this.contexts = Collections.synchronizedMap(new
HashMap<TransitionTarget, Context>());
this.histories = Collections.synchronizedMap(new HashMap<History,
Set<TransitionTarget>>());
- this.invokerClasses = Collections.synchronizedMap(new HashMap<String,
Class>());
+ this.invokerClasses = Collections.synchronizedMap(new HashMap<String,
Class<? extends Invoker>>());
this.invokers = Collections.synchronizedMap(new
HashMap<TransitionTarget, Invoker>());
this.completions = Collections.synchronizedMap(new
HashMap<TransitionTarget, Boolean>());
this.evaluator = null;
@@ -284,7 +284,7 @@
* @param invokerClass The <code>Invoker</code> <code>Class</code>.
*/
void registerInvokerClass(final String targettype,
- final Class invokerClass) {
+ final Class<? extends Invoker> invokerClass) {
invokerClasses.put(targettype, invokerClass);
}
@@ -314,14 +314,14 @@
*/
public Invoker newInvoker(final String targettype)
throws InvokerException {
- Class invokerClass = invokerClasses.get(targettype);
+ Class<? extends Invoker> invokerClass = invokerClasses.get(targettype);
if (invokerClass == null) {
throw new InvokerException("No Invoker registered for "
+ "targettype \"" + targettype + "\"");
}
Invoker invoker = null;
try {
- invoker = (Invoker) invokerClass.newInstance();
+ invoker = invokerClass.newInstance();
} catch (InstantiationException ie) {
throw new InvokerException(ie.getMessage(), ie.getCause());
} catch (IllegalAccessException iae) {
Modified:
commons/proper/scxml/branches/J6/src/main/java/org/apache/commons/scxml/SCXMLExecutor.java
URL:
http://svn.apache.org/viewvc/commons/proper/scxml/branches/J6/src/main/java/org/apache/commons/scxml/SCXMLExecutor.java?rev=651770&r1=651769&r2=651770&view=diff
==============================================================================
---
commons/proper/scxml/branches/J6/src/main/java/org/apache/commons/scxml/SCXMLExecutor.java
(original)
+++
commons/proper/scxml/branches/J6/src/main/java/org/apache/commons/scxml/SCXMLExecutor.java
Fri Apr 25 18:26:17 2008
@@ -25,6 +25,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.commons.scxml.invoke.Invoker;
import org.apache.commons.scxml.model.Datamodel;
import org.apache.commons.scxml.model.History;
import org.apache.commons.scxml.model.ModelException;
@@ -433,7 +434,7 @@
* @param invokerClass The <code>Invoker</code> <code>Class</code>.
*/
public void registerInvokerClass(final String targettype,
- final Class invokerClass) {
+ final Class<? extends Invoker> invokerClass) {
scInstance.registerInvokerClass(targettype, invokerClass);
}