com.hp.hpl.jena.sparql.algebra.optimize
Class TransformExtendCombine

java.lang.Object
  extended by com.hp.hpl.jena.sparql.algebra.TransformCopy
      extended by com.hp.hpl.jena.sparql.algebra.optimize.TransformExtendCombine
All Implemented Interfaces:
Transform

public class TransformExtendCombine
extends TransformCopy

An optimizer that aims to combine multiple extend clauses together.

Since the semantics of extend are such that the expressions are expected to be evaluated in order we can combine extends together. This can make evaluation more efficient because all the assignments are done in a single step though depending on the underlying store this may make little or no difference.

Note that standard algebra construction will cause much of this to happen naturally but sometimes it is useful to apply this as an additional independent transform.


Field Summary
 
Fields inherited from class com.hp.hpl.jena.sparql.algebra.TransformCopy
COPY_ALWAYS, COPY_ONLY_ON_CHANGE
 
Constructor Summary
TransformExtendCombine()
           
 
Method Summary
 Op transform(OpAssign opAssign, Op subOp)
           
 Op transform(OpExtend opExtend, Op subOp)
           
 
Methods inherited from class com.hp.hpl.jena.sparql.algebra.TransformCopy
transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransformExtendCombine

public TransformExtendCombine()
Method Detail

transform

public Op transform(OpAssign opAssign,
                    Op subOp)
Specified by:
transform in interface Transform
Overrides:
transform in class TransformCopy

transform

public Op transform(OpExtend opExtend,
                    Op subOp)
Specified by:
transform in interface Transform
Overrides:
transform in class TransformCopy


Licenced under the Apache License, Version 2.0