/*
* 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.directtoweb.components.numbers;
import com.webobjects.appserver.WOContext;
import com.webobjects.foundation.NSArray;
import com.webobjects.foundation.NSMutableArray;
import er.directtoweb.components.ERD2WStatelessComponent;
import er.extensions.eof.ERXConstant;
/**
* Popup used for picking a number or some other value by
* using the key restrictedChoiceKey.
* You should use ERD2WEditToOneRelationship, though.
* @d2wKey restrictedChoiceKey
*/
public class ERD2WPopUp extends ERD2WStatelessComponent {
/**
* 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 ERD2WPopUp(WOContext context) { super(context); }
public NSArray list(){
NSArray result = null;
String restrictedChoiceKey=(String)d2wContext().valueForKey("restrictedChoiceKey");
if( restrictedChoiceKey!=null && restrictedChoiceKey.length()>0 ) {
result = (NSArray) valueForKeyPath(restrictedChoiceKey);
} else {
NSMutableArray arr = new NSMutableArray(ERXConstant.OneInteger);
arr.addObject(ERXConstant.TwoInteger);
arr.addObject(ERXConstant.integerForInt(3));
arr.addObject(ERXConstant.integerForInt(4));
arr.addObject(ERXConstant.integerForInt(5));
result = arr;
}
return result;
}
public Object choice() {
return object().valueForKey(propertyKey());
}
public void setChoice(Object newChoice) {
object().validateTakeValueForKeyPath(newChoice, propertyKey());
}
}