Example usage for com.google.common.collect Iterators concat

List of usage examples for com.google.common.collect Iterators concat

Introduction

In this page you can find the example usage for com.google.common.collect Iterators concat.

Prototype

public static <T> Iterator<T> concat(Iterator<? extends T> a, Iterator<? extends T> b) 

Source Link

Document

Combines two iterators into a single iterator.

Usage

From source file:net.daporkchop.toobeetooteebot.text.TextComponentTranslation.java

public Iterator<ITextComponent> iterator() {
    this.ensureInitialized();
    return Iterators.concat(createDeepCopyIterator(this.children), createDeepCopyIterator(this.siblings));
}

From source file:org.pshdl.model.impl.AbstractHDLOpExpression.java

@Override
public Iterator<IHDLObject> deepIterator() {
    return new Iterator<IHDLObject>() {

        private int pos = 0;
        private Iterator<? extends IHDLObject> current;

        @Override// w w w. ja  va2  s.c  o m
        public boolean hasNext() {
            if ((current != null) && !current.hasNext()) {
                current = null;
            }
            while (current == null) {
                switch (pos++) {
                case 0:
                    if (left != null) {
                        current = Iterators.concat(Iterators.forArray(left), left.deepIterator());
                    }
                    break;
                case 1:
                    if (right != null) {
                        current = Iterators.concat(Iterators.forArray(right), right.deepIterator());
                    }
                    break;
                default:
                    return false;
                }
            }
            return (current != null) && current.hasNext();
        }

        @Override
        public IHDLObject next() {
            return current.next();
        }

        @Override
        public void remove() {
            throw new IllegalArgumentException("Not supported");
        }

    };
}

From source file:org.pshdl.model.impl.AbstractHDLExport.java

@Override
public Iterator<IHDLObject> deepIterator() {
    return new Iterator<IHDLObject>() {

        private int pos = 0;
        private Iterator<? extends IHDLObject> current;

        @Override/*from   w w w  . j  a  v a 2  s  .c om*/
        public boolean hasNext() {
            if ((current != null) && !current.hasNext()) {
                current = null;
            }
            while (current == null) {
                switch (pos++) {
                case 0:
                    if (exportRef != null) {
                        current = Iterators.concat(Iterators.forArray(exportRef), exportRef.deepIterator());
                    }
                    break;
                default:
                    return false;
                }
            }
            return (current != null) && current.hasNext();
        }

        @Override
        public IHDLObject next() {
            return current.next();
        }

        @Override
        public void remove() {
            throw new IllegalArgumentException("Not supported");
        }

    };
}

From source file:org.locationtech.geogig.porcelain.RemoveOp.java

private void stageDeletes(Iterator<NodeRef> trees, Iterator<String> features) {
    final StagingArea index = stagingArea();

    Iterator<DiffEntry> treeDeletes = Iterators.transform(trees, (treeRef) -> new DiffEntry(treeRef, null));

    Iterator<DiffEntry> featureDeletes = Iterators.transform(features, (featurePath) -> {
        Node node = Node.create(NodeRef.nodeFromPath(featurePath), ObjectId.NULL, ObjectId.NULL, TYPE.FEATURE,
                null);// w ww. jav  a 2s.  c  o m
        String parentPath = NodeRef.parentPath(featurePath);
        NodeRef oldFeature = new NodeRef(node, parentPath, ObjectId.NULL);
        return new DiffEntry(oldFeature, null);
    });

    ProgressListener progress = DefaultProgressListener.NULL;
    index.stage(progress, Iterators.concat(treeDeletes, featureDeletes), -1);
}

From source file:com.liato.bankdroid.BankEditActivity.java

private boolean validate() {
    boolean valid = true;
    Iterator<Field> fields = Iterators.concat(SELECTED_BANK.getConnectionConfiguration().iterator(),
            DefaultConnectionConfiguration.fields().iterator());
    while (fields.hasNext()) {
        Field field = fields.next();
        try {//  www  . j a v a  2s .  c o m
            field.validate(getFormParameter(field.getReference()));
        } catch (IllegalArgumentException e) {
            valid = false;
            ((EditText) mFormContainer.findViewWithTag(field.getReference())).setError(e.getMessage());
        }
    }
    return valid;
}

From source file:org.elasticsearch.index.mapper.externalvalues.ExternalMapper.java

@Override
public Iterator<Mapper> iterator() {
    return Iterators.concat(super.iterator(),
            Lists.newArrayList(binMapper, boolMapper, pointMapper, shapeMapper, stringMapper).iterator());
}

From source file:org.apache.jackrabbit.oak.security.user.MembershipWriter.java

/**
 * Removes the members from the given group.
 *
 * @param groupTree group to remove the member from
 * @param memberIds Map of 'contentId':'memberId' of all members that need to be removed.
 * @return the set of member IDs that was not successfully processed.
 *//*w w w.j av a  2s . com*/
Set<String> removeMembers(@Nonnull Tree groupTree, @Nonnull Map<String, String> memberIds) {
    Tree membersList = groupTree.getChild(UserConstants.REP_MEMBERS_LIST);
    Iterator<Tree> trees = Iterators.concat(Iterators.singletonIterator(groupTree),
            membersList.getChildren().iterator());
    while (trees.hasNext() && !memberIds.isEmpty()) {
        Tree t = trees.next();
        PropertyState refs = t.getProperty(UserConstants.REP_MEMBERS);
        if (refs != null) {
            PropertyBuilder<String> prop = PropertyBuilder.copy(Type.WEAKREFERENCE, refs);
            Iterator<Map.Entry<String, String>> memberEntries = memberIds.entrySet().iterator();
            while (memberEntries.hasNext()) {
                String memberContentId = memberEntries.next().getKey();
                if (prop.hasValue(memberContentId)) {
                    prop.removeValue(memberContentId);
                    if (prop.isEmpty()) {
                        if (t == groupTree) {
                            t.removeProperty(UserConstants.REP_MEMBERS);
                        } else {
                            t.remove();
                        }
                    } else {
                        t.setProperty(prop.getPropertyState());
                    }
                    memberEntries.remove();
                }
            }
        }
    }
    return Sets.newHashSet(memberIds.values());
}

From source file:org.apache.jackrabbit.oak.security.user.AuthorizableImpl.java

/**
 * Retrieve the group membership of this authorizable.
 *
 * @param includeInherited Flag indicating whether the resulting iterator only
 * contains groups this authorizable is declared member of or if inherited
 * group membership is respected.// ww w.j  a v  a2  s.  c o m
 *
 * @return Iterator of groups this authorizable is (declared) member of.
 * @throws RepositoryException If an error occurs.
 */
@Nonnull
private Iterator<Group> getMembership(boolean includeInherited) throws RepositoryException {
    if (isEveryone()) {
        return Collections.<Group>emptySet().iterator();
    }

    MembershipProvider mMgr = getMembershipProvider();
    Iterator<String> oakPaths = mMgr.getMembership(getTree(), includeInherited);

    Authorizable everyoneGroup = userManager.getAuthorizable(EveryonePrincipal.getInstance());
    if (everyoneGroup instanceof GroupImpl) {
        String everyonePath = ((GroupImpl) everyoneGroup).getTree().getPath();
        oakPaths = Iterators.concat(oakPaths, ImmutableSet.of(everyonePath).iterator());
    }
    if (oakPaths.hasNext()) {
        AuthorizableIterator groups = AuthorizableIterator.create(oakPaths, userManager,
                AuthorizableType.GROUP);
        return new RangeIteratorAdapter(groups, groups.getSize());
    } else {
        return RangeIteratorAdapter.EMPTY;
    }
}

From source file:org.devmaster.elasticsearch.index.mapper.RecurringFieldMapper.java

@Override
public Iterator<Mapper> iterator() {
    List<? extends Mapper> extras = Arrays.asList(startDateMapper, endDateMapper, rruleMapper);
    return Iterators.concat(super.iterator(), extras.iterator());
}

From source file:org.summer.dsl.builder.impl.QueuedBuildData.java

public Queue<URI> getQueue(String projectName) {
    final LinkedList<URI> list = projectNameToChangedResource.get(projectName);
    if (list == null)
        return uris;
    return new AbstractQueue<URI>() {

        public boolean offer(URI o) {
            return list.offer(o);
        }/*  ww  w .  jav a2s .co m*/

        public URI poll() {
            if (uris.isEmpty())
                return list.poll();
            return uris.poll();
        }

        public URI peek() {
            if (uris.isEmpty())
                return list.peek();
            return uris.peek();
        }

        @Override
        public Iterator<URI> iterator() {
            return Iterators.concat(uris.iterator(), list.iterator());
        }

        @Override
        public int size() {
            return uris.size() + list.size();
        }
    };
}