@Override public Iterator<PhysicalOperator> iterator() { return ImmutableSet.<PhysicalOperator>of().iterator(); }
@Override public Iterator<PhysicalOperator> iterator() { return ImmutableSet.<PhysicalOperator>of().iterator(); }
@Override public Iterator<PhysicalOperator> iterator() { return ImmutableSet.<PhysicalOperator>of().iterator(); }
@Override public UnmodifiableIterator<V> iterator() { return new UnmodifiableIterator<V>() { final UnmodifiableIterator<Entry<K, V>> entryItr = map.entrySet().iterator(); @Override public boolean hasNext() { return entryItr.hasNext(); } @Override public V next() { return entryItr.next().getValue(); } }; }
@Override public Iterator<Object> iterator() { return ImmutableSet.of().iterator(); } };
@Override public Iterator<LogicalExpression> iterator() { return ImmutableSet.<LogicalExpression>of().iterator(); }
@Override public Iterator<PhysicalOperator> iterator() { return ImmutableSet.<PhysicalOperator>of().iterator(); }
UnmodifiableIterator<K> keyIterator() { final UnmodifiableIterator<Entry<K, V>> entryIterator = entrySet().iterator(); return new UnmodifiableIterator<K>() { @Override public boolean hasNext() { return entryIterator.hasNext(); } @Override public K next() { return entryIterator.next().getKey(); } }; }
@Override public UnmodifiableIterator<E> iterator() { final Iterator<Entry<E>> entryIterator = entrySet().iterator(); return new UnmodifiableIterator<E>() { int remaining; E element; @Override public boolean hasNext() { return (remaining > 0) || entryIterator.hasNext(); } @Override public E next() { if (remaining <= 0) { Entry<E> entry = entryIterator.next(); element = entry.getElement(); remaining = entry.getCount(); } remaining--; return element; } }; }
/** * Returns the raw type of {@code T}. Formally speaking, if {@code T} is returned by * {@link java.lang.reflect.Method#getGenericReturnType}, the raw type is what's returned by * {@link java.lang.reflect.Method#getReturnType} of the same method object. Specifically: * <ul> * <li>If {@code T} is a {@code Class} itself, {@code T} itself is returned. * <li>If {@code T} is a {@link ParameterizedType}, the raw type of the parameterized type is * returned. * <li>If {@code T} is a {@link GenericArrayType}, the returned type is the corresponding array * class. For example: {@code List<Integer>[] => List[]}. * <li>If {@code T} is a type variable or a wildcard type, the raw type of the first upper bound * is returned. For example: {@code <X extends Foo> => Foo}. * </ul> */ public final Class<? super T> getRawType() { // For wildcard or type variable, the first bound determines the runtime type. Class<?> rawType = getRawTypes().iterator().next(); @SuppressWarnings("unchecked") // raw type is |T| Class<? super T> result = (Class<? super T>) rawType; return result; }
@Override public UnmodifiableIterator<E> iterator() { E connectingEdge = getConnectingEdge(); return (connectingEdge == null) ? ImmutableSet.<E>of().iterator() : Iterators.singletonIterator(connectingEdge); }