Interface PhysicalOpFactory
- All Known Implementing Classes:
PhysicalOpBinaryUnion.Factory,PhysicalOpBind.Factory,PhysicalOpBindJoinBRTPF.Factory,PhysicalOpBindJoinSPARQL.Factory,PhysicalOpFilter.Factory,PhysicalOpFixedSolMap.Factory,PhysicalOpGlobalToLocal.Factory,PhysicalOpHashJoin.Factory,PhysicalOpHashRJoin.Factory,PhysicalOpIndexNestedLoopsJoin.Factory,PhysicalOpLocalToGlobal.Factory,PhysicalOpLookupJoinViaWrapper.Factory,PhysicalOpMultiwayUnion.Factory,PhysicalOpNaiveNestedLoopsJoin.Factory,PhysicalOpRequest.Factory,PhysicalOpSymmetricHashJoin.Factory
public interface PhysicalOpFactory
Implementations must expose a singleton instance via a public static
get() method on the implementation class.-
Method Summary
Modifier and TypeMethodDescriptiondefault BinaryPhysicalOpcreate(BinaryLogicalOp lop) Creates a physical operator for the given logical operator.default NaryPhysicalOpcreate(NaryLogicalOp lop) Creates a physical operator for the given logical operator.default NullaryPhysicalOpcreate(NullaryLogicalOp lop) Creates a physical operator for the given logical operator.default UnaryPhysicalOpcreate(UnaryLogicalOp lop) Creates a physical operator for the given logical operator.booleansupports(LogicalOperator lop, ExpectedVariables... inputVars) Returns true if this factory can create a physical operator for the given logical operator and expected input variables.
-
Method Details
-
supports
Returns true if this factory can create a physical operator for the given logical operator and expected input variables.- Parameters:
lop- the logical operator to checkinputVars- expected input variables- Returns:
trueif this factory can handle the inputs;falseotherwise
-
create
Creates a physical operator for the given logical operator.Precondition: call only if
} has returned true for the same logical operator and input variables.invalid @link
{@link #supports(...)- Parameters:
lop- the logical operator- Returns:
- a physical operator
- Throws:
IllegalArgumentException- if the precondition was violated
-
create
Creates a physical operator for the given logical operator.Precondition: call only if
} has returned true for the same logical operator and input variables.invalid @link
{@link #supports(...)- Parameters:
lop- the logical operator- Returns:
- a physical operator
- Throws:
IllegalArgumentException- if the precondition was violated
-
create
Creates a physical operator for the given logical operator.Precondition: call only if
} has returned true for the same logical operator and input variables.invalid @link
{@link #supports(...)- Parameters:
lop- the logical operator- Returns:
- a physical operator
- Throws:
IllegalArgumentException- if the precondition was violated
-
create
Creates a physical operator for the given logical operator.Precondition: call only if
} has returned true for the same logical operator and input variables.invalid @link
{@link #supports(...)- Parameters:
lop- the logical operator- Returns:
- a physical operator
- Throws:
IllegalArgumentException- if the precondition was violated
-