@Override
 protected void extractValidationRules(Element validationElement) {
   super.extractValidationRules(validationElement);
   String maxLength = this.extractValue(validationElement, "maxlength");
   if (null != maxLength) {
     this.setMaxLength(Integer.parseInt(maxLength));
   }
   String minLength = this.extractValue(validationElement, "minlength");
   if (null != minLength) {
     this.setMinLength(Integer.parseInt(minLength));
   }
   String regexp = this.extractValue(validationElement, "regexp");
   if (null != regexp && regexp.trim().length() > 0) {
     this.setRegexp(regexp);
   }
   Element valueElement = validationElement.getChild("value");
   if (null != valueElement) {
     this.setValue(valueElement.getText());
     this.setValueAttribute(valueElement.getAttributeValue("attribute"));
   }
   Element rangeStartElement = validationElement.getChild("rangestart");
   if (null != rangeStartElement) {
     this.setRangeStart(rangeStartElement.getText());
     this.setRangeStartAttribute(rangeStartElement.getAttributeValue("attribute"));
   }
   Element rangeEndElement = validationElement.getChild("rangeend");
   if (null != rangeEndElement) {
     this.setRangeEnd(rangeEndElement.getText());
     this.setRangeEndAttribute(rangeEndElement.getAttributeValue("attribute"));
   }
 }
 @Override
 protected void fillJDOMConfigElement(Element configElement) {
   super.fillJDOMConfigElement(configElement);
   if (this.getMinLength() > -1) {
     Element element = new Element("minlength");
     element.setText(String.valueOf(this.getMinLength()));
     configElement.addContent(element);
   }
   if (this.getMaxLength() > -1) {
     Element element = new Element("maxlength");
     element.setText(String.valueOf(this.getMaxLength()));
     configElement.addContent(element);
   }
   if (null != this.getRegexp() && this.getRegexp().trim().length() > 0) {
     Element regexpElem = new Element("regexp");
     CDATA cdata = new CDATA(this.getRegexp());
     regexpElem.addContent(cdata);
     configElement.addContent(regexpElem);
   }
   String toStringEqualValue = (this.getValue() != null) ? String.valueOf(this.getValue()) : null;
   this.insertJDOMConfigElement(
       "value", this.getValueAttribute(), toStringEqualValue, configElement);
   String toStringStartValue =
       (this.getRangeStart() != null) ? String.valueOf(this.getRangeStart()) : null;
   this.insertJDOMConfigElement(
       "rangestart", this.getRangeStartAttribute(), toStringStartValue, configElement);
   String toStringEndValue =
       (this.getRangeEnd() != null) ? String.valueOf(this.getRangeEnd()) : null;
   this.insertJDOMConfigElement(
       "rangeend", this.getRangeEndAttribute(), toStringEndValue, configElement);
 }
 protected void fillJDOMConfigElement(Element configElement) {
   super.fillJDOMConfigElement(configElement);
   String toStringEqualValue = this.toStringValue(this.getValue());
   this.insertJDOMConfigElement(
       "value", this.getValueAttribute(), toStringEqualValue, configElement);
   String toStringStartValue = this.toStringValue(this.getRangeStart());
   this.insertJDOMConfigElement(
       "rangestart", this.getRangeStartAttribute(), toStringStartValue, configElement);
   String toStringEndValue = this.toStringValue(this.getRangeEnd());
   this.insertJDOMConfigElement(
       "rangeend", this.getRangeEndAttribute(), toStringEndValue, configElement);
 }
  @Override
  protected void fillJDOMConfigElement(Element configElement) {
    super.fillJDOMConfigElement(configElement);
    String toStringEqualValue = (this.getValue() != null) ? String.valueOf(this.getValue()) : null;
    this.insertJDOMConfigElement(
        "value", this.getValueAttribute(), toStringEqualValue, configElement);

    String toStringStartValue =
        (this.getRangeStart() != null) ? String.valueOf(this.getRangeStart()) : null;
    this.insertJDOMConfigElement(
        "rangestart", this.getRangeStartAttribute(), toStringStartValue, configElement);

    String toStringEndValue =
        (this.getRangeEnd() != null) ? String.valueOf(this.getRangeEnd()) : null;
    this.insertJDOMConfigElement(
        "rangeend", this.getRangeEndAttribute(), toStringEndValue, configElement);
  }
 protected void extractValidationRules(Element validationElement) {
   super.extractValidationRules(validationElement);
   Element valueElement = validationElement.getChild("value");
   if (null != valueElement) {
     this.setValue(DateConverter.parseDate(valueElement.getText(), DATE_PATTERN));
     this.setValueAttribute(valueElement.getAttributeValue("attribute"));
   }
   Element rangeStartElement = validationElement.getChild("rangestart");
   if (null != rangeStartElement) {
     this.setRangeStart(DateConverter.parseDate(rangeStartElement.getText(), DATE_PATTERN));
     this.setRangeStartAttribute(rangeStartElement.getAttributeValue("attribute"));
   }
   Element rangeEndElement = validationElement.getChild("rangeend");
   if (null != rangeEndElement) {
     this.setRangeEnd(DateConverter.parseDate(rangeEndElement.getText(), DATE_PATTERN));
     this.setRangeEndAttribute(rangeEndElement.getAttributeValue("attribute"));
   }
 }
 @Override
 protected void extractValidationRules(Element validationElement) {
   super.extractValidationRules(validationElement);
   Element valueElement = validationElement.getChild("value");
   if (null != valueElement) {
     this.setValue(this.getIntegerValue(valueElement.getText()));
     this.setValueAttribute(valueElement.getAttributeValue("attribute"));
   }
   Element rangeStartElement = validationElement.getChild("rangestart");
   if (null != rangeStartElement) {
     this.setRangeStart(this.getIntegerValue(rangeStartElement.getText()));
     this.setRangeStartAttribute(rangeStartElement.getAttributeValue("attribute"));
   }
   Element rangeEndElement = validationElement.getChild("rangeend");
   if (null != rangeEndElement) {
     this.setRangeEnd(this.getIntegerValue(rangeEndElement.getText()));
     this.setRangeEndAttribute(rangeEndElement.getAttributeValue("attribute"));
   }
 }