Package com.webobjects.woextensions

Source Code of com.webobjects.woextensions.WORadioButtonMatrix

/*
* WORadioButtonMatrix.java
* (c) Copyright 2001 Apple Computer, Inc. All rights reserved.
* This a modified version.
* Original license: http://www.opensource.apple.com/apsl/
*/

package com.webobjects.woextensions;

import com.webobjects.appserver.WOComponent;
import com.webobjects.appserver.WOContext;
import com.webobjects.foundation.NSArray;

public class WORadioButtonMatrix 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 Object currentItem;
    public int index;
    public String wrapperElementID;
    protected Object _selection = null;

    public WORadioButtonMatrix(WOContext aContext) {
        super(aContext);
    }
   
    public void setCurrentItem(Object aValue) {
        currentItem = aValue;
        setValueForBinding(aValue, "item");
    }

    public Object selection() {
        if (_selection==null) {
            // ** only pull this one time
            _selection = valueForBinding("selection");
        }
        return _selection;
    }

    public void setSelection(String anIndex) {
        if (anIndex != null) {
            int idx = Integer.parseInt(anIndex);
            // ** push the selection to the parent
            NSArray anItemList = (NSArray)_WOJExtensionsUtil.valueForBindingOrNull("list",this);
            Object aSelectedObject = anItemList.objectAtIndex(idx);
            setValueForBinding(aSelectedObject, "selection");
        }
        // ** and force it to be pulled if there's a next time.
        _selection = null;
    }

    public String isCurrentItemSelected() {

        if (selection() != null && selection().equals(currentItem)) {
            return "checked";
        }

        return null;
    }

    protected void _invalidateCaches() {
        _selection = null;
        currentItem = null;
    }

    @Override
    public boolean isStateless() {
        return true;
    }

    @Override
    public void reset()  {
        _invalidateCaches();
    }

    public Object nullValue() {
      return null;
    }
}
TOP

Related Classes of com.webobjects.woextensions.WORadioButtonMatrix

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.