You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jaxme-dev@ws.apache.org by jo...@apache.org on 2005/07/19 21:33:22 UTC
cvs commit: ws-jaxme/src/js/org/apache/ws/jaxme/js JavaSource.java
jochen 2005/07/19 12:33:22
Modified: . status.xml
src/js/org/apache/ws/jaxme/js JavaSource.java
Log:
Added JavaSource.getConstructor(JavaQName[]). (Frederic Ahring,
fahring at de.ibm.com)
Revision Changes Path
1.62 +4 -0 ws-jaxme/status.xml
Index: status.xml
===================================================================
RCS file: /home/cvs/ws-jaxme/status.xml,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -r1.61 -r1.62
--- status.xml 13 Jul 2005 19:23:20 -0000 1.61
+++ status.xml 19 Jul 2005 19:33:21 -0000 1.62
@@ -54,6 +54,10 @@
Fixed a ClassCastException, which appeared for unknown
reasons.
</action>
+ <action dev="JW" type="enhancement" context="js">
+ Added JavaSource.getConstructor(JavaQName[]).
+ (Frederic Ahring, fahring@de.ibm.com)
+ </action>
</release>
<release version="0.4" date="2005-May-19">
<action dev="JW" type="fix" context="xs">
1.11 +34 -14 ws-jaxme/src/js/org/apache/ws/jaxme/js/JavaSource.java
Index: JavaSource.java
===================================================================
RCS file: /home/cvs/ws-jaxme/src/js/org/apache/ws/jaxme/js/JavaSource.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- JavaSource.java 18 May 2005 22:09:10 -0000 1.10
+++ JavaSource.java 19 Jul 2005 19:33:22 -0000 1.11
@@ -419,7 +419,20 @@
}
return (JavaMethod[]) result.toArray(new JavaMethod[result.size()]);
}
-
+
+ private boolean isMatching(Parameter[] parameters, JavaQName[] pParams) {
+ if (parameters.length == pParams.length) {
+ for (int i = 0; i < parameters.length; i++) {
+ if (!parameters[i].getType().equals(pParams[i])) {
+ return false;
+ }
+ }
+ return true;
+ } else {
+ return false;
+ }
+ }
+
/** Returns the method with the given signature or null, if there
* is no such method.
*/
@@ -429,25 +442,32 @@
if (object instanceof JavaMethod) {
JavaMethod jm = (JavaMethod) object;
if (jm.getName().equals(pMethodName)) {
- Parameter[] parameters = jm.getParams();
- if (parameters.length == pParams.length) {
- boolean equals = true;
- for (int i = 0; i < parameters.length; i++) {
- if (!parameters[i].getType().equals(pParams[i])) {
- equals = false;
- break;
- }
- }
- if (equals) {
- return jm;
- }
+ if (isMatching(jm.getParams(), pParams)) {
+ return jm;
}
}
}
}
return null;
}
-
+
+ /** Returns the constructor with the given signature or null, if there
+ * is no such constructor.
+ */
+ public JavaConstructor getConstructor(JavaQName[] pParams) {
+ for (Iterator iter = myObjects.iterator(); iter.hasNext(); ) {
+ ConditionalIndentationJavaSourceObject object =
+ (ConditionalIndentationJavaSourceObject) iter.next();
+ if (object instanceof JavaConstructor) {
+ JavaConstructor jc = (JavaConstructor) object;
+ if (isMatching(jc.getParams(), pParams)) {
+ return jc;
+ }
+ }
+ }
+ return null;
+ }
+
private class MyObjectIterator implements Iterator {
private final Class instanceClass;
MyObjectIterator(Class pInstanceClass) {
---------------------------------------------------------------------
To unsubscribe, e-mail: jaxme-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: jaxme-dev-help@ws.apache.org