private Object handleContainer()

in bval-jsr/src/main/java/org/apache/bval/jsr/job/ValidateProperty.java [364:398]


        private Object handleContainer(Object o, ContainerElementKey key, String indexOrKey) {
            @SuppressWarnings("rawtypes")
            final ValueExtractor valueExtractor = validatorContext.getValueExtractors().find(key);

            final ObjectWrapper<Object> result = new ObjectWrapper<>();
            valueExtractor.extractValues(o, new ValueReceiver() {

                @Override
                public void indexedValue(String nodeName, int index, Object object) {
                    if (Integer.toString(index).equals(indexOrKey)) {
                        result.accept(object);
                    }
                }

                @Override
                public void iterableValue(String nodeName, Object object) {
                    // ?
                    result.accept(object);
                }

                @Override
                public void keyedValue(String nodeName, Object key, Object object) {
                    if (String.valueOf(key).equals(indexOrKey)) {
                        result.accept(object);
                    }
                }

                @Override
                public void value(String nodeName, Object object) {
                    // ?
                    result.accept(object);
                }
            });
            return result.get();
        }