org.basex.query.up.primitives
Class InsertIntoAsFirst
java.lang.Object
org.basex.query.up.primitives.Operation
org.basex.query.up.primitives.UpdatePrimitive
org.basex.query.up.primitives.NodeCopy
org.basex.query.up.primitives.InsertIntoAsFirst
public final class InsertIntoAsFirst
- extends NodeCopy
Insert into as first primitive.
- Author:
- BaseX Team 2005-12, BSD License, Lukas Kircher
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
InsertIntoAsFirst
public InsertIntoAsFirst(int p,
Data d,
InputInfo i,
ANodeList c)
- Constructor.
- Parameters:
p
- target node pre valued
- target data referencei
- input infoc
- insertion sequence node list
merge
public void merge(UpdatePrimitive p)
throws QueryException
- Description copied from class:
UpdatePrimitive
- Merges two update primitives, as they have the same target node.
- Specified by:
merge
in class UpdatePrimitive
- Parameters:
p
- primitive to merge with
- Throws:
QueryException
- exception
addAtomics
public void addAtomics(AtomicUpdateList l)
- Description copied from class:
UpdatePrimitive
- Adds the atomic update operations for this update primitive to the given list.
- Specified by:
addAtomics
in class UpdatePrimitive
- Parameters:
l
- list of atomic updates
substitute
public UpdatePrimitive[] substitute(MemData tmp)
- Description copied from class:
UpdatePrimitive
- Substitutes the update primitive if necessary. For instance a 'Replace Value
of' primitive called on a target T with T being an element results in a 'Replace
Element Content' primitive with target T. As this is ugly to process it is
substituted by delete primitives for every child of T and an 'Insert into' primitive
if the length of the (optional!) text node is greater zero.
When a primitive is substituted it is still added to the list itself to be able to
throw exceptions when necessary. I.e. for multiple replaces on the same target node.
These update primitives don't produce atomic updates, hence this won't affect the
database.
- Specified by:
substitute
in class UpdatePrimitive
- Parameters:
tmp
- temporary mem data
- Returns:
- An array that contains the substituting primitives or this update primitive
if no substitution is necessary.
update
public void update(NamePool pool)
- Description copied from class:
UpdatePrimitive
- Updates the name pool, which is used to find duplicate attributes
and namespace conflicts.
- Specified by:
update
in class UpdatePrimitive
- Parameters:
pool
- name pool