KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > turbine > services > intake > IntakeService


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

18
19 import java.beans.IntrospectionException JavaDoc;
20
21 import java.lang.reflect.Method JavaDoc;
22
23 import org.apache.turbine.services.intake.model.Group;
24
25 /**
26  * This service provides access to input processing objects based
27  * on an XML specification.
28  *
29  * <p>Localization of Intake's error messages can be accomplished
30  * using Turbine's <code>LocalizationTool</code> from a Velocity template
31  * as follows:
32  * <blockquote><code></pre>
33  * $l10n.get($intake.SomeGroup.SomeField.Message)
34  * </pre></code></blockquote>
35  * </p>
36  *
37  * @author <a HREF="mailto:jmcnally@collab.net">John McNally</a>
38  * @author <a HREF="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a>
39  * @author <a HREF="mailto:quintonm@bellsouth.net">Quinton McCombs</a>
40  * @version $Id: IntakeService.java,v 1.8.2.2 2004/05/20 03:16:39 seade Exp $
41  */

42 public interface IntakeService
43 {
44     /**
45      * The key under which this service is stored in TurbineServices.
46      */

47     String JavaDoc SERVICE_NAME = "IntakeService";
48
49     /**
50      * The property specifying the location of the xml specification.
51      */

52     String JavaDoc XML_PATH = "xml.path";
53
54     /**
55      * The default location of the xml specification.
56      */

57     String JavaDoc XML_PATH_DEFAULT = "WEB-INF/conf/intake.xml";
58
59     /**
60      * The property specifying the location where a serialized version of
61      * the xml specification can be written for faster restarts..
62      */

63     String JavaDoc SERIAL_XML = "serialize.path";
64
65     /**
66      * The default location where a serialized version of
67      * the xml specification can be written for faster restarts..
68      */

69     String JavaDoc SERIAL_XML_DEFAULT = "WEB-INF/appData.ser";
70
71     /**
72      * The default pool capacity.
73      */

74     int DEFAULT_POOL_CAPACITY = 1024;
75
76     /**
77      * Gets an instance of a named group either from the pool
78      * or by calling the Factory Service if the pool is empty.
79      *
80      * @param groupName the name of the group.
81      * @return a Group instance.
82      * @throws IntakeException if recycling fails.
83      */

84     Group getGroup(String JavaDoc groupName)
85             throws IntakeException;
86
87     /**
88      * Puts a group back to the pool.
89      * @param instance the object instance to recycle.
90      *
91      * @throws IntakeException The passed group name does not exist.
92      */

93     void releaseGroup(Group instance)
94             throws IntakeException;
95
96     /**
97      * Gets the current size of the pool for a named group.
98      *
99      * @param groupName the name of the group.
100      *
101      * @throws IntakeException The passed group name does not exist.
102      */

103     int getSize(String JavaDoc groupName)
104             throws IntakeException;
105
106     /**
107      * Names of all the defined groups.
108      *
109      * @return array of names.
110      */

111     String JavaDoc[] getGroupNames();
112
113     /**
114      * Gets the key (usually a short identifier) for a group.
115      *
116      * @param groupName the name of the group.
117      * @return the key.
118      */

119     String JavaDoc getGroupKey(String JavaDoc groupName);
120
121     /**
122      * Gets the group name given its key.
123      *
124      * @param groupKey the key.
125      * @return groupName the name of the group.
126      */

127     String JavaDoc getGroupName(String JavaDoc groupKey);
128
129     /**
130      * Gets the Method that can be used to set a property.
131      *
132      * @param className the name of the object.
133      * @param propName the name of the property.
134      * @return the setter.
135      * @throws ClassNotFoundException
136      * @throws IntrospectionException
137      */

138     Method JavaDoc getFieldSetter(String JavaDoc className, String JavaDoc propName)
139             throws ClassNotFoundException JavaDoc, IntrospectionException JavaDoc;
140
141     /**
142      * Gets the Method that can be used to get a property value.
143      *
144      * @param className the name of the object.
145      * @param propName the name of the property.
146      * @return the getter.
147      * @throws ClassNotFoundException
148      * @throws IntrospectionException
149      */

150     Method JavaDoc getFieldGetter(String JavaDoc className, String JavaDoc propName)
151             throws ClassNotFoundException JavaDoc, IntrospectionException JavaDoc;
152 }
153
154
155
156
157
158
Popular Tags