Class LambdaChoiceRenderer<T>
- java.lang.Object
-
- org.apache.wicket.markup.html.form.LambdaChoiceRenderer<T>
-
- Type Parameters:
T
- The model object type
- All Implemented Interfaces:
Serializable
,IChoiceRenderer<T>
,IDetachable
,IClusterable
public class LambdaChoiceRenderer<T> extends Object implements IChoiceRenderer<T>
Renders one choice. Separates the 'id' values used for internal representation from 'display values' which are the values shown to the user of components that use this renderer.Usage:
new DropDownChoice<User>("users", new Model<User>(selectedUser), listOfUsers, new LambdaChoiceRenderer<User>(User::getName))
creates a DropDownChoice of users and the display value will be looked up by function (User::getName) and the id the index of the object in the ListOfUsers
new DropDownChoice<User>("users", new Model<User>(selectedUser), listOfUsers, new LambdaChoiceRenderer<User>(User::getName, User::getId))
creates a DropDownChoice of users and the display value will be looked up by function (User::getName) and the id will be looked up by the function (User::getId)
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description LambdaChoiceRenderer()
Constructor.LambdaChoiceRenderer(org.danekja.java.util.function.serializable.SerializableFunction<T,?> displayExpression)
Constructor.LambdaChoiceRenderer(org.danekja.java.util.function.serializable.SerializableFunction<T,?> displayExpression, org.danekja.java.util.function.serializable.SerializableFunction<T,?> idExpression)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
getDisplayValue(T object)
Get the value for displaying to an end user.String
getIdValue(T object, int index)
This method is called to get the id value of an object (used as the value attribute of a choice element) The id can be extracted from the object like a primary key, or if the list is stable you could just return a toString of the index.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.wicket.markup.html.form.IChoiceRenderer
detach, getObject
-
-
-
-
Constructor Detail
-
LambdaChoiceRenderer
public LambdaChoiceRenderer()
Constructor.When you use this constructor, the display value will be determined by calling toString() on the list object, and the id will be based on the list index. the id value will be the index
-
LambdaChoiceRenderer
public LambdaChoiceRenderer(org.danekja.java.util.function.serializable.SerializableFunction<T,?> displayExpression)
Constructor.When you use this constructor, the display value will be determined by executing the given function on the list object, and the id will be based on the list index. The display value will be calculated by the given function
- Parameters:
displayExpression
- A function to get the display value
-
LambdaChoiceRenderer
public LambdaChoiceRenderer(org.danekja.java.util.function.serializable.SerializableFunction<T,?> displayExpression, org.danekja.java.util.function.serializable.SerializableFunction<T,?> idExpression)
Constructor.When you use this constructor, both the id and the display value will be determined by executing the given functions on the list object.
- Parameters:
displayExpression
- A function to get the display valueidExpression
- A function to get the id value
-
-
Method Detail
-
getDisplayValue
public Object getDisplayValue(T object)
Description copied from interface:IChoiceRenderer
Get the value for displaying to an end user.- Specified by:
getDisplayValue
in interfaceIChoiceRenderer<T>
- Parameters:
object
- the actual object- Returns:
- the value meant for displaying to an end user
-
getIdValue
public String getIdValue(T object, int index)
Description copied from interface:IChoiceRenderer
This method is called to get the id value of an object (used as the value attribute of a choice element) The id can be extracted from the object like a primary key, or if the list is stable you could just return a toString of the index.Note that the given index can be
-1
if the object in question is not contained in the available choices.- Specified by:
getIdValue
in interfaceIChoiceRenderer<T>
- Parameters:
object
- The object for which the id should be generatedindex
- The index of the object in the choices list.- Returns:
- String
-
-