001: /*
002: * Author: Chris Seguin
003: *
004: * This software has been developed under the copyleft
005: * rules of the GNU General Public License. Please
006: * consult the GNU General Public License for more
007: * details about use and distribution of this software.
008: */
009: package org.acm.seguin.pretty;
010:
011: /**
012: * Stores the size of a field
013: *
014: *@author Chris Seguin
015: */
016: public class FieldSize {
017: private int modifierLength = 0;
018: private int typeLength = 0;
019: private int nameLength = 0;
020: private int equalsLength = 0;
021:
022: /**
023: * Constructor for the FieldSize object
024: */
025: public FieldSize() {
026: }
027:
028: /**
029: * Sets the ModifierLength attribute of the FieldSizeFieldSize object
030: *
031: *@param value The new ModifierLength value
032: */
033: public void setModifierLength(int value) {
034: if (value > modifierLength) {
035: modifierLength = value;
036: }
037: }
038:
039: /**
040: * Sets the TypeLength attribute of the FieldSizeFieldSize object
041: *
042: *@param value The new TypeLength value
043: */
044: public void setTypeLength(int value) {
045: if (value > typeLength) {
046: typeLength = value;
047: }
048: }
049:
050: /**
051: * Sets the NameLength attribute of the FieldSizeFieldSize object
052: *
053: *@param value The new NameLength value
054: */
055: public void setNameLength(int value) {
056: if (value > nameLength) {
057: nameLength = value;
058: }
059: }
060:
061: /**
062: * Sets the MinimumEquals attribute of the FieldSize object
063: *
064: *@param value The new MinimumEquals value
065: */
066: public void setMinimumEquals(int value) {
067: if (value > equalsLength) {
068: equalsLength = value;
069: }
070: }
071:
072: /**
073: * Gets the ModifierLength attribute of the FieldSizeFieldSize object
074: *
075: *@return The ModifierLength value
076: */
077: public int getModifierLength() {
078: return modifierLength;
079: }
080:
081: /**
082: * Gets the TypeLength attribute of the FieldSizeFieldSize object
083: *
084: *@return The TypeLength value
085: */
086: public int getTypeLength() {
087: return typeLength;
088: }
089:
090: /**
091: * Gets the NameLength attribute of the FieldSizeFieldSize object
092: *
093: *@return The NameLength value
094: */
095: public int getNameLength() {
096: return nameLength;
097: }
098:
099: /**
100: * Gets the EqualsLength attribute of the FieldSize object
101: *
102: *@return The EqualsLength value
103: */
104: public int getEqualsLength() {
105: return equalsLength;
106: }
107:
108: /**
109: * Adds the amount of space that is necessary for the pretty printer to add
110: * extra spaces for each of the values in a field or local variable
111: * declaration.
112: *
113: *@param value The amount of space to add
114: */
115: public void update(int value) {
116: if (modifierLength != 0) {
117: modifierLength += value;
118: }
119:
120: typeLength += value;
121: nameLength += value;
122: equalsLength += value;
123: }
124:
125: /**
126: * Converts this object into a string
127: *
128: *@return a string
129: */
130: public String toString() {
131: return "Modifier: " + modifierLength + " Type: "
132: + typeLength + " Name: " + nameLength;
133: }
134: }
|