com.holonplatform.core.datastore.relational

## Interface Join<T>

- Type Parameters:
    `T` - Join path type
  All Superinterfaces:
    Aliasable<Join<T>>, Aliasable.AliasablePath<T,Join<T>>, DataMappable, Expression, Path<T>, Path.FinalPath<T>, Serializable, TypedExpression<T>

      public interface Join<T>
      extends Path.FinalPath<T>, Aliasable.AliasablePath<T,Join<T>>

  Represents a relational join expression between two `DataTarget`s.

  A Join expression is modelled using a `Path` and supports alias name definition through the `Aliasable` interface.

  Supports a `ON` restriction clause, represented by a `QueryFilter`.

  Since:
    5.0.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `Join.JoinBuilder<T>` `Join` builder.
    `static class` | `Join.JoinType` Enumeration of available join types.

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.Path.FinalPath

      `Path.FinalPath.FinalPathBuilder<T>`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.datastore.relational.Aliasable

      `Aliasable.AliasablePath<T,C extends Aliasable.AliasablePath<T,C>>`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.Path

      `Path.Builder<T,B extends Path.Builder<T,B>>, Path.FinalPath<T>, Path.PathBuilder<T>`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.Expression

      `Expression.ExpressionResolverFunction<E extends Expression,R extends Expression>, Expression.InvalidExpressionException`

  - ### Field Summary

    - ### Fields inherited from interface com.holonplatform.core.Path

      `PATH_HIERARCHY_SEPARATOR`

    - ### Fields inherited from interface com.holonplatform.core.DataMappable

      `DEFAULT_CONFIG_PROPERTY_PREFIX, PATH`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Join.JoinType` | `getJoinType()` Get the `Join.JoinType`.
    `Optional<QueryFilter>` | `getOn()` Get the `QueryFilter` that corresponds to the `ON` restriction(s) on the join.

    - ### Methods inherited from interface com.holonplatform.core.Path.FinalPath

      `getParent, of`

    - ### Methods inherited from interface com.holonplatform.core.datastore.relational.Aliasable

      `alias, getAlias`

    - ### Methods inherited from interface com.holonplatform.core.Path

      `fullName, fullName, getName, isRootPath, relativeName, relativeName, stream`

    - ### Methods inherited from interface com.holonplatform.core.TypedExpression

      `getTemporalType, getType, isCollectionExpression, isConverterExpression`

    - ### Methods inherited from interface com.holonplatform.core.Expression

      `validate`

    - ### Methods inherited from interface com.holonplatform.core.DataMappable

      `getDataPath, isDataMappable`

- - ### Method Detail

    - #### getJoinType

          Join.JoinType getJoinType()

      Get the `Join.JoinType`.
      Returns:
        The join type (not null)

    - #### getOn

          Optional<QueryFilter> getOn()

      Get the `QueryFilter` that corresponds to the `ON` restriction(s) on the join.
      Returns:
        Optional `ON` restriction(s) on the join

Copyright © 2019 The Holon Platform. All rights reserved.