KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > saxon > expr > Binding


1 package net.sf.saxon.expr;
2 import net.sf.saxon.om.ValueRepresentation;
3 import net.sf.saxon.trans.XPathException;
4
5 /**
6 * Binding is a interface used to represent the run-time properties and methods
7 * associated with a variable: specifically, a method to get the value
8 * of the variable.
9 */

10
11 public interface Binding {
12
13     /**
14     * Evaluate the variable
15     */

16
17     public ValueRepresentation evaluateVariable(XPathContext context) throws XPathException;
18
19     /**
20      * Indicate whether the binding is local or global. A global binding is one that has a fixed
21      * value for the life of a query or transformation; any other binding is local.
22      */

23
24     public boolean isGlobal();
25
26     /**
27     * Test whether it is permitted to assign to the variable using the saxon:assign
28     * extension element. This will only be for an XSLT global variable where the extra
29     * attribute saxon:assignable="yes" is present.
30     */

31
32     public boolean isAssignable();
33
34     /**
35      * If this is a local variable held on the local stack frame, return the corresponding slot number.
36      * In other cases, return -1.
37      */

38
39     public int getLocalSlotNumber();
40
41 }
42
43 //
44
// The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License");
45
// you may not use this file except in compliance with the License. You may obtain a copy of the
46
// License at http://www.mozilla.org/MPL/
47
//
48
// Software distributed under the License is distributed on an "AS IS" basis,
49
// WITHOUT WARRANTY OF ANY KIND, either express or implied.
50
// See the License for the specific language governing rights and limitations under the License.
51
//
52
// The Original Code is: all this file.
53
//
54
// The Initial Developer of the Original Code is Michael H. Kay.
55
//
56
// Portions created by (your name) are Copyright (C) (your legal entity). All Rights Reserved.
57
//
58
// Contributor(s): none.
59
//
60
Popular Tags