KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > digester > ObjectCreationFactory


1 /* $Id: ObjectCreationFactory.java 155412 2005-02-26 12:58:36Z dirkv $
2  *
3  * Copyright 2001-2004 The Apache Software Foundation.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17
18 package org.apache.commons.digester;
19
20
21 import org.xml.sax.Attributes JavaDoc;
22
23 /**
24  * <p> Interface for use with {@link FactoryCreateRule}.
25  * The rule calls {@link #createObject} to create an object
26  * to be pushed onto the <code>Digester</code> stack
27  * whenever it is matched.</p>
28  *
29  * <p> {@link AbstractObjectCreationFactory} is an abstract
30  * implementation suitable for creating anonymous
31  * <code>ObjectCreationFactory</code> implementations.
32  */

33 public interface ObjectCreationFactory {
34
35     /**
36      * <p>Factory method called by {@link FactoryCreateRule} to supply an
37      * object based on the element's attributes.
38      *
39      * @param attributes the element's attributes
40      *
41      * @throws Exception any exception thrown will be propagated upwards
42      */

43     public Object JavaDoc createObject(Attributes JavaDoc attributes) throws Exception JavaDoc;
44
45     /**
46      * <p>Returns the {@link Digester} that was set by the
47      * {@link FactoryCreateRule} upon initialization.
48      */

49     public Digester getDigester();
50
51     /**
52      * <p>Set the {@link Digester} to allow the implementation to do logging,
53      * classloading based on the digester's classloader, etc.
54      *
55      * @param digester parent Digester object
56      */

57     public void setDigester(Digester digester);
58
59 }
60
Popular Tags