private void getMatchedValues()

in ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/TargetObjectMatcher.java [353:382]


    private void getMatchedValues (Object[]             objs,
                                   List<Object>         rootOrderedPath,
                                   String[]             features,
                                   int                  feat_ind,
                                   List<MatchedValue>   matchedValues,
                                   List<Object>         matchedOrderedPath,
                                   int                  array_level)
    throws IllegalArgumentException, IllegalAccessException, InvocationTargetException
    {        

        String operations[] = feat_ind < features.length ? features[feat_ind].split("\\|") : null;
        
        for (int i = 0; i < objs.length; ++i) {
            if (feat_ind == features.length) {
                if ((null == objs[i]) || isTargetClassMatches(objs[i].getClass(), false)) {
                    matchedValues.add(new MatchedValue(objs[i], matchedOrderedPath));
                }
                continue;
            }
            if (null == objs[i]) {
                continue;
            }
            matchedOrderedPath.add(objs[i]);
            List<Object> mop = (1 == objs.length) ? matchedOrderedPath : new ArrayList<Object>(matchedOrderedPath);
            getMatchedValues(objs[i], rootOrderedPath, features, feat_ind, matchedValues, mop, array_level, operations);
            if (m_delimit_array_values && (i < (objs.length - 1))) {
                matchedValues.add(new MatchedValue(new ArrayDelimiterObject(array_level), mop));
            }
        }
    }