Package org.eclipse.rdf4j.sail.federation.optimizers

## Class FederationJoinOptimizer

- java.lang.Object
- - org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor<RepositoryException>
  - - org.eclipse.rdf4j.sail.federation.optimizers.FederationJoinOptimizer

- All Implemented Interfaces:
    `QueryOptimizer`, `QueryModelVisitor<RepositoryException>`

      @Deprecated
      public class FederationJoinOptimizer
      extends AbstractQueryModelVisitor<RepositoryException>
      implements QueryOptimizer

  Deprecated.
  since 3.1.0. This module will be replaced by the new FedX federation module.
  Search for Join, LeftJoin, and Union arguments that can be evaluated in a single member.
  Author:
    James Leigh

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FederationJoinOptimizer​(Collection<? extends RepositoryConnection> members, boolean distinct, PrefixHashSet localSpace)` | Deprecated.
    `FederationJoinOptimizer​(Collection<? extends RepositoryConnection> members, boolean distinct, PrefixHashSet localSpace, Function<? super Repository,​? extends RepositoryBloomFilter> bloomFilters)` | Deprecated.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `meet​(LeftJoin node)` | Deprecated.
    `void` | `meet​(Union node)` | Deprecated.
    `void` | `meetMultiJoin​(NaryJoin node)` | Deprecated.
    `void` | `meetOther​(QueryModelNode node)` | Deprecated.
    `protected void` | `meetUnaryTupleOperator​(UnaryTupleOperator node)` | Deprecated. Method called by all meet methods with a `UnaryTupleOperator` node as argument.
    `void` | `optimize​(TupleExpr query, Dataset dataset, BindingSet bindings)` | Deprecated.

    - ### Methods inherited from class org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor

      `meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meetBinaryTupleOperator, meetBinaryValueOperator, meetCompareSubQueryValueOperator, meetNAryValueOperator, meetNode, meetSubQueryValueOperator, meetUnaryValueOperator, meetUpdateExpr`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FederationJoinOptimizer

          public FederationJoinOptimizer​(Collection<? extends RepositoryConnection> members,
                                         boolean distinct,
                                         PrefixHashSet localSpace)

      Deprecated.

    - #### FederationJoinOptimizer

          public FederationJoinOptimizer​(Collection<? extends RepositoryConnection> members,
                                         boolean distinct,
                                         PrefixHashSet localSpace,
                                         Function<? super Repository,​? extends RepositoryBloomFilter> bloomFilters)

      Deprecated.

  - ### Method Detail

    - #### optimize

          public void optimize​(TupleExpr query,
                               Dataset dataset,
                               BindingSet bindings)

      Deprecated.
      Specified by:
        `optimize` in interface `QueryOptimizer`

    - #### meetOther

          public void meetOther​(QueryModelNode node)
                         throws RepositoryException

      Deprecated.
      Specified by:
        `meetOther` in interface `QueryModelVisitor<RepositoryException>`
      Overrides:
        `meetOther` in class `AbstractQueryModelVisitor<RepositoryException>`
      Throws:
        `RepositoryException`

    - #### meetMultiJoin

          public void meetMultiJoin​(NaryJoin node)
                             throws RepositoryException

      Deprecated.
      Throws:
        `RepositoryException`

    - #### meet

          public void meet​(LeftJoin node)
                    throws RepositoryException

      Deprecated.
      Specified by:
        `meet` in interface `QueryModelVisitor<RepositoryException>`
      Overrides:
        `meet` in class `AbstractQueryModelVisitor<RepositoryException>`
      Throws:
        `RepositoryException`

    - #### meet

          public void meet​(Union node)
                    throws RepositoryException

      Deprecated.
      Specified by:
        `meet` in interface `QueryModelVisitor<RepositoryException>`
      Overrides:
        `meet` in class `AbstractQueryModelVisitor<RepositoryException>`
      Throws:
        `RepositoryException`

    - #### meetUnaryTupleOperator

          protected void meetUnaryTupleOperator​(UnaryTupleOperator node)
                                         throws RepositoryException

      Deprecated.
      Description copied from class: `AbstractQueryModelVisitor`
      Method called by all meet methods with a `UnaryTupleOperator` node as argument. Forwards the call to `AbstractQueryModelVisitor.meetNode(org.eclipse.rdf4j.query.algebra.QueryModelNode)` by default.
      Overrides:
        `meetUnaryTupleOperator` in class `AbstractQueryModelVisitor<RepositoryException>`
      Parameters:
        `node` - The node that is being visited.
      Throws:
        `RepositoryException`