01: //Copyright (c) Janna Khegai 2004, Hans-Joachim Daniels 2005
02: //
03: //This program is free software; you can redistribute it and/or modify
04: //it under the terms of the GNU General Public License as published by
05: //the Free Software Foundation; either version 2 of the License, or
06: //(at your option) any later version.
07: //
08: //This program is distributed in the hope that it will be useful,
09: //but WITHOUT ANY WARRANTY; without even the implied warranty of
10: //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11: //GNU General Public License for more details.
12: //
13: //You can either finde the file LICENSE or LICENSE.TXT in the source
14: //distribution or in the .jar file of this application
15:
16: package de.uka.ilkd.key.ocl.gf;
17:
18: /**
19: * Stores quasi a piece of the linearization area, that has a word, a beginning
20: * and an end in the linearization area and a position in the AST. It is used
21: * for clicking in the text
22: *
23: * @author janna, daniels
24: */
25: class MarkedArea {
26: /**
27: * The starting position of the stored words
28: */
29: final public int begin;
30: /**
31: * The ending position of the stored words.
32: * Not final because of some punctuation issue daniels
33: * does not understand
34: */
35: public int end;
36: /**
37: * The position in the AST
38: */
39: final public LinPosition position;
40: /**
41: * The actual text of this area
42: */
43: final public String words;
44: /**
45: * the concrete grammar (or better, its linearization)
46: * this MarkedArea belongs to
47: */
48: final public String language;
49:
50: /**
51: * the start index in the HTML area
52: */
53: final public int htmlBegin;
54: /**
55: * the end index in the HTML area
56: */
57: final public int htmlEnd;
58:
59: /**
60: * A stand-alone constuctor which takes all values as arguments
61: * @param begin The starting position of the stored words
62: * @param end The ending position of the stored words
63: * @param position The position in the AST
64: * @param words The actual text of this area
65: * @param htmlBegin the start index in the HTML area
66: * @param htmlEnd the end index in the HTML area
67: * @param language the language of the current linearization
68: */
69: public MarkedArea(int begin, int end, LinPosition position,
70: String words, int htmlBegin, int htmlEnd, String language) {
71: this .begin = begin;
72: this .end = end;
73: this .position = position;
74: this .words = words;
75: this .language = language;
76: this .htmlBegin = htmlBegin;
77: this .htmlEnd = htmlEnd;
78: }
79:
80: public String toString() {
81: return begin + " - " + end + " : " + position + " = '" + words
82: + "' ; HTML: " + htmlBegin + " - " + htmlEnd;
83: }
84: }
|