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

org.apache.tinkerpop.gremlin.ogm.paths.Path.kt Maven / Gradle / Ivy

There is a newer version: 0.21.0
Show newest version
package org.apache.tinkerpop.gremlin.ogm.paths

import org.apache.tinkerpop.gremlin.ogm.mappers.Mapper
import org.apache.tinkerpop.gremlin.ogm.paths.steps.StepTraverser
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal

/**
 * A path represents a [GraphTraversal] transformation from 'FROM' objects to 'TO' objects
 */
interface Path : Mapper, GraphTraversal<*, TO>> {

    /**
     * The list of sub-paths that comprise this path. It is possible for this path to
     * be the only path to the list.
     */
    fun path(): List>

    /**
     * A path that is either a [ToOptional] or [ToSingle]
     */
    interface ToOne : Path

    /**
     * A path that does not change the number of objects that would result from the current traversal
     */
    interface ToSingle : ToOne

    /**
     * A path that may reduce the number of objects that would result from the current traversal
     */
    interface ToOptional : ToOne

    /**
     * A path that may increase the number of objects that would result from the
     */
    interface ToMany : Path
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy