hudson.util
Class ListBoxModel

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by java.util.ArrayList<ListBoxModel.Option>
              extended by hudson.util.ListBoxModel
All Implemented Interfaces:
Serializable, Cloneable, Iterable<ListBoxModel.Option>, Collection<ListBoxModel.Option>, List<ListBoxModel.Option>, RandomAccess, org.kohsuke.stapler.HttpResponse

@ExportedBean
public class ListBoxModel
extends ArrayList<ListBoxModel.Option>
implements org.kohsuke.stapler.HttpResponse

Model object of dynamically filled list box.

Usage

The dynamic list box support allows the SELECT element to change its options dynamically by using the values given by the server.

To use this, HTML needs to declare the SELECT element:


 <select id='foo'>
   <option>Fetching values...</optoin>
 </select>
 

The SELECT element may have initial option values (in fact in most cases having initial values are desirable to avoid the client from submitting the form before the AJAX call updates the SELECT element.) It should also have an ID (although if you can get to the DOM element by other means, that's fine, too.)

Other parts of the HTML can initiate the SELECT element update by using the "updateListBox" function, defined in hudson-behavior.js. The following example does it when the value of the textbox changes:


 <input type="textbox" onchange="updateListBox('list','optionValues?value='+encode(this.value))"/>
 

The first argument is the SELECT element or the ID of it (see Prototype.js $(...) function.) The second argument is the URL that returns the options list.

The URL usually maps to the doXXX method on the server, which uses ListBoxModel for producing option values. See the following example:

 public ListBoxModel doOptionValues(@QueryParameter("value") String value) throws IOException, ServletException {
   ListBoxModel m = new ListBoxModel();
   for(int i=0; i<5; i++)
     m.add(value+i,value+i);
   // make the third option selected initially
   m.get(3).selected = true;
   return m;
 }
 

Since:
1.123
Author:
Kohsuke Kawaguchi
See Also:
Serialized Form

Nested Class Summary
static class ListBoxModel.Option
           
 
Field Summary
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
ListBoxModel()
           
ListBoxModel(Collection<ListBoxModel.Option> c)
           
ListBoxModel(int initialCapacity)
           
ListBoxModel(ListBoxModel.Option... data)
           
 
Method Summary
 void add(ModelObject usedForDisplayName, String value)
           
 ListBoxModel add(String nameAndValue)
          A version of the add(String, String) method where the display name and the value are the same.
 void add(String displayName, String value)
           
 void generateResponse(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp, Object node)
           
 ListBoxModel.Option[] values()
          Deprecated. Exposed for stapler. Not meant for programatic consumption.
 void writeTo(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp)
           
 
Methods inherited from class java.util.ArrayList
add, add, addAll, addAll, clear, clone, contains, ensureCapacity, get, indexOf, isEmpty, lastIndexOf, remove, remove, removeRange, set, size, toArray, toArray, trimToSize
 
Methods inherited from class java.util.AbstractList
equals, hashCode, iterator, listIterator, listIterator, subList
 
Methods inherited from class java.util.AbstractCollection
containsAll, removeAll, retainAll, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
containsAll, equals, hashCode, iterator, listIterator, listIterator, removeAll, retainAll, subList
 

Constructor Detail

ListBoxModel

public ListBoxModel(int initialCapacity)

ListBoxModel

public ListBoxModel()

ListBoxModel

public ListBoxModel(Collection<ListBoxModel.Option> c)

ListBoxModel

public ListBoxModel(ListBoxModel.Option... data)
Method Detail

add

public void add(String displayName,
                String value)

add

public void add(ModelObject usedForDisplayName,
                String value)

add

public ListBoxModel add(String nameAndValue)
A version of the add(String, String) method where the display name and the value are the same.


writeTo

public void writeTo(org.kohsuke.stapler.StaplerRequest req,
                    org.kohsuke.stapler.StaplerResponse rsp)
             throws IOException,
                    javax.servlet.ServletException
Throws:
IOException
javax.servlet.ServletException

generateResponse

public void generateResponse(org.kohsuke.stapler.StaplerRequest req,
                             org.kohsuke.stapler.StaplerResponse rsp,
                             Object node)
                      throws IOException,
                             javax.servlet.ServletException
Specified by:
generateResponse in interface org.kohsuke.stapler.HttpResponse
Throws:
IOException
javax.servlet.ServletException

values

@Exported
public ListBoxModel.Option[] values()
Deprecated. Exposed for stapler. Not meant for programatic consumption.



Copyright © 2004-2013. All Rights Reserved.