1:
37:
38: package ;
39:
40: import ;
41:
42: public class TabStop implements Serializable
43: {
44:
45: private static final long serialVersionUID = -5381995917363605058L;
46:
47: public static final int ALIGN_LEFT = 0;
48: public static final int ALIGN_RIGHT = 1;
49: public static final int ALIGN_CENTER = 2;
50: public static final int ALIGN_DECIMAL = 4;
51: public static final int ALIGN_BAR = 5;
52:
53: public static final int LEAD_NONE = 0;
54: public static final int LEAD_DOTS = 1;
55: public static final int LEAD_HYPHENS = 2;
56: public static final int LEAD_UNDERLINE = 3;
57: public static final int LEAD_THICKLINE = 4;
58: public static final int LEAD_EQUALS = 5;
59:
60: float pos;
61: int align;
62: int leader;
63:
64: public TabStop(float pos)
65: {
66: this(pos, ALIGN_LEFT, LEAD_NONE);
67: }
68:
69: public TabStop(float pos, int align, int leader)
70: {
71: this.pos = pos;
72: this.align = align;
73: this.leader = leader;
74: }
75:
76: public boolean equals(Object other)
77: {
78: return (other != null)
79: && (other instanceof TabStop)
80: && (((TabStop)other).getPosition() == this.getPosition())
81: && (((TabStop)other).getLeader() == this.getLeader())
82: && (((TabStop)other).getAlignment() == this.getAlignment());
83: }
84:
85: public int getAlignment()
86: {
87: return align;
88: }
89:
90: public int getLeader()
91: {
92: return leader;
93: }
94:
95: public float getPosition()
96: {
97: return pos;
98: }
99:
100: public int hashCode()
101: {
102: return (int) pos + (int) leader + (int) align;
103: }
104:
105: public String toString()
106: {
107: String prefix = "";
108: switch (align)
109: {
110: case ALIGN_LEFT:
111: prefix = "left ";
112: break;
113: case ALIGN_RIGHT:
114: prefix = "right ";
115: break;
116:
117: case ALIGN_CENTER:
118: prefix = "center ";
119: break;
120:
121: case ALIGN_DECIMAL:
122: prefix = "decimal ";
123: break;
124:
125: case ALIGN_BAR:
126: prefix = "bar ";
127: break;
128:
129: default:
130: break;
131: }
132:
133: return (prefix + "tab @" + pos + ((leader == LEAD_NONE) ? "" : "(w/leaders)"));
134: }
135:
136: }