Class JRXPathQueryExecuterFactory
- java.lang.Object
-
- net.sf.jasperreports.engine.query.AbstractQueryExecuterFactory
-
- net.sf.jasperreports.engine.query.JRXPathQueryExecuterFactory
-
- All Implemented Interfaces:
QueryExecuterFactory
,Designated
- Direct Known Subclasses:
JaxenXPathQueryExecuterFactory
,XalanXPathQueryExecuterFactory
public class JRXPathQueryExecuterFactory extends AbstractQueryExecuterFactory implements Designated
XPath query executer factory. The factory createsJRXPathQueryExecuter
query executers.- Author:
- Lucian Chirita (lucianc@users.sourceforge.net)
-
-
Field Summary
Fields Modifier and Type Field Description static String
PARAMETER_DOCUMENT_BUILDER_FACTORY
Built-in parameter holding the value of thejavax.xml.parsers.DocumentBuilderFactor
used to create documents of typeorg.w3c.dom.Document
static String
PARAMETER_XML_DATA_DOCUMENT
Built-in parameter holding the value of the org.w3c.dom.Document used to run the XPath query.static String
PARAMETER_XML_NAMESPACE_MAP
Parameter that holds thejava.util.Map<String,String>
with XML namespace information in the <prefix, uri> formatstatic String
PROPERTY_XML_DATE_PATTERN
Property holding the value of the date format pattern to be used when parsing the XML data.static String
PROPERTY_XML_NUMBER_PATTERN
Property holding the value of the number format pattern to be used when parsing the XLS data.static String
QUERY_EXECUTER_NAME
static String
XML_DATE_PATTERN
Parameter holding the format pattern used to instantiate java.util.Date instances.static String
XML_DETECT_NAMESPACES
Boolean parameter/property that specifies whether the XML document should be parsed for namespaces or not.static String
XML_FILE
Built-in parameter holding the value of thejava.io.File
to be used for obtaining the XML data.static String
XML_INPUT_STREAM
Built-in parameter holding the value of thejava.io.InputStream
to be used for obtaining the XML data.static String
XML_LOCALE
Parameter holding the value of the datasource Localestatic String
XML_NAMESPACE_PREFIX
Prefix for properties holding the namespace prefix and uri: e.g. net.sf.jasperreports.xml.namespace.static String
XML_NUMBER_PATTERN
Parameter holding the format pattern used to instantiate java.lang.Number instances.static String
XML_SOURCE
Built-in parameter/property holding the value of thejava.lang.String
source to be used for obtaining the XML data.static String
XML_TIME_ZONE
Parameter holding the value of the datasource Timezone-
Fields inherited from interface net.sf.jasperreports.engine.query.QueryExecuterFactory
QUERY_EXECUTER_FACTORY_PREFIX
-
-
Constructor Summary
Constructors Constructor Description JRXPathQueryExecuterFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JRQueryExecuter
createQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, Map<String,? extends JRValueParameter> parameters)
Creates a query executer.JRQueryExecuter
createQueryExecuter(QueryExecutionContext context, JRDataset dataset, Map<String,? extends JRValueParameter> parameters)
Object[]
getBuiltinParameters()
Returns the built-in parameters associated with this query type.String
getDesignation()
boolean
supportsQueryParameterType(String className)
Decides whether the query executers created by this factory support a query parameter type.
-
-
-
Field Detail
-
PARAMETER_DOCUMENT_BUILDER_FACTORY
public static final String PARAMETER_DOCUMENT_BUILDER_FACTORY
Built-in parameter holding the value of thejavax.xml.parsers.DocumentBuilderFactor
used to create documents of typeorg.w3c.dom.Document
- See Also:
- Constant Field Values
-
PARAMETER_XML_NAMESPACE_MAP
public static final String PARAMETER_XML_NAMESPACE_MAP
Parameter that holds thejava.util.Map<String,String>
with XML namespace information in the <prefix, uri> format- See Also:
- Constant Field Values
-
XML_NAMESPACE_PREFIX
public static final String XML_NAMESPACE_PREFIX
Prefix for properties holding the namespace prefix and uri: e.g. net.sf.jasperreports.xml.namespace.{prefix} = uriThis property has a lower priority than
PARAMETER_XML_NAMESPACE_MAP
, which if it is specified it will cause the prefixed properties not to be searched for.- See Also:
- Constant Field Values
-
XML_DETECT_NAMESPACES
public static final String XML_DETECT_NAMESPACES
Boolean parameter/property that specifies whether the XML document should be parsed for namespaces or not.This parameter is meaningful only when:
-
the
PARAMETER_XML_NAMESPACE_MAP
parameter is not provided or provided with anull
value -
there are no properties prefixed with
XML_NAMESPACE_PREFIX
; - the xpath query expression that is provided contains XML namespace prefixes
false
- See Also:
- Constant Field Values
-
the
-
QUERY_EXECUTER_NAME
public static final String QUERY_EXECUTER_NAME
- See Also:
- Constant Field Values
-
PARAMETER_XML_DATA_DOCUMENT
public static final String PARAMETER_XML_DATA_DOCUMENT
Built-in parameter holding the value of the org.w3c.dom.Document used to run the XPath query.- See Also:
- Constant Field Values
-
XML_INPUT_STREAM
public static final String XML_INPUT_STREAM
Built-in parameter holding the value of thejava.io.InputStream
to be used for obtaining the XML data.- See Also:
- Constant Field Values
-
XML_FILE
public static final String XML_FILE
Built-in parameter holding the value of thejava.io.File
to be used for obtaining the XML data.- See Also:
- Constant Field Values
-
XML_SOURCE
public static final String XML_SOURCE
Built-in parameter/property holding the value of thejava.lang.String
source to be used for obtaining the XML data.- See Also:
- Constant Field Values
-
XML_DATE_PATTERN
public static final String XML_DATE_PATTERN
Parameter holding the format pattern used to instantiate java.util.Date instances.- See Also:
- Constant Field Values
-
PROPERTY_XML_DATE_PATTERN
public static final String PROPERTY_XML_DATE_PATTERN
Property holding the value of the date format pattern to be used when parsing the XML data.- See Also:
- Constant Field Values
-
XML_NUMBER_PATTERN
public static final String XML_NUMBER_PATTERN
Parameter holding the format pattern used to instantiate java.lang.Number instances.- See Also:
- Constant Field Values
-
PROPERTY_XML_NUMBER_PATTERN
public static final String PROPERTY_XML_NUMBER_PATTERN
Property holding the value of the number format pattern to be used when parsing the XLS data.- See Also:
- Constant Field Values
-
XML_LOCALE
public static final String XML_LOCALE
Parameter holding the value of the datasource Locale- See Also:
- Constant Field Values
-
XML_TIME_ZONE
public static final String XML_TIME_ZONE
Parameter holding the value of the datasource Timezone- See Also:
- Constant Field Values
-
-
Method Detail
-
getBuiltinParameters
public Object[] getBuiltinParameters()
Description copied from interface:QueryExecuterFactory
Returns the built-in parameters associated with this query type. These parameters will be created as system-defined parameters for each report/dataset having a query of this type. The returned array should contain consecutive pairs of parameter names and parameter classes (e.g.{"Param1", String.class, "Param2", "List.class"}
).- Specified by:
getBuiltinParameters
in interfaceQueryExecuterFactory
- Returns:
- array of built-in parameter names and types associated with this query type
-
createQueryExecuter
public JRQueryExecuter createQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, Map<String,? extends JRValueParameter> parameters) throws JRException
Description copied from interface:QueryExecuterFactory
Creates a query executer. This method is called at fill time for reports/datasets having a query supported by this factory.- Specified by:
createQueryExecuter
in interfaceQueryExecuterFactory
- Parameters:
jasperReportsContext
- the JasperReportsContextdataset
- the dataset containing the query, fields, etcparameters
- map of value parameters (instances ofJRValueParameter
) indexed by name- Returns:
- a query executer
- Throws:
JRException
-
createQueryExecuter
public JRQueryExecuter createQueryExecuter(QueryExecutionContext context, JRDataset dataset, Map<String,? extends JRValueParameter> parameters) throws JRException
- Specified by:
createQueryExecuter
in interfaceQueryExecuterFactory
- Throws:
JRException
-
supportsQueryParameterType
public boolean supportsQueryParameterType(String className)
Description copied from interface:QueryExecuterFactory
Decides whether the query executers created by this factory support a query parameter type. This check is performed for all $P{..} parameters in the query.- Specified by:
supportsQueryParameterType
in interfaceQueryExecuterFactory
- Parameters:
className
- the value class name of the parameter- Returns:
- whether the parameter value type is supported
-
getDesignation
public String getDesignation()
- Specified by:
getDesignation
in interfaceDesignated
-
-