Guest User

Untitled

a guest
Jun 5th, 2014
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.67 KB | None | 0 0
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5. package cz.ascaria.zoneofuprising.gui.forms;
  6.  
  7. import java.util.HashMap;
  8. import java.util.Map;
  9. import tonegod.gui.controls.form.Form;
  10. import tonegod.gui.controls.text.TextField;
  11. import tonegod.gui.core.Element;
  12. import tonegod.gui.core.ElementManager;
  13.  
  14. /**
  15.  *
  16.  * @author Ascaria Quynn
  17.  */
  18. abstract public class MyForm extends Form {
  19.  
  20.     private Map<String, Element> elems = new HashMap<String, Element>();
  21.  
  22.     public MyForm(ElementManager screen) {
  23.         super(screen);
  24.     }
  25.  
  26.     @Override
  27.     public void addFormElement(Element element) {
  28.         addFormElement(element.getUID(), element);
  29.     }
  30.  
  31.     public void addFormElement(String name, Element element) {
  32.         super.addFormElement(element);
  33.         if(elems.containsKey(name)) {
  34.             throw new IllegalArgumentException("Element with name '" + name + "' already exist.");
  35.         }
  36.         if(element instanceof TextField) {
  37.             elems.put(name, element);
  38.         }
  39.     }
  40.  
  41.     @Override
  42.     public void submitForm() {
  43.         HashMap<String, String> values = new HashMap<String, String>();
  44.         for(Map.Entry<String, Element> entry : elems.entrySet()) {
  45.             values.put(entry.getKey(), entry.getValue().getText());
  46.         }
  47.         if(onValidate(values)) {
  48.             onSuccess(values);
  49.         } else {
  50.             onError(values);
  51.         }
  52.     }
  53.  
  54.     abstract public boolean onValidate(HashMap<String, String> values);
  55.  
  56.     abstract public void onSuccess(HashMap<String, String> values);
  57.  
  58.     abstract public void onError(HashMap<String, String> values);
  59. }
Advertisement
Add Comment
Please, Sign In to add comment