com.bigdata.rdf.internal.constraints
Class ReplaceBOp

java.lang.Object
  extended by com.bigdata.bop.CoreBaseBOp
      extended by com.bigdata.bop.BOpBase
          extended by com.bigdata.rdf.internal.constraints.IVValueExpression<IV>
              extended by com.bigdata.rdf.internal.constraints.ReplaceBOp
All Implemented Interfaces:
BOp, IValueExpression<IV>, INeedsMaterialization, IPropertySet, Serializable, Cloneable

public class ReplaceBOp
extends IVValueExpression<IV>
implements INeedsMaterialization

See Also:
http://www.w3.org/2009/sparql/docs/query-1.1/rq25.xml#func-replace, Serialized Form

Nested Class Summary
static interface ReplaceBOp.Annotations
           
 
Nested classes/interfaces inherited from interface com.bigdata.rdf.internal.constraints.INeedsMaterialization
INeedsMaterialization.Requirement
 
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
ReplaceBOp(BOp[] args, Map<String,Object> anns)
          Required shallow copy constructor.
ReplaceBOp(IValueExpression<? extends IV> var, IValueExpression<? extends IV> pattern, IValueExpression<? extends IV> replacement, GlobalAnnotations globals)
          Construct a replace bop without flags.
ReplaceBOp(IValueExpression<? extends IV> var, IValueExpression<? extends IV> pattern, IValueExpression<? extends IV> replacement, IValueExpression<? extends IV> flags, GlobalAnnotations globals)
          Construct a replace bop with flags.
ReplaceBOp(ReplaceBOp op)
          Required deep copy constructor.
 
Method Summary
 BigdataLiteral evaluate(BigdataValueFactory valueFactory, Value... args)
          Lifted directly from Sesame's Replace operator.
 IV get(IBindingSet bs)
          Return the as bound value of the variable, constant, or expression.
 INeedsMaterialization.Requirement getRequirement()
          Does the bop always need materialized variables, or can it sometimes operate on inline terms without materialization? If sometimes, we'll run it before the materialization pipeline steps in an effort to avoid unnecessary materialization overhead.
 
Methods inherited from class com.bigdata.rdf.internal.constraints.IVValueExpression
anns, areGlobalsRequired, asIV, asIV, asLiteral, asValue, get, getAndCheckBound, getAndCheckLiteral, getAndCheckLiteralValue, getLexiconConfiguration, getNamespace, getTimestamp, getValueFactory, literalLabel
 
Methods inherited from class com.bigdata.bop.BOpBase
_clearProperty, _set, _setProperty, annotations, annotationsCopy, annotationsEqual, annotationsRef, argIterator, args, argsCopy, arity, clearAnnotations, clearProperty, deepCopy, deepCopy, 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
 
Methods inherited from interface com.bigdata.bop.BOp
annotations, argIterator, args, arity, clone, getEvaluationContext, getId, getProperty, getRequiredProperty, isController, setProperty, toArray, toArray, toShortString, toString
 
Methods inherited from interface cutthecrap.utils.striterators.IPropertySet
getProperty
 

Constructor Detail

ReplaceBOp

public ReplaceBOp(IValueExpression<? extends IV> var,
                  IValueExpression<? extends IV> pattern,
                  IValueExpression<? extends IV> replacement,
                  GlobalAnnotations globals)
Construct a replace bop without flags.


ReplaceBOp

public ReplaceBOp(IValueExpression<? extends IV> var,
                  IValueExpression<? extends IV> pattern,
                  IValueExpression<? extends IV> replacement,
                  IValueExpression<? extends IV> flags,
                  GlobalAnnotations globals)
Construct a replace bop with flags.


ReplaceBOp

public ReplaceBOp(BOp[] args,
                  Map<String,Object> anns)
Required shallow copy constructor.


ReplaceBOp

public ReplaceBOp(ReplaceBOp op)
Required deep copy constructor.

Method Detail

getRequirement

public INeedsMaterialization.Requirement getRequirement()
Description copied from interface: INeedsMaterialization
Does the bop always need materialized variables, or can it sometimes operate on inline terms without materialization? If sometimes, we'll run it before the materialization pipeline steps in an effort to avoid unnecessary materialization overhead. If it fails to evaluate for a particular solution, then it will be run again after the materialization steps for that solution.

Specified by:
getRequirement in interface INeedsMaterialization

get

public IV get(IBindingSet bs)
Description copied from interface: IValueExpression
Return the as bound value of the variable, constant, or expression. The as bound value of an IConstant is the contant's value. The as bound value of an IVariable is the bound value in the given IBindingSet -or- null if the variable is not bound in the IBindingSet.

Specified by:
get in interface IValueExpression<IV>
Parameters:
bs - The binding set.
Returns:
The as bound value of the constant, variable, or expression.

evaluate

public BigdataLiteral evaluate(BigdataValueFactory valueFactory,
                               Value... args)
                        throws ValueExprEvaluationException
Lifted directly from Sesame's Replace operator. FIXME The Pattern should be cached if the pattern argument and flags are constants.

Throws:
ValueExprEvaluationException
See Also:
REGEXBOp should cache the Pattern when it is a constant


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