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