gnu.xml.libxmlj.transform

Class GnomeTransformer

Implemented Interfaces:
Templates

public class GnomeTransformer
extends Transformer
implements Templates

An implementation of Transformer which performs XSLT transformation using libxslt.

Method Summary

void
clearParameters()
Clears all parameter values.
void
finalize()
Called on an object by the Virtual Machine at most once, at some point after the Object is determined unreachable but before it is destroyed.
ErrorListener
getErrorListener()
Returns the callback used to report errors during the transformation.
Properties
getOutputProperties()
Returns the static properties for the xsl:output instruction.
String
getOutputProperty(String name)
Returns the value of an output property for the transformation.
Object
getParameter(String name)
Returns the specified parameter value.
URIResolver
getURIResolver()
Returns the callback used to resolve entities referenced by xsl:include, xsl:import, or the XPath document() function.
Transformer
newTransformer()
Creates a new transformer based on this transformation.
void
setErrorListener(ErrorListener listener)
Sets the callback used to report errors during the transformation.
void
setOutputProperties(Properties outputProperties)
Sets the output properties for the transformation, overriding any properties defined in the stylesheet.
void
setOutputProperty(String name, String value)
Sets an output property for the transformation, overriding any property of the same name defined in the stylesheet.
void
setParameter(String parameter, Object value)
Sets a parameter value for the transformation.
void
setURIResolver(URIResolver resolver)
Sets the callback used to resolve entities referenced by xsl:include, xsl:import, or the XPath document() function.
void
transform(Source source, Result result)
Transforms the given source and writes the result to the given target.

Methods inherited from class javax.xml.transform.Transformer

clearParameters, getErrorListener, getOutputProperties, getOutputProperty, getParameter, getURIResolver, reset, setErrorListener, setOutputProperties, setOutputProperty, setParameter, setURIResolver, transform

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Method Details

clearParameters

public void clearParameters()
Clears all parameter values.
Overrides:
clearParameters in interface Transformer

finalize

public void finalize()
Called on an object by the Virtual Machine at most once, at some point after the Object is determined unreachable but before it is destroyed. You would think that this means it eventually is called on every Object, but this is not necessarily the case. If execution terminates abnormally, garbage collection does not always happen. Thus you cannot rely on this method to always work. For finer control over garbage collection, use references from the java.lang.ref package.

Virtual Machines are free to not call this method if they can determine that it does nothing important; for example, if your class extends Object and overrides finalize to do simply super.finalize().

finalize() will be called by a Thread that has no locks on any Objects, and may be called concurrently. There are no guarantees on the order in which multiple objects are finalized. This means that finalize() is usually unsuited for performing actions that must be thread-safe, and that your implementation must be use defensive programming if it is to always work.

If an Exception is thrown from finalize() during garbage collection, it will be patently ignored and the Object will still be destroyed.

It is allowed, although not typical, for user code to call finalize() directly. User invocation does not affect whether automatic invocation will occur. It is also permitted, although not recommended, for a finalize() method to "revive" an object by making it reachable from normal code again.

Unlike constructors, finalize() does not get called for an object's superclass unless the implementation specifically calls super.finalize().

The default implementation does nothing.

Overrides:
finalize in interface Object

getErrorListener

public ErrorListener getErrorListener()
Returns the callback used to report errors during the transformation.
Overrides:
getErrorListener in interface Transformer

getOutputProperties

public Properties getOutputProperties()
Returns the static properties for the xsl:output instruction. Missing properties are defaulted according the XSLT Recommendation, section 16: getProperty(String) returns all properties including defaulted ones, and get(Object) returns only the properties explicitly set in the stylesheet.
Specified by:
getOutputProperties in interface Templates
Overrides:
getOutputProperties in interface Transformer

getOutputProperty

public String getOutputProperty(String name)
Returns the value of an output property for the transformation. Only explicit properties set programmatically or defined in the stylesheet, not defaulted properties, are returned by this method.
Overrides:
getOutputProperty in interface Transformer
Parameters:
name - the property name (an XML Name, or a namespace-prefixed XML Name of the form {namespaceURI}localName
Throws:
IllegalArgumentException - if the property is not supported

getParameter

public Object getParameter(String name)
Returns the specified parameter value.
Overrides:
getParameter in interface Transformer
Parameters:
name - the parameter name (an XML Name, or a namespace-prefixed XML Name of the form {namespaceURI}localName

getURIResolver

public URIResolver getURIResolver()
Returns the callback used to resolve entities referenced by xsl:include, xsl:import, or the XPath document() function.
Overrides:
getURIResolver in interface Transformer

newTransformer

public Transformer newTransformer()
Creates a new transformer based on this transformation.
Specified by:
newTransformer in interface Templates

setErrorListener

public void setErrorListener(ErrorListener listener)
Sets the callback used to report errors during the transformation.
Overrides:
setErrorListener in interface Transformer
Throws:
IllegalArgumentException - if the listener is null

setOutputProperties

public void setOutputProperties(Properties outputProperties)
Sets the output properties for the transformation, overriding any properties defined in the stylesheet. The format of property keys is as in the Transformer.setOutputProperty(String,String) method.
Overrides:
setOutputProperties in interface Transformer
Parameters:

setOutputProperty

public void setOutputProperty(String name,
                              String value)
Sets an output property for the transformation, overriding any property of the same name defined in the stylesheet.
Overrides:
setOutputProperty in interface Transformer
Parameters:
name - the property name (an XML Name, or a namespace-prefixed XML Name of the form {namespaceURI}localName
value - the string value of the property
Throws:
IllegalArgumentException - if the property is not supported

setParameter

public void setParameter(String parameter,
                         Object value)
Sets a parameter value for the transformation. Parameters may be referenced in the XSLT stylesheet.
Overrides:
setParameter in interface Transformer
Parameters:
value - the value to assign

setURIResolver

public void setURIResolver(URIResolver resolver)
Sets the callback used to resolve entities referenced by xsl:include, xsl:import, or the XPath document() function.
Overrides:
setURIResolver in interface Transformer

transform

public void transform(Source source,
                      Result result)
            throws TransformerException
Transforms the given source and writes the result to the given target.
Overrides:
transform in interface Transformer

GnomeTransformer.java - Copyright (C) 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.