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

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

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

import org.apache.tinkerpop.gremlin.ogm.elements.Vertex
import org.apache.tinkerpop.gremlin.ogm.paths.relationships.Relationship

/**
 * A [BoundRelationship] encapsulates a Relationship, as well as the object(s) the relationship starts from
 */
interface BoundRelationship : BoundPath {

    override val path: Relationship

    /**
     * A [BoundRelationship] where the relationship is a [Relationship.ToOne]
     */
    interface ToOne : BoundRelationship, BoundPath.ToOne {

        override val path: Relationship.ToOne
    }

    /**
     * A [BoundRelationship] where the relationship is a [Relationship.ToMany]
     */
    interface ToMany : BoundRelationship, BoundPath.ToMany {

        override val path: Relationship.ToMany
    }

    /**
     * A [BoundRelationship] where the relationship is a [Relationship.ToSingle]
     */
    interface ToSingle : ToOne, BoundPath.ToSingle {

        override val path: Relationship.ToSingle
    }

    /**
     * A [BoundRelationship] where the relationship is a [Relationship.ToOptional]
     */
    interface ToOptional : ToOne, BoundPath.ToOptional {

        override val path: Relationship.ToOptional
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy