KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > velocity > util > introspection > Uberspect


1 package org.apache.velocity.util.introspection;
2
3 /*
4  * Copyright 2002,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 org.apache.velocity.runtime.RuntimeLogger;
20
21 import java.util.Iterator JavaDoc;
22 import java.lang.reflect.Method JavaDoc;
23
24 /**
25  * 'Federated' introspection/reflection interface to allow the introspection
26  * behavior in Velocity to be customized.
27  *
28  * @author <a HREF="mailto:geirm@apache.org">Geir Magusson Jr.</a>
29  * @version $Id: Uberspect.java,v 1.1.4.1 2004/03/03 23:23:08 geirm Exp $
30  */

31 public interface Uberspect
32 {
33     /**
34      * Initializer - will be called before use
35      */

36     public void init() throws Exception JavaDoc;
37
38     /**
39      * To support iteratives - #foreach()
40      */

41     public Iterator JavaDoc getIterator(Object JavaDoc obj, Info info) throws Exception JavaDoc;
42
43     /**
44      * Returns a general method, corresponding to $foo.bar( $woogie )
45      */

46     public VelMethod getMethod(Object JavaDoc obj, String JavaDoc method, Object JavaDoc[] args, Info info) throws Exception JavaDoc;
47
48     /**
49      * Property getter - returns VelPropertyGet appropos for #set($foo = $bar.woogie)
50      */

51     public VelPropertyGet getPropertyGet(Object JavaDoc obj, String JavaDoc identifier, Info info) throws Exception JavaDoc;
52
53     /**
54      * Property setter - returns VelPropertySet appropos for #set($foo.bar = "geir")
55      */

56     public VelPropertySet getPropertySet(Object JavaDoc obj, String JavaDoc identifier, Object JavaDoc arg, Info info) throws Exception JavaDoc;
57 }
58
Popular Tags