/* * Copyright (C) NetStruxr, Inc. All rights reserved. * * This software is published under the terms of the NetStruxr * Public Software License version 0.5, a copy of which has been * included with this distribution in the LICENSE.NPL file. */ package er.extensions.components; import java.net.URL; import com.webobjects.appserver.WOComponent; import com.webobjects.appserver.WOContext; /** * Used to edit urls with a default value. * * @binding value The URL to edit (can be a string or a java.net.URL object). If not set, * the default value is http://www. * @binding size A integer to set the size of the text field */ public class ERXEditURL extends WOComponent { /** * Do I need to update serialVersionUID? * See section 5.6 <cite>Type Changes Affecting Serialization</cite> on page 51 of the * <a href="http://java.sun.com/j2se/1.4/pdf/serial-spec.pdf">Java Object Serialization Spec</a> */ private static final long serialVersionUID = 1L; public ERXEditURL(WOContext aContext) { super(aContext); } @Override public boolean isStateless() { return true; } public final static String DEFAULT="http://www."; public Object value() { Object result = valueForBinding("value"); if(result instanceof URL) result = result.toString(); if (result==null || ((String)result).length()==0) result=DEFAULT; return result; } public void setValue(Object newValue) { if (newValue!=null && newValue.equals(DEFAULT)) newValue=null; setValueForBinding(newValue,"value"); } }