ee/src/main/java/org/jboss/as/ee/utils/DescriptorUtils.java
public static String[] parameterDescriptors(String methodDescriptor) {
        int i = 1; // char 0 is a '('
        List<String> ret = new ArrayList<String>();
        int arrayStart = -1;
        while (methodDescriptor.charAt(i) != ')') {
            String type = null;
            if (methodDescriptor.charAt(i) == '[') {
                if (arrayStart == -1) {
                    arrayStart = i;
                }
            } else {
                if (methodDescriptor.charAt(i) == 'L') {
                    int start = i;
                    i++;
                    while (methodDescriptor.charAt(i) != ';') {
                        ++i;
                    }
                    if (arrayStart == -1) {
                        type = methodDescriptor.substring(start, i);
                    } else {
                        type = methodDescriptor.substring(arrayStart, i);
                    }
                } else {
                    if (arrayStart == -1) {
                        type = methodDescriptor.charAt(i) + "";
                    } else {
                        type = methodDescriptor.substring(arrayStart, i + 1);
                    }
                }
                arrayStart = -1;
                ret.add(type);
            }
            ++i;
        }
        String[] r = new String[ret.size()];
        for (int j = 0; j < ret.size(); ++j) {
            r[j] = ret.get(j);
        }
        return r;
    }
public static String[] parameterDescriptors(String methodDescriptor) {
        int i = 1; // char 0 is a '('
        List<String> ret = new ArrayList<String>();
        int arrayStart = -1;
        while (methodDescriptor.charAt(i) != ')') {
            String type = null;
            if (methodDescriptor.charAt(i) == '[') {
                if (arrayStart == -1) {
                    arrayStart = i;
                }
            } else {
                if (methodDescriptor.charAt(i) == 'L') {
                    int start = i;
                    i++;
                    while (methodDescriptor.charAt(i) != ';') {
                        ++i;
                    }
                    if (arrayStart == -1) {
                        type = methodDescriptor.substring(start, i);
                    } else {
                        type = methodDescriptor.substring(arrayStart, i);
                    }
                } else {
                    if (arrayStart == -1) {
                        type = methodDescriptor.charAt(i) + "";
                    } else {
                        type = methodDescriptor.substring(arrayStart, i + 1);
                    }
                }
                arrayStart = -1;
                ret.add(type);
            }
            ++i;
        }
        String[] r = new String[ret.size()];
        for (int j = 0; j < ret.size(); ++j) {
            r[j] = ret.get(j);
        }
        return r;
    }
public static String [ ] parameterDescriptors ( String methodDescriptor ) { int i = 1 ; // char 0 is a '(' List < String > ret = new ArrayList < String > ( ) ; int arrayStart = - 1 ; while ( methodDescriptor . charAt ( i ) != ' ' ) { String type = null ; if ( methodDescriptor . charAt ( i ) == ' ' ) { if ( arrayStart == - 1 ) { arrayStart = i ; } } else { if ( methodDescriptor . charAt ( i ) == ' ' ) { int start = i ; i ++ ; while ( methodDescriptor . charAt ( i ) != ' ' ) { ++ i ; } if ( arrayStart == - 1 ) { type = methodDescriptor . substring ( start , i ) ; } else { type = methodDescriptor . substring ( arrayStart , i ) ; } } else { if ( arrayStart == - 1 ) { type = methodDescriptor . charAt ( i ) + "" ; } else { type = methodDescriptor . substring ( arrayStart , i + 1 ) ; } } arrayStart = - 1 ; ret . add ( type ) ; } ++ i ; } String [ ] r = new String [ ret . size ( ) ] ; for ( int j = 0 ; j < ret . size ( ) ; ++ j ) { r [ j ] = ret . get ( j ) ; } return r ; }
returns an array of String representations of the parameter types. Primitives are returned as their native
representations, while classes are returned in the internal descriptor form e.g. Ljava/lang/Integer;
returns an array of String representations of the parameter types . Primitives are returned as their native representations while classes are returned in the internal descriptor form e . g . Ljava / lang / Integer ;