Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2004-2005 Revolution Systems Inc.
   * 
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *      http://www.apache.org/licenses/LICENSE-2.0
   * 
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package com.revolsys.ui.html.fields;
 
 import java.util.List;
 
 
 

Author(s):
Paul Austin
Version:
1.0
 
 
 public class RegionField extends Field {
 
   private static final Logger log = Logger.getLogger(RegionField.class);
 
   private String stringValue;
 
   private List<Regionregions = new ArrayList<Region>();
 
   private String countryCode;

  

Parameters:
name
required
 
   public RegionField(
     final String name,
     final boolean required) {
     super(namerequired);
   }
 
   public void serializeElement(
     final XmlWriter out) {
     if (.size() > 0) {
       serializeSelectField(out);
     } else {
       serializeTextField(out);
     }
   }

  

Parameters:
out
Throws:
java.io.IOException
 
   private void serializeSelectField(
     final XmlWriter out)
     {
     out.startTag(.);
     out.attribute(.getName());
     serializeOptions(out);
     out.endTag(.);
   }
 
   private void serializeTextField(
     final XmlWriter out)
     {
     out.startTag(.);
     out.attribute(.getName());
     out.attribute(."text");
     out.attribute(."30");
     out.attribute(."30");
     if ( != null) {
     }
     out.endTag(.);
   }
 
   private void serializeOptions(
     final XmlWriter out)
     {
     for (Region region : ) {
       out.startTag(.);
       if (region.getName().equals()) {
        out.attribute(."true");
      }
      out.text(region.getName());
      out.endTag(.);
    }
  }
  public void initialize(
    final Form form,
    final HttpServletRequest request) {
     = request.getParameter(getName());
  }
  /*
   * (non-Javadoc)
   * @see com.revolsys.ui.html.form.Field#postInit()
   */
  public void postInit(
    HttpServletRequest request) {
    CountryField countryField = (CountryField)getForm().getField("country");
     = countryField.getCountryCode();
    if ( != null) {
       = Region.getRegions();
    }
    if ( == null) {
      setValue(getInitialValue(request));
    }
  }
  public void setValue(
    final Object value) {
    super.setValue(value);
     = null;
    if (.size() > 0) {
      if (value != null) {
        Region region = Region.getRegionByName(, (String)value);
        if (region != null) {
           = region.getName();
        }
      }
    }
  }
  public boolean hasValue() {
    return  != null && !.equals("");
  }
  public boolean isValid() {
    boolean valid = true;
    if (!super.isValid()) {
      valid = false;
    } else if (hasValue()) {
      if (.size() > 0) {
        Region region = Region.getRegionByName();
        if (region == null) {
          addValidationError("Invalid Value");
          valid = false;
        } else {
          setValue(region.getName());
        }
      } else {
        setValue();
      }
    }
    return valid;
  }
New to GrepCode? Check out our FAQ X