Interface JoinBuilder8<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7>

  • Type Parameters:
    T0 - the first entity type
    T1 - the second entity type
    T2 - the third entity type
    T3 - the fourth entity type
    T4 - the fifth entity type
    T5 - the sixth entity type
    T6 - the seventh entity type
    T7 - the eight entity type
    All Superinterfaces:
    HasDefaultBuild<com.speedment.common.tuple.nullable.Tuple8OfNullables<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7>>, HasJoins<JoinBuilder8.AfterJoin<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​?>,​JoinBuilder9<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​?>>, HasWhere<T7,​JoinBuilder8<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7>>

    public interface JoinBuilder8<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7>
    extends HasJoins<JoinBuilder8.AfterJoin<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​?>,​JoinBuilder9<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​?>>, HasWhere<T7,​JoinBuilder8<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7>>, HasDefaultBuild<com.speedment.common.tuple.nullable.Tuple8OfNullables<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7>>
    Join Builder stage used when only 8 tables has been specified so far.
    Since:
    3.1.1
    Author:
    Per Minborg, Emil Forslund
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      default Join<com.speedment.common.tuple.nullable.Tuple8OfNullables<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7>> build()
      Creates and returns a new Join object where elements in the Join object's stream method is of a default Tuple type.
      <T> Join<T> build​(Function8<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T> constructor)
      Creates and returns a new Join object where elements in the Join object's stream method is created using the provided constructor.
      <T8> JoinBuilder9<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> crossJoin​(com.speedment.runtime.config.identifier.TableIdentifier<T8> joinedTable)
      Adds the provided joinedTable to the collection of joined tables.
      <T8> JoinBuilder8.AfterJoin<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> innerJoinOn​(com.speedment.runtime.field.trait.HasComparableOperators<T8,​?> joinedField)
      Adds the provided joinedField to the collection of joined column/tables.
      <T8> JoinBuilder8.AfterJoin<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> leftJoinOn​(com.speedment.runtime.field.trait.HasComparableOperators<T8,​?> joinedField)
      Adds the provided joinedField to the collection of joined column/tables.
      <T8> JoinBuilder8.AfterJoin<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> rightJoinOn​(com.speedment.runtime.field.trait.HasComparableOperators<T8,​?> joinedField)
      Adds the provided joinedField to the collection of joined column/tables.
      • Methods inherited from interface com.speedment.runtime.join.trait.HasWhere

        where
    • Method Detail

      • innerJoinOn

        <T8> JoinBuilder8.AfterJoin<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> innerJoinOn​(com.speedment.runtime.field.trait.HasComparableOperators<T8,​?> joinedField)
        Description copied from interface: HasJoins
        Adds the provided joinedField to the collection of joined column/tables. Elements are joined from the table of the provided joinedField using an INNER JOIN whereby rows from two tables are present only if there is a match between the joining columns. Thus, rows that do not have matches in the joining columns will not be present in the result.
        Specified by:
        innerJoinOn in interface HasJoins<T0,​T1>
        Type Parameters:
        T8 - entity type
        Parameters:
        joinedField - to add to the current join builder
        Returns:
        a builder where the provided joinedField is added
      • leftJoinOn

        <T8> JoinBuilder8.AfterJoin<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> leftJoinOn​(com.speedment.runtime.field.trait.HasComparableOperators<T8,​?> joinedField)
        Description copied from interface: HasJoins
        Adds the provided joinedField to the collection of joined column/tables. Elements are joined from the table of the provided joinedField using an LEFT JOIN whereby rows from two tables are present either if there is a match between the joining columns or for each row from previously existing table(s).

        Unmatched rows will have entities from the table in the given joinedField set to null

        Specified by:
        leftJoinOn in interface HasJoins<T0,​T1>
        Type Parameters:
        T8 - entity type
        Parameters:
        joinedField - to add to the current join builder
        Returns:
        a builder where the provided joinedField is added
      • rightJoinOn

        <T8> JoinBuilder8.AfterJoin<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> rightJoinOn​(com.speedment.runtime.field.trait.HasComparableOperators<T8,​?> joinedField)
        Description copied from interface: HasJoins
        Adds the provided joinedField to the collection of joined column/tables. Elements are joined from the table of the provided joinedField using an RIGHT JOIN whereby rows from two tables are present either if there is a match between the joining columns or for each row from the table for the provided joinedField.

        Unmatched rows will have entities from the table in the given joinedField set to null

        Specified by:
        rightJoinOn in interface HasJoins<T0,​T1>
        Type Parameters:
        T8 - entity type
        Parameters:
        joinedField - to add to the current join builder
        Returns:
        a builder where the provided joinedField is added
      • crossJoin

        <T8> JoinBuilder9<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> crossJoin​(com.speedment.runtime.config.identifier.TableIdentifier<T8> joinedTable)
        Description copied from interface: HasJoins
        Adds the provided joinedTable to the collection of joined tables. Elements are joined from the table of the provided joinedTable using an CROSS JOIN whereby all combination of rows using all tables(s) are produced.
        Specified by:
        crossJoin in interface HasJoins<T0,​T1>
        Type Parameters:
        T8 - entity type
        Parameters:
        joinedTable - to add to the current join builder
        Returns:
        a builder where the provided joinedField is added
      • build

        default Join<com.speedment.common.tuple.nullable.Tuple8OfNullables<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7>> build()
        Description copied from interface: HasDefaultBuild
        Creates and returns a new Join object where elements in the Join object's stream method is of a default Tuple type.
        Specified by:
        build in interface HasDefaultBuild<T0>
        Returns:
        a new Join object where elements in the Join object's stream method is of a default Tuple type
      • build

        <T> Join<T> build​(Function8<T0,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T> constructor)
        Creates and returns a new Join object where elements in the Join object's stream method is created using the provided constructor.
        Type Parameters:
        T - the type of element in the Join object's stream method.
        Parameters:
        constructor - to use to create stream elements.
        Returns:
        a new Join object where elements in the Join object's stream method is of a default Tuple type
        Throws:
        NullPointerException - if the provided constructor is null
        IllegalStateException - if fields that are added via the on() method refers to tables that are not a part of the join.