Class GraphStep<S,​E extends Element>

    • Field Detail

      • returnClass

        protected final Class<E extends Element> returnClass
      • ids

        protected GValue<?>[] ids
      • legacyLogicForPassingNoIds

        protected boolean legacyLogicForPassingNoIds
      • isStart

        protected boolean isStart
      • done

        protected boolean done
    • Method Detail

      • tryUnrollSingleCollectionArgument

        protected static Object[] tryUnrollSingleCollectionArgument​(Object[] ids)
        Unrolls a single collection argument into an array of ids. This is useful for steps like g.V(['a','b','c']).
      • configure

        public void configure​(Object... keyValues)
        Description copied from interface: Configuring
        Accept a configuration to the Step. Note that this interface extends Parameterizing and so there is an expectation that the Step implementation will have a Parameters instance that will house any values passed to this method. Storing these configurations in Parameters is not a requirement however, IF the configuration is an expected option for the step and can be stored on a member field that can be accessed on the step by more direct means (i.e. like a getter method).
        Specified by:
        configure in interface Configuring
      • getReturnClass

        public Class<E> getReturnClass()
      • isStartStep

        public boolean isStartStep()
      • isStartStep

        public static boolean isStartStep​(Step<?,​?> step)
      • returnsVertex

        public boolean returnsVertex()
      • returnsEdge

        public boolean returnsEdge()
      • setIteratorSupplier

        public void setIteratorSupplier​(Supplier<Iterator<E>> iteratorSupplier)
      • getIds

        public GValue[] getIds()
        Get the ids associated with this step. If there are GValue objects present they will be returned alongside literal ids. Prefer getIdsAsValues() if you prefer to work with literal ids only.
      • getIdsAsValues

        public Object[] getIdsAsValues()
        Gets the ids associated with this step as literal values rather than GValue objects.
      • addIds

        public void addIds​(Object... newIds)
      • clearIds

        public void clearIds()
      • convertElementsToIds

        public void convertElementsToIds()
      • reset

        public void reset()
        Description copied from interface: Step
        Reset the state of the step such that it has no incoming starts. Internal states are to be reset, but any sideEffect data structures are not to be recreated.
        Specified by:
        reset in interface Step<S,​E extends Element>
        Overrides:
        reset in class AbstractStep<S,​E extends Element>
      • close

        public void close()
        Attempts to close an underlying iterator if it is of type CloseableIterator. Graph providers may choose to return this interface containing their vertices and edges if there are expensive resources that might need to be released at some point.
        Specified by:
        close in interface AutoCloseable
      • processHasContainerIds

        public static boolean processHasContainerIds​(GraphStep<?,​?> graphStep,
                                                     HasContainer hasContainer)
        Helper method for providers that want to "fold in" HasContainer's based on id checking into the ids of the GraphStep.
        Parameters:
        graphStep - the GraphStep to potentially addIds(Object...).
        hasContainer - The HasContainer to check for id validation.
        Returns:
        true if the HasContainer updated ids and thus, was processed.