01: /*
02: * @(#)PnutsImplAdapter.java 1.2 04/12/06
03: *
04: * Copyright (c) 1997-2004 Sun Microsystems, Inc. All Rights Reserved.
05: *
06: * See the file "LICENSE.txt" for information on usage and redistribution
07: * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
08: */
09: package pnuts.ext;
10:
11: import java.io.FileNotFoundException;
12: import java.net.URL;
13:
14: import pnuts.lang.Context;
15: import pnuts.lang.PnutsImpl;
16: import pnuts.lang.SimpleNode;
17:
18: /**
19: * This class is used to customize an existing PnutsImpl.
20: *
21: * @deprecated replaced by ImplementationAdapter
22: */
23: public class PnutsImplAdapter extends PnutsImpl {
24:
25: private PnutsImpl impl;
26:
27: public PnutsImplAdapter(PnutsImpl impl) {
28: this .impl = impl;
29: }
30:
31: /**
32: * Returns the base PnutsImpl which was passed to the constructor
33: *
34: * @return the base PnutsImpl object.
35: */
36: public PnutsImpl getBaseImpl() {
37: return impl;
38: }
39:
40: /**
41: * Evaluate an expreesion
42: *
43: * @param str
44: * the expression to be evaluated
45: * @param context
46: * the context in which the expression is evaluated
47: * @return the result of the evaluation
48: */
49: public Object eval(String str, Context context) {
50: return impl.eval(str, context);
51: }
52:
53: /**
54: * Load a script file from local file system
55: *
56: * @param filename
57: * the file name of the script
58: * @param context
59: * the context in which the expression is evaluated
60: * @return the result of the evaluation
61: */
62: public Object loadFile(String filename, Context context)
63: throws FileNotFoundException {
64: return impl.loadFile(filename, context);
65: }
66:
67: /**
68: * Load a script file using classloader
69: *
70: * @param file
71: * the name of the script
72: * @param context
73: * the context in which the script is executed
74: * @return the result of the evaluation
75: */
76: public Object load(String file, Context context)
77: throws FileNotFoundException {
78: return impl.load(file, context);
79: }
80:
81: /**
82: * Load a script file from a URL
83: *
84: * @param scriptURL
85: * the URL of the script
86: * @param context
87: * the context in which the script is executed
88: * @return the result of the evaluation
89: */
90: public Object load(URL scriptURL, Context context) {
91: return impl.load(scriptURL, context);
92: }
93:
94: public Object accept(SimpleNode node, Context context) {
95: return impl.accept(node, context);
96: }
97: }
|