Class RelationFunctionSymbol.Builder
java.lang.Object
com.darkcollective.relix.symbol.function.RelationFunctionSymbol.Builder
- Enclosing class:
RelationFunctionSymbol
Fluent builder for
RelationFunctionSymbol. Single-use; call
build() once to produce the immutable record.-
Method Summary
Modifier and TypeMethodDescriptionSets the relational-algebra body expression.build()Constructs theRelationFunctionSymbolfrom the current state.Sets the namespace (default:"default").parameter(ParameterDefinition parameter) Appends a parameter — scalar or relation — to the end of the parameter list.parameter(String name, ScalarType type) Appends a parameter to the end of the parameter list.provenance(Provenance provenance) Sets the provenance (default:Provenance.USER).returnSchema(Schema schema) Sets the resolved return schema (default: absent).shadowPolicy(ShadowPolicy shadowPolicy) Sets the shadow policy (default:ShadowPolicy.PERMITTED).
-
Method Details
-
namespace
Sets the namespace (default:"default").- Parameters:
namespace- must not be blank- Returns:
- this builder
-
provenance
Sets the provenance (default:Provenance.USER).- Parameters:
provenance- must not be null- Returns:
- this builder
-
shadowPolicy
Sets the shadow policy (default:ShadowPolicy.PERMITTED).- Parameters:
shadowPolicy- must not be null- Returns:
- this builder
-
parameter
Appends a parameter to the end of the parameter list.- Parameters:
name- the parameter name; must not be blanktype- the parameter type; must not be null- Returns:
- this builder
-
parameter
Appends a parameter — scalar or relation — to the end of the parameter list.- Parameters:
parameter- the parameter; must not be null- Returns:
- this builder
-
body
Sets the relational-algebra body expression.- Parameters:
body- the body; must not be null- Returns:
- this builder
-
returnSchema
Sets the resolved return schema (default: absent).- Parameters:
schema- the body's output schema; must not be null- Returns:
- this builder
-
build
Constructs theRelationFunctionSymbolfrom the current state.- Returns:
- a new immutable
RelationFunctionSymbol
-