KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > el > lang > FunctionMapperFactory


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the "License"). You may not use this file except
5  * in compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * glassfish/bootstrap/legal/CDDLv1.0.txt or
9  * https://glassfish.dev.java.net/public/CDDLv1.0.html.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * HEADER in each file and include the License file at
15  * glassfish/bootstrap/legal/CDDLv1.0.txt. If applicable,
16  * add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your
18  * own identifying information: Portions Copyright [yyyy]
19  * [name of copyright owner]
20  *
21  * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
22  *
23  * Portions Copyright Apache Software Foundation.
24  */

25 package com.sun.el.lang;
26
27 import java.lang.reflect.Method JavaDoc;
28
29 import javax.el.FunctionMapper;
30
31 /**
32  * @author Jacob Hookom [jacob@hookom.net]
33  * @version $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author: kchung $
34  */

35 public class FunctionMapperFactory extends FunctionMapper {
36
37     protected FunctionMapperImpl memento = null;
38     protected FunctionMapper target;
39     
40     public FunctionMapperFactory(FunctionMapper mapper) {
41         if (mapper == null) {
42             throw new NullPointerException JavaDoc("FunctionMapper target cannot be null");
43         }
44         this.target = mapper;
45     }
46    
47     
48     /* (non-Javadoc)
49      * @see javax.el.FunctionMapper#resolveFunction(java.lang.String, java.lang.String)
50      */

51     public Method JavaDoc resolveFunction(String JavaDoc prefix, String JavaDoc localName) {
52         if (this.memento == null) {
53             this.memento = new FunctionMapperImpl();
54         }
55         Method JavaDoc m = this.target.resolveFunction(prefix, localName);
56         if (m != null) {
57             this.memento.addFunction(prefix, localName, m);
58         }
59         return m;
60     }
61     
62     public FunctionMapper create() {
63         return this.memento;
64     }
65
66 }
67
Popular Tags