All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tinkerpop.gremlin.process.util.EmptyTraversal Maven / Gradle / Ivy

package com.tinkerpop.gremlin.process.util;

import com.tinkerpop.gremlin.process.Step;
import com.tinkerpop.gremlin.process.Traversal;
import com.tinkerpop.gremlin.process.Traverser;
import com.tinkerpop.gremlin.process.computer.GraphComputer;

import java.util.Collections;
import java.util.Iterator;
import java.util.List;

/**
 * @author Marko A. Rodriguez (http://markorodriguez.com)
 */
public class EmptyTraversal implements Traversal {

    private static final EmptyTraversal INSTANCE = new EmptyTraversal();
    private static final Memory MEMORY = new DefaultMemory();         // TODO: make "empty memory?"
    private static final Strategies TRAVERSAL_STRATEGIES = new DefaultStrategies(new EmptyTraversal<>());

    public static EmptyTraversal instance() {
        return INSTANCE;
    }

    public boolean hasNext() {
        return false;
    }

    public E next() {
        throw FastNoSuchElementException.instance();
    }

    public Memory memory() {
        return MEMORY;
    }

    public Strategies strategies() {
        return TRAVERSAL_STRATEGIES;
    }

    public void addStarts(final Iterator> starts) {

    }

    public > T addStep(final Step step) {
        return (T) this;
    }

    public List getSteps() {
        return Collections.EMPTY_LIST;
    }

    public Traversal submit(final GraphComputer computer) {
        return new EmptyTraversal<>();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy