code: public final String encode() {
          StringBuffer buffer = new StringBuffer();
          DefaultAlignment alignmentDefault = isHorizontal()
                  ? ColumnSpec.DEFAULT
                  : RowSpec.DEFAULT;
          if (!alignmentDefault.equals(defaultAlignment)) {
              buffer.append(defaultAlignment.abbreviation());
              buffer.append(":");
          }
          buffer.append(size.encode());
          if (resizeWeight == NO_GROW) {
              // Omit the resize part
          } else if (resizeWeight == DEFAULT_GROW) {
              buffer.append(':');
              buffer.append("g");
          } else {
              buffer.append(':');
              buffer.append("g(");
              buffer.append(resizeWeight);
              buffer.append(')');
          }
          return buffer.toString();
      }
docs: Returns a short and parseable string representation of this form specification. The string
  will omit the alignment and resize specifications if these are the default values.<p>
  
  @return a string representation of the form specification.
  
  @see #toShortString() for a more verbose string representation
  
  @since 1.2