1320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson/*
2320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * Licensed to the Apache Software Foundation (ASF) under one or more
3320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * contributor license agreements.  See the NOTICE file distributed with
4320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * this work for additional information regarding copyright ownership.
5320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * The ASF licenses this file to You under the Apache License, Version 2.0
6320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * (the "License"); you may not use this file except in compliance with
7320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * the License.  You may obtain a copy of the License at
8320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson *
9320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson *     http://www.apache.org/licenses/LICENSE-2.0
10320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson *
11320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * Unless required by applicable law or agreed to in writing, software
12320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * distributed under the License is distributed on an "AS IS" BASIS,
13320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * See the License for the specific language governing permissions and
15320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * limitations under the License.
16320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson */
17320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson
18320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson// $Id: TransformerHandler.java 446598 2006-09-15 12:55:40Z jeremias $
19320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson
20320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonpackage javax.xml.transform.sax;
21320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson
22320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonimport javax.xml.transform.Result;
23320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonimport javax.xml.transform.Transformer;
24320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonimport org.xml.sax.ContentHandler;
25320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonimport org.xml.sax.DTDHandler;
26320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonimport org.xml.sax.ext.LexicalHandler;
27320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson
28320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson/**
29320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * A TransformerHandler
30320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * listens for SAX ContentHandler parse events and transforms
31320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * them to a Result.
32320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson */
33320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonpublic interface TransformerHandler
34320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson    extends ContentHandler, LexicalHandler, DTDHandler {
35320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson
36320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson    /**
37320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * <p>Set  the <code>Result</code> associated with this
38320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * <code>TransformerHandler</code> to be used for the transformation.</p>
39320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     *
40320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * @param result A <code>Result</code> instance, should not be
41320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     *   <code>null</code>.
42320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     *
43320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * @throws IllegalArgumentException if result is invalid for some reason.
44320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     */
45320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson    public void setResult(Result result) throws IllegalArgumentException;
46320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson
47320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson    /**
48320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * Set the base ID (URI or system ID) from where relative
49320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * URLs will be resolved.
50320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * @param systemID Base URI for the source tree.
51320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     */
52320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson    public void setSystemId(String systemID);
53320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson
54320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson    /**
55320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * Get the base ID (URI or system ID) from where relative
56320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * URLs will be resolved.
57320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * @return The systemID that was set with {@link #setSystemId}.
58320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     */
59320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson    public String getSystemId();
60320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson
61320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson    /**
62320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * <p>Get the <code>Transformer</code> associated with this handler, which
63320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * is needed in order to set parameters and output properties.</p>
64f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     *
65320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * @return <code>Transformer</code> associated with this
66320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     *   <code>TransformerHandler</code>.
67320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     */
68320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson    public Transformer getTransformer();
69320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson}
70