OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [classpath/] [gnu/] [java/] [beans/] [decoder/] [Context.java] - Blame information for rev 769

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 769 jeremybenn
/* gnu.java.beans.decoder.Context
2
   Copyright (C) 2004 Free Software Foundation, Inc.
3
 
4
This file is part of GNU Classpath.
5
 
6
GNU Classpath is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2, or (at your option)
9
any later version.
10
 
11
GNU Classpath is distributed in the hope that it will be useful, but
12
WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
General Public License for more details.
15
 
16
You should have received a copy of the GNU General Public License
17
along with GNU Classpath; see the file COPYING.  If not, write to the
18
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19
02110-1301 USA.
20
 
21
Linking this library statically or dynamically with other modules is
22
making a combined work based on this library.  Thus, the terms and
23
conditions of the GNU General Public License cover the whole
24
combination.
25
 
26
As a special exception, the copyright holders of this library give you
27
permission to link this library with independent modules to produce an
28
executable, regardless of the license terms of these independent
29
modules, and to copy and distribute the resulting executable under
30
terms of your choice, provided that you also meet, for each linked
31
independent module, the terms and conditions of the license of that
32
module.  An independent module is a module which is not derived from
33
or based on this library.  If you modify this library, you may extend
34
this exception to your version of the library, but you are not
35
obligated to do so.  If you do not wish to do so, delete this
36
exception statement from your version. */
37
 
38
package gnu.java.beans.decoder;
39
 
40
/** A Context is the environment for an object which is being assembler. If there
41
 * are no errors each handler creates one Context.
42
 * <p>Depending on the result of isStatement() a Context can be statement or an
43
 * expression. An expression returns a value to the Context of its parent handler,
44
 * a statement does not. Whenever a Context is a statement the parent handler's
45
 * Context is informed about that through the {@link notifyStatement}-method.</p>
46
 *
47
 * @author Robert Schuster
48
 */
49
interface Context
50
{
51
  /** Adds a parameter object to the context. This method is used when
52
   * sub-Contexts return their result.
53
   *
54
   * Some Contexts do not accept more than a certain amount of objects
55
   * and throw an AssemblerException if the amount is exceeded.
56
   *
57
   * @param o The object added to this context.
58
   */
59
  void addParameterObject(Object o) throws AssemblyException;
60
 
61
  /** Notifies that the next element is a statement. This can mean
62
   * that an argument list is complete to be called.
63
   *
64
   */
65
  void notifyStatement(Context outerContext) throws AssemblyException;
66
 
67
  /** Notifies that the context ends and the returns the appropriate result
68
   * object.
69
   *
70
   * @param outerContext
71
   * @return
72
   */
73
  Object endContext(Context outerContext) throws AssemblyException;
74
 
75
  /** Notifies that the assembly of a subcontext failed and returns
76
   * whether this Context is affected in a way that it fails too.
77
   *
78
   * @return Whether the failure of a subcontext lets this context fail, too.
79
   */
80
  boolean subContextFailed();
81
 
82
  /** Calls an appropriate indexed set method if it is available or
83
   * throws an AssemblerException if that is not allowed on this Context.
84
   *
85
   * The behaviour of this method is equal to List.set(int, Object).
86
   *
87
   * @param index Index position to be set.
88
   * @param o Object to be set at the given index position.
89
   * @throws AssemblerException Indexed set is not allowed or otherwise failed.
90
   */
91
  void set(int index, Object o) throws AssemblyException;
92
 
93
  /** Calls an appropriate indexed get method if it is available or
94
   * throws an AssemblerException if that is not allowed on this Context.
95
   *
96
   * The behaviour of this method is equal to List.get(int).
97
   *
98
   * @param index Index position of the object return.
99
   * @throws AssemblerException Indexed get is not allowed or otherwise failed.
100
   */
101
  Object get(int index) throws AssemblyException;
102
 
103
  /** Returns the result which was calculated by calling endContext() or reportStatement().
104
   * Its the handler's responsibility to care that any of these two methods was called.
105
   *
106
   * This is used by sub-Contexts to access this Context's result.
107
   *
108
   * @return
109
   */
110
  Object getResult();
111
 
112
  /** Gives this Context a unique id. For convenience the id may be null which means
113
   * that no id exists at all.
114
   *
115
   * @param id
116
   */
117
  void setId(String id);
118
 
119
  /** Returns this Context's unique id or null if does not have such an id.
120
   *
121
   * @return This Context's id or null.
122
   */
123
  String getId();
124
 
125
  /** Returns whether this Context is a statement (not returning result back
126
   * to parent handler's Context) or not (= expression).
127
   *
128
   * @return
129
   */
130
  boolean isStatement();
131
 
132
  /** Sets whether this Context is a statement or not.
133
   *
134
   * @param b
135
   */
136
  void setStatement(boolean b);
137
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.