1 24 package org.riotfamily.forms; 25 26 27 32 public abstract class AbstractEditorBase extends AbstractElement { 33 34 private String paramName; 35 36 private String desiredParamName; 37 38 private EditorBinding binding; 39 40 private String fieldName; 41 42 public EditorBinding getEditorBinding() { 43 return binding; 44 } 45 46 public final void setEditorBinding(EditorBinding binding) { 47 this.binding = binding; 48 afterBindingSet(); 49 } 50 51 protected void afterBindingSet() { 52 } 53 54 public void setDesiredParamName(String desiredParamName) { 55 this.desiredParamName = desiredParamName; 56 } 57 58 protected String getDesiredParamName() { 59 if (desiredParamName != null) { 60 return desiredParamName; 61 } 62 if (binding != null) { 63 return binding.getProperty(); 64 } 65 return null; 66 } 67 68 public String getParamName() { 69 if (paramName == null) { 70 paramName = getForm().createUniqueParameterName(getDesiredParamName()); 71 log.debug("Param name for element " + getId() + " is: " + paramName); 72 } 73 return paramName; 74 } 75 76 public void setParamName(String paramName) { 77 this.paramName = paramName; 78 } 79 80 public void setFieldName(String fieldName) { 81 this.fieldName = fieldName; 82 } 83 84 public String getFieldName() { 85 if (fieldName != null) { 86 return fieldName; 87 } 88 if (binding != null) { 89 return binding.getPropertyPath(); 90 } 91 return "unbound-" + getId(); 92 } 93 94 public String getLabel() { 95 String label = super.getLabel(); 96 if (label == null && binding != null) { 97 label = MessageUtils.getLabel(this, binding); 98 super.setLabel(label); 99 } 100 return label; 101 } 102 103 public String getHint() { 104 String hint = super.getHint(); 105 if (hint == null && binding != null) { 106 hint = MessageUtils.getHint(this, binding); 107 super.setHint(hint); 108 } 109 return hint; 110 } 111 } 112 | Popular Tags |