com.bigdata.bop
Class ImmutableBOp

java.lang.Object
  extended by com.bigdata.bop.CoreBaseBOp
      extended by com.bigdata.bop.BOpBase
          extended by com.bigdata.bop.ImmutableBOp
All Implemented Interfaces:
BOp, IPropertySet, Serializable, Cloneable
Direct Known Subclasses:
AggregateBase, Bind, ConditionalBind, Constant, Var

public abstract class ImmutableBOp
extends BOpBase

Base class for immutable operators such as Var and Constant. These operators do not deep copy their data and do not permit decoration with annotations.

Version:
$Id: ImmutableBOp.java 5086 2011-08-25 15:19:31Z thompsonbry $
Author:
Bryan Thompson
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.bigdata.bop.BOp
BOp.Annotations
 
Field Summary
 
Fields inherited from class com.bigdata.bop.CoreBaseBOp
DEFAULT_INITIAL_CAPACITY
 
Fields inherited from interface com.bigdata.bop.BOp
NOANNS, NOARGS
 
Constructor Summary
ImmutableBOp(BOp[] args, Map<String,Object> annotations)
           
ImmutableBOp(ImmutableBOp op)
           
 
Method Summary
protected  void _clearProperty(String name)
          Clear an annotation.
protected  Object _setProperty(String name, Object value)
          Set an annotation.
 
Methods inherited from class com.bigdata.bop.BOpBase
_set, annotations, annotationsCopy, annotationsEqual, annotationsRef, argIterator, args, argsCopy, arity, clearAnnotations, clearProperty, deepCopy, deepCopy, get, getProperty, setArg, setProperty, setUnboundProperty, toArray, toArray
 
Methods inherited from class com.bigdata.bop.CoreBaseBOp
annotationsEqual, annotationsToString, checkArgs, clone, equals, getEvaluationContext, getId, getProperty, getRequiredProperty, hashCode, indent, isController, toShortString, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ImmutableBOp

public ImmutableBOp(ImmutableBOp op)
Parameters:
op -

ImmutableBOp

public ImmutableBOp(BOp[] args,
                    Map<String,Object> annotations)
Parameters:
args -
annotations -
Method Detail

_setProperty

protected final Object _setProperty(String name,
                                    Object value)
Description copied from class: BOpBase
Set an annotation.

Note: This is protected to facilitate copy-on-write patterns. It is not public to prevent arbitrary changes to operators outside of methods which clone the operator and return the modified version. This is part of the effectively immutable contract for BOps.

Overrides:
_setProperty in class BOpBase
Parameters:
name - The name.
value - The value.
Returns:
The old value.

_clearProperty

protected final void _clearProperty(String name)
Description copied from class: BOpBase
Clear an annotation.

Note: This is protected to facilitate copy-on-write patterns. It is not public to prevent arbitrary changes to operators outside of methods which clone the operator and return the modified version. This is part of the effectively immutable contract for BOps.

Overrides:
_clearProperty in class BOpBase
Parameters:
name - The name.


Copyright © 2006-2012 SYSTAP, LLC. All Rights Reserved.