org.thymeleaf.fragment
Class DOMSelectorFragmentSpec

Object
  extended by org.thymeleaf.fragment.DOMSelectorFragmentSpec
All Implemented Interfaces:
IFragmentSpec

public final class DOMSelectorFragmentSpec
extends Object
implements IFragmentSpec

Implementation of the IFragmentSpec interface that extracts fragments of DOM trees using a DOMSelector object.

The DOM selector instances used by these fragment specs are stored at the expression cache (see ICacheManager.getExpressionCache()) using as key DOM_SELECTOR_EXPRESSION_PREFIX + selectorExpression.

Objects of this class are thread-safe.

Since:
2.0.9
Author:
Daniel Fernández

Field Summary
static String DOM_SELECTOR_EXPRESSION_PREFIX
           Prefix to be used for keys when storing selector expressions at the expression cache.
 
Constructor Summary
DOMSelectorFragmentSpec(String selectorExpression)
           Creates a new instance, specifying the expression to be used for a DOMSelector object to be created internally.
DOMSelectorFragmentSpec(String selectorExpression, DOMSelector.INodeReferenceChecker referenceChecker)
           Creates a new instance, specifying the expression to be used for a DOMSelector object to be created internally, and also the reference checker to be used.
 
Method Summary
 List<Node> extractFragment(Configuration configuration, List<Node> nodes)
           Executes the fragment specification against a list of nodes representing a DOM tree (or a set of trees), returning the extracted nodes.
 DOMSelector.INodeReferenceChecker getReferenceChecker()
           Returns the reference checker (implementation of DOMSelector.INodeReferenceChecker being used for executing the contained DOM Selector.
 String getSelectorExpression()
           
 String toString()
           
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DOM_SELECTOR_EXPRESSION_PREFIX

public static final String DOM_SELECTOR_EXPRESSION_PREFIX

Prefix to be used for keys when storing selector expressions at the expression cache.

See Also:
Constant Field Values
Constructor Detail

DOMSelectorFragmentSpec

public DOMSelectorFragmentSpec(String selectorExpression)

Creates a new instance, specifying the expression to be used for a DOMSelector object to be created internally.

Parameters:
selectorExpression - the expression to be used for the DOM selector.

DOMSelectorFragmentSpec

public DOMSelectorFragmentSpec(String selectorExpression,
                               DOMSelector.INodeReferenceChecker referenceChecker)

Creates a new instance, specifying the expression to be used for a DOMSelector object to be created internally, and also the reference checker to be used.

This constructor allows the specification of an DOMSelector.INodeReferenceChecker that will be applied during the executing of the contained DOMSelector object.

Parameters:
selectorExpression - the expression to be used for the DOM selector.
referenceChecker - the reference checker to be used. Might be null.
Since:
2.1.0
Method Detail

getSelectorExpression

public String getSelectorExpression()

getReferenceChecker

public DOMSelector.INodeReferenceChecker getReferenceChecker()

Returns the reference checker (implementation of DOMSelector.INodeReferenceChecker being used for executing the contained DOM Selector. Might be null if no reference checker is to be used.

Returns:
the reference checker to be used, or null if none.
Since:
2.1.0

extractFragment

public final List<Node> extractFragment(Configuration configuration,
                                        List<Node> nodes)
Description copied from interface: IFragmentSpec

Executes the fragment specification against a list of nodes representing a DOM tree (or a set of trees), returning the extracted nodes.

Specified by:
extractFragment in interface IFragmentSpec
Parameters:
configuration - the configuration object.
nodes - the list of nodes on which to apply extraction.
Returns:
the extracted nodes.

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2014 The THYMELEAF team. All Rights Reserved.