Author: simoneg
Date: Mon Dec 14 13:49:06 2009
New Revision: 890325
URL: http://svn.apache.org/viewvc?rev=890325&view=rev
Log:
Radiobuttons when value is wrapper value (aka nullable)
Modified:
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/BooleanHtmlFormPiece.java
Modified:
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/BooleanHtmlFormPiece.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/BooleanHtmlFormPiece.java?rev=890325&r1=890324&r2=890325&view=diff
==============================================================================
---
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/BooleanHtmlFormPiece.java
(original)
+++
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/BooleanHtmlFormPiece.java
Mon Dec 14 13:49:06 2009
@@ -1,23 +1,64 @@
package org.apache.magma.website.htmlpieces;
+import org.apache.magma.basics.LocalizableString;
import org.apache.magma.view.tree.ViewUtils;
public class BooleanHtmlFormPiece implements HtmlFormPiece<Boolean> {
+ private static BooleanHtmlFormPiece primitive = null;
+ private static BooleanHtmlFormPiece wrapper = null;
+
+ private boolean onprimitive = false;
+
+ public BooleanHtmlFormPiece() { }
+
+ public BooleanHtmlFormPiece(boolean primitive) {
+ this.onprimitive = primitive;
+ }
+
public String createFormInput(Boolean value, String id) {
StringBuilder out = new StringBuilder();
- out.append("<input type=\"checkbox\"");
- out.append(FormHtmlUtils.createNameAndId(id));
- out.append(" value=\"true\"");
- if (value != null && value.booleanValue()) {
- out.append(" checked=\"checked\"");
+ if (!onprimitive) {
+ out.append("<input type=\"radio\"");
+ out.append(FormHtmlUtils.createNameAndId(id));
+ out.append(" value=\"true\"");
+ if (value != null && value.booleanValue()) {
+ out.append(" checked=\"checked\"");
+ }
+ out.append("/>");
+ out.append(new LocalizableString("Yes").toString());
+ out.append(" <input type=\"radio\"");
+ out.append(FormHtmlUtils.createNameAndId(id));
+ out.append(" value=\"false\"");
+ if (value != null && !value.booleanValue()) {
+ out.append(" checked=\"checked\"");
+ }
+ out.append("/>");
+ out.append(new LocalizableString("No").toString());
+ } else {
+ out.append("<input type=\"checkbox\"");
+ out.append(FormHtmlUtils.createNameAndId(id));
+ out.append(" value=\"true\"");
+ if (value != null && value.booleanValue()) {
+ out.append(" checked=\"checked\"");
+ }
+ out.append("/>");
}
- out.append("/>");
return out.toString();
}
public HtmlFormPiece<Boolean> createInputFor(Class<? extends Boolean>
clazz) {
- return this;
+ if (clazz.isPrimitive()) {
+ if (primitive == null) {
+ primitive = new BooleanHtmlFormPiece(true);
+ }
+ return primitive;
+ } else {
+ if (wrapper == null) {
+ wrapper = new BooleanHtmlFormPiece(false);
+ }
+ return wrapper;
+ }
}
public void formHead(Boolean value, String id) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]