private void setDelimiterProperties(Properties props, String prefix, DelimiterSet values) {
   putProperty(props, prefix + ".field", Integer.toString((int) values.getFieldsTerminatedBy()));
   putProperty(props, prefix + ".record", Integer.toString((int) values.getLinesTerminatedBy()));
   putProperty(props, prefix + ".enclose", Integer.toString((int) values.getEnclosedBy()));
   putProperty(props, prefix + ".escape", Integer.toString((int) values.getEscapedBy()));
   putProperty(props, prefix + ".enclose.required", Boolean.toString(values.isEncloseRequired()));
 }
 /**
  * @return the character that may enclose fields when parsing lines. Defaults to the
  *     enclosing-char to use when printing lines.
  */
 public char getInputEnclosedBy() {
   char c = inputDelimiters.getEnclosedBy();
   if (c == DelimiterSet.NULL_CHAR) {
     return this.outputDelimiters.getEnclosedBy();
   } else {
     return c;
   }
 }
  private DelimiterSet getDelimiterProperties(
      Properties props, String prefix, DelimiterSet defaults) {

    if (null == defaults) {
      defaults = new DelimiterSet();
    }

    char field = getCharProperty(props, prefix + ".field", defaults.getFieldsTerminatedBy());
    char record = getCharProperty(props, prefix + ".record", defaults.getLinesTerminatedBy());
    char enclose = getCharProperty(props, prefix + ".enclose", defaults.getEnclosedBy());
    char escape = getCharProperty(props, prefix + ".escape", defaults.getEscapedBy());
    boolean required =
        getBooleanProperty(props, prefix + ".enclose.required", defaults.isEncloseRequired());

    return new DelimiterSet(field, record, enclose, escape, required);
  }