public interface BOp extends Cloneable, Serializable, IPropertySet
Operators are organized in a tree of operators. The arity of an operator is the number of child operands declared by that operator class. The children of an operator are themselves operators. Parents reference their children, but back references to the parents are not maintained.
In addition to their arguments, operators may have a variety of annotations, including those specific to an operator (such as the maximum number of iterators for a closure operator), those shared by many operators (such as set of variables which are selected by a join or distributed hash table), or those shared by all operators (such as a cost model).
Modifier and Type | Interface and Description |
---|---|
static interface |
BOp.Annotations
Interface declaring well known annotations.
|
Modifier and Type | Field and Description |
---|---|
static Map<String,Object> |
NOANNS
An empty immutable annotations map.
|
static BOp[] |
NOARGS
An empty array.
|
Modifier and Type | Method and Description |
---|---|
Map<String,Object> |
annotations()
The operator's annotations.
|
Iterator<BOp> |
argIterator()
An iterator visiting the operator's arguments.
|
List<BOp> |
args()
The operator's arguments as list.
|
int |
arity()
The #of arguments to the operation.
|
BOp |
clone()
Deep copy clone of the operator.
|
BOp |
get(int index)
Return an argument to the operation.
|
BOpEvaluationContext |
getEvaluationContext()
Return the evaluation context for the operator as specified by
BOp.Annotations.EVALUATION_CONTEXT . |
int |
getId()
Return the
BOp.Annotations.BOP_ID . |
<T> T |
getProperty(String name,
T defaultValue)
Return the value of the named annotation.
|
Object |
getRequiredProperty(String name)
Return the value of the named annotation.
|
boolean |
isController()
Return
true iff this operator is a controller. |
BOp |
setProperty(String name,
Object value)
Unconditionally sets the property.
|
BOp[] |
toArray()
A shallow copy of the operator's arguments.
|
<T> T[] |
toArray(T[] a)
A shallow copy of the operator's arguments using the generic type of the
caller's array.
|
String |
toShortString()
Return a short (non-recursive) representation of the
BOp . |
String |
toString()
Return a
|
String |
toString(int indent)
The contract of this method at this level is under-specified.
|
getProperty
static final BOp[] NOARGS
int arity()
BOp get(int index)
index
- The argument index in [0:arity()
-1].BOp[] toArray()
<T> T[] toArray(T[] a)
null
is appended to mark the end of the data.<T> T getProperty(String name, T defaultValue)
T
- The generic type of the annotation value.name
- The name of the annotation.defaultValue
- The default value.BOp setProperty(String name, Object value)
name
- The name.value
- The value.BOp
on which the property has been set.Object getRequiredProperty(String name)
name
- The name of the annotation.IllegalStateException
- if the named annotation is not bound.http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6302954
BOp clone()
int getId()
BOp.Annotations.BOP_ID
.IllegalStateException
- if that annotation is not bound.BOpEvaluationContext getEvaluationContext()
BOp.Annotations.EVALUATION_CONTEXT
.boolean isController()
true
iff this operator is a controller.BOp.Annotations.CONTROLLER
String toString(int indent)
toString()
Or:
- return a pretty-print representation of the object with indent
Note that the former contract may or may not include recursive descent through a tree-like
object, whereas the latter almost certainly does.indent
- Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.