public class Switch extends FieldExpression
Modifier and Type | Class and Description |
---|---|
static class |
Switch.Case |
FieldExpression.StringMode
alias, EMPTY_ARRAY
Constructor and Description |
---|
Switch() |
Switch(FieldExpression... args) |
Switch(FieldExpression input) |
Switch(FieldExpression input,
FieldExpression defaultOutput) |
Switch(FieldExpression input,
String alias) |
Modifier and Type | Method and Description |
---|---|
void |
addCase(FieldExpression condition,
FieldExpression output) |
void |
addCase(Switch.Case value) |
boolean |
equalsIgnoreAlias(FieldExpression other)
Returns
true if other is the same as this , with the exception of alias. |
List<Switch.Case> |
getCases() |
FieldExpression |
getDefaultOutput()
Get the
FieldExpression that will provide the output if no cases match. |
FieldExpression |
getInput()
Get the input
FieldExpression to compare against cases. |
SchemaField.Type |
getType(Schema schema)
Resolve the type for this expression.
|
boolean |
hasChildren()
Returns
true if this field expression has any sub FieldExpressions. |
int |
hashCode() |
boolean |
isConstant()
Returns
true if this field expression evaluates to a constant value. |
void |
rewrite(QueryHandler handler,
boolean recursive)
Rewrite any query objects in this FieldExpression using
handler . |
FieldExpression |
rewriteChildren(FieldExpressionHandler handler)
Traverse this FieldExpression using
handler to visit/rewrite direct child elements if this expression. |
void |
setCases(List<Switch.Case> value) |
void |
setDefaultOutput(FieldExpression value)
Set the
FieldExpression that will provide the output if no cases match. |
void |
setInput(FieldExpression value)
Get the input
FieldExpression to compare against cases. |
protected void |
toString(StringBuilder buffer,
FieldExpression.StringMode mode)
Writes the string representation of this field expression to
buffer . |
as, clone, containsAlias, copyOf, equals, equalsIgnoreAlias, getAlias, getDefaultAlias, getFieldName, handleFieldExpression, isConstant, quote, rewrite, setAlias, toString, toString
public Switch()
public Switch(FieldExpression input)
public Switch(FieldExpression input, FieldExpression defaultOutput)
public Switch(FieldExpression... args)
public Switch(FieldExpression input, String alias)
public boolean hasChildren()
true
if this field expression has any sub FieldExpressions.hasChildren
in class FieldExpression
public boolean isConstant()
true
if this field expression evaluates to a constant value.isConstant
in class FieldExpression
public SchemaField.Type getType(Schema schema)
getType
in class FieldExpression
public FieldExpression getInput()
FieldExpression
to compare against cases.public void setInput(FieldExpression value)
FieldExpression
to compare against cases.public List<Switch.Case> getCases()
public void setCases(List<Switch.Case> value)
public void addCase(FieldExpression condition, FieldExpression output)
public void addCase(Switch.Case value)
public FieldExpression getDefaultOutput()
FieldExpression
that will provide the output if no cases match.public void setDefaultOutput(FieldExpression value)
FieldExpression
that will provide the output if no cases match.public void rewrite(QueryHandler handler, boolean recursive)
handler
.rewrite
in class FieldExpression
public FieldExpression rewriteChildren(FieldExpressionHandler handler)
handler
to visit/rewrite direct child elements if this expression.
NOTE: this method traverses direct child expressions (if any) only.
rewriteChildren
in class FieldExpression
public int hashCode()
FieldExpression
hashCode
in class FieldExpression
public final boolean equalsIgnoreAlias(FieldExpression other)
true
if other
is the same as this
, with the exception of alias.equalsIgnoreAlias
in class FieldExpression
protected void toString(StringBuilder buffer, FieldExpression.StringMode mode)
buffer
.
NOTE: the alias will not be written to buffer by this function.
toString
in class FieldExpression
Copyright © 2018 Attivio, Inc. All Rights Reserved.
PATENT NOTICE: Attivio, Inc. Software Related Patents. With respect to the Attivio software product(s) being used, the following patents apply: Querying Joined Data Within A Search Engine Index: United States Patent No.(s): 8,073,840. Ordered Processing of Groups of Messages: U.S. Patent No.(s) 8,495,656. Signal processing approach to sentiment analysis for entities in documents: U.S. Patent No.(s) 8,725,494. Other U.S. and International Patents Pending.