KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > icl > saxon > Binding


1 package com.icl.saxon;
2 import com.icl.saxon.expr.Value;
3
4 /**
5 * Binding is a interface used to mark objects that represent a variable declaration
6 *
7 */

8
9 public interface Binding {
10
11     /**
12     * Determine whether this variable is global
13     */

14
15     public boolean isGlobal();
16
17     /**
18     * Get the name of the variable, to use in diagnostics
19     */

20     
21     public String JavaDoc getVariableName();
22  
23     /**
24     * Establish the fingerprint of the name of this variable.
25     */

26
27     public int getVariableFingerprint();
28
29     /**
30     * Determine a slot number for the variable.
31     */

32
33     public int getSlotNumber();
34
35     /**
36     * Get the data type, if known statically. This will be a value such as Value.BOOLEAN,
37     * Value.STRING. If the data type is not known statically, return Value.ANY.
38     */

39
40     public int getDataType();
41
42     /**
43     * Get the value of the variable, if known statically. If the value is not known statically,
44     * return null.
45     */

46
47     public Value constantValue();
48
49     /**
50     * Determine whether the variable is assignable using saxon:assign
51     */

52
53     public boolean isAssignable();
54     
55 }
56
57 //
58
// The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License");
59
// you may not use this file except in compliance with the License. You may obtain a copy of the
60
// License at http://www.mozilla.org/MPL/
61
//
62
// Software distributed under the License is distributed on an "AS IS" basis,
63
// WITHOUT WARRANTY OF ANY KIND, either express or implied.
64
// See the License for the specific language governing rights and limitations under the License.
65
//
66
// The Original Code is: all this file.
67
//
68
// The Initial Developer of the Original Code is
69
// Michael Kay of International Computers Limited (mhkay@iclway.co.uk).
70
//
71
// Portions created by (your name) are Copyright (C) (your legal entity). All Rights Reserved.
72
//
73
// Contributor(s): none.
74
//
75
Popular Tags