01: package Schmortopf.JavaSourceEditor.SymbolUsageLocationSearch;
02:
03: /**
04: * Holds the string of a reference and the linenumber in the sourcefile,
05: * defined by the toplevel fsd classDescription.
06: */
07:
08: import Schmortopf.FileStructure.Descriptions.FileStructureDescription;
09:
10: public class FieldReferenceEntry {
11:
12: private FileStructureDescription classDescription;
13: private String fieldName;
14: private int startLine = -1; // Important -> -1 means, not valid, and because this
15: private int startColumn = -1; // often is used for editor linenumbers, it's unique,
16: private int endLine = -1; // because these numbers are always positive, once set.
17: private int endColumn = -1;
18:
19: public FieldReferenceEntry(
20: final FileStructureDescription theClassDescription,
21: final String theFieldName, final int theStartLine,
22: final int theStartColumn, final int theEndLine,
23: final int theEndColumn) {
24: this .classDescription = theClassDescription;
25: this .fieldName = theFieldName;
26: this .startLine = theStartLine;
27: this .startColumn = theStartColumn;
28: this .endLine = theEndLine;
29: this .endColumn = theEndColumn;
30: } // Constructor
31:
32: public FileStructureDescription getClassDescription() {
33: return this .classDescription;
34: }
35:
36: public String getFieldName() {
37: return this .fieldName;
38: }
39:
40: public int getStartLine() {
41: return this .startLine;
42: }
43:
44: public int getStartColumn() {
45: return this .startColumn;
46: }
47:
48: public int getEndLine() {
49: return this .endLine;
50: }
51:
52: public int getEndColumn() {
53: return this .endColumn;
54: }
55:
56: public boolean equals(final FieldReferenceEntry otherEntry) {
57: // Use reference comparison for the fsd's
58: return (otherEntry.getClassDescription().equals(
59: this .getClassDescription())
60: && otherEntry.getFieldName().equals(this .fieldName)
61: && otherEntry.getStartLine() == this .startLine
62: && otherEntry.getStartColumn() == this .startColumn
63: && otherEntry.getEndLine() == this .endLine && otherEntry
64: .getEndColumn() == this .endColumn);
65: }
66:
67: public String toString() {
68: StringBuffer buffer = new StringBuffer();
69: buffer.append("Fsd ");
70: buffer
71: .append(this .classDescription.fullyQualifiedClassNameBuffer);
72: buffer.append(" field name ");
73: buffer.append(this .fieldName);
74: buffer.append(" startline ");
75: buffer.append(this .startLine);
76: buffer.append(" startcolumn ");
77: buffer.append(this .startColumn);
78: buffer.append(" endline ");
79: buffer.append(this .endLine);
80: buffer.append(" endcolumn ");
81: buffer.append(this .endColumn);
82: return buffer.toString();
83: }
84:
85: } // FieldReferenceEntry
|