Maybe my java-files didn't get throug in my first mail :)
I will just paste them here.
My intent with my mail was to tell people that I have made this
NamedPropertySelectionModel that I think alot of people would be glad
to use. I would also want to know if there is something similar in the
framwork (or planned to be implemented) that I should use instead.
here are the files from my first mail:
package net.keso.ted.peng;
/************ INamedProperty.java ***********/
public interface INamedProperty {
public String getPropertyName();
}
/************ NamedPropertySelectionModel.java ***********/
package net.keso.ted.peng;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import org.apache.tapestry.form.IPropertySelectionModel;
public class NamedPropertySelectionModel implements IPropertySelectionModel {
private List<INamedProperty> _list;
/**
* Build an empty named property selection model.
*/
public NamedPropertySelectionModel() {
this(Arrays.asList(new INamedProperty[0]));
}
/**
* Build a named property selection model.
* @param list The list
*/
public NamedPropertySelectionModel(List<INamedProperty> list) {
_list = list;
}
/**
* Build a named property selection model.
* @param c Collection
*/
public NamedPropertySelectionModel(Collection<? extends INamedProperty> c) {
_list = new ArrayList<INamedProperty>(c);
}
/**
* Get the number of options.
* @return option count
*/
public int getOptionCount() { return _list.size(); }
/**
* Get the option at index.
* @param index Index
* @return object Object at index
*/
public Object getOption(int index) {
return _list.get(index);
}
/**
* Get the label at index.
* @param index Index
* @return label Label at index
*/
public String getLabel(int index) {
INamedProperty prop = _list.get(index);
return prop.getPropertyName();
}
/**
* Get the value at index.
* @param index Index
* @return value Value at index
*/
public String getValue(int index) {
return String.valueOf(index);
}
/**
* Translate value to object.
* @param value Value
* @return object Object from value
*/
public Object translateValue(String value) {
return getOption(Integer.parseInt(value));
}
}
/***********************/
On 4/27/06, James Carman <[EMAIL PROTECTED]> wrote:
> So, you want a generic way to generate the value for the objects in the
> collection (and the display text I presume)?
>
> -----Original Message-----
> From: Ted Steen [mailto:[EMAIL PROTECTED]
> Sent: Thursday, April 27, 2006 1:26 PM
> To: Tapestry users
> Subject: Re: PropertySelectionModel
>
> I provided code for the NamedPropertySelectionModel and the
> INamedProperty interface in my previous message as an attachment.
>
> An example would be a page where the model for a @PropertySelection is
> a new NamedPropertySelectionModel("a collection of objects of type <?
> extends INamedProperty>");
>
> I needed a way to be able to select a property and then get it mapped
> to an object in my application.
> Now with NamedPropertySelectionModel I just implement the
> INamedProperty interface on the classes I want to be able to list as
> properties on my page.
> And then instansiate NamedPropertySelectionModel with a Collection of
> these objects.
>
> The naming convention could be a bit messed up as English is not my
> native language...
>
>
> On 4/27/06, Mark Stang <[EMAIL PROTECTED]> wrote:
> > Can you provide code and an example?
> >
> > regards,
> >
> > Mark
> >
> >
> > -----Original Message-----
> > From: Ted Steen [mailto:[EMAIL PROTECTED]
> > Sent: Thu 4/27/2006 2:14 AM
> > To: Tapestry users
> > Subject: PropertySelectionModel
> >
> > I created a "NamedPropertySelectionModel". Is this something that has
> > already been done that I could find in T4?
> > It just feels like something alot of people would need.
> >
> > Cheers!
> > /ted
> >
> >
> >
> >
>
>
> --
> /ted
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
/ted
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]