public RowIterator wrap()

in jcr-wrappers/src/main/java/org/apache/sling/jcr/wrappers/DefaultObjectWrapper.java [130:210]


    public RowIterator wrap(SessionWrapper s, final RowIterator iter) {
        return new RowIterator() {

            @Override
            public Row nextRow() {
                final Row row = iter.nextRow();

                return new Row() {
                    @Override
                    public Value[] getValues() throws RepositoryException {
                        return row.getValues();
                    }

                    @Override
                    public Value getValue(String s) throws ItemNotFoundException, RepositoryException {
                        return row.getValue(s);
                    }

                    @Override
                    public Node getNode() throws RepositoryException {
                        return wrap(s, row.getNode());
                    }

                    @Override
                    public Node getNode(String path) throws RepositoryException {
                        return wrap(s, row.getNode(path));
                    }

                    @Override
                    public String getPath() throws RepositoryException {
                        return row.getPath();
                    }

                    @Override
                    public String getPath(String s) throws RepositoryException {
                        return row.getPath(s);
                    }

                    @Override
                    public double getScore() throws RepositoryException {
                        return row.getScore();
                    }

                    @Override
                    public double getScore(String s) throws RepositoryException {
                        return row.getScore(s);
                    }
                };
            }

            @Override
            public void skip(long l) {
                iter.skip(l);
            }

            @Override
            public long getSize() {
                return iter.getSize();
            }

            @Override
            public long getPosition() {
                return iter.getPosition();
            }

            @Override
            public boolean hasNext() {
                return iter.hasNext();
            }

            @Override
            public Object next() {
                return nextRow();
            }

            @Override
            public void remove() {
                iter.remove();
            }
        };
    }