I think you are right. I will probalby just put a static public List<TypeB> makeList(List)
on the domain object. It is only used for the grid component, so this probably appropriate. Ben On 6/13/07, Daniel Jue <[EMAIL PROTECTED]> wrote:
Are there other uses of the converted domain objects besides the presentation layer? I am wondering if it's "good practice" to tie in Tapestry for this. Can Type A and Type B both implement a common interface? Then you could have the presentation layer work on that interface. If a common interface was not available, and if the destination object does not have to be backed up by the source object, a static or singleton method that ingests Type A and outputs Type B would be my first choice. On 6/13/07, Ben Tomasini <[EMAIL PROTECTED]> wrote: > Thank you. > > Is there native support for lists of different types? Will the TypeCoercer > take a List<TypeA> and create a List<TypeB> if that is what is > requested? If so, how are generic lists handled? Does the > TypeCoercer inspect the first element for its type? > > Ben > > > On 6/13/07, Davor Hrg <[EMAIL PROTECTED]> wrote: > > > > You need TypeCoercer, > > you can inject it where needed, and use it.. > > ina a page: > > @Inject private TypeCoercer typeCoercer > > > > in a method, or service constructor: > > public myMethod(@Inject TypeCoercer typeCoercer){....} > > > > you then use it like this: > > SomeClass destination = typeCoercer.coerce(source, SomeClass.class); > > > > > > > > to contribute your own CoercionTuple add following to your module: > > > > public static void contributeTypeCoercer(Configuration<CoercionTuple> > > configuration){.....} > > > > for more read following, > > http://tapestry.apache.org/tapestry5/tapestry-core/guide/coercion.html > > and go through tapestry-ioc guide to get to know the IOC part of the > > framework, > > and to get more familiar with creating services and dependancy injection. > > > > > > Davor Hrg > > > > > > > > > > On 6/13/07, Ben Tomasini <[EMAIL PROTECTED]> wrote: > > > > > > I have a simple requirement to tranlsate a list of type A to a list of > > > type > > > B > > > > > > I have a simple service interface to do this: > > > > > > List translate(List list) > > > > > > It does a 1:1 translation on the source list, mapping properties to the > > > new > > > list. It is specifically used to create beans to pass into the grid > > > component source. > > > > > > But the implementation is rather cumbersome. Is there a way I can use > > the > > > tapestry type coersion infrastructure to do this? The strategy could be > > > driven by the type of the list elements, and would simply involve moving > > > data with getters and setters. I woudl invision contributing some > > service > > > which would act on each object in the list, like: > > > > > > translate(Object source, Object destination) > > > > > > Where would be a good place to look in the docs or source code? > > > > > > Ben > > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]