package com.googlecode.tawus.tapestry53;
import org.apache.tapestry5.ValueEncoder;
import com.googlecode.tawus.tapestry53.entities.Fruit;
public class FruitValueEncoder implements ValueEncoder<Fruit>
{
private Iterable<Fruit> fruits;
public FruitValueEncoder(Iterable<Fruit> fruits)
{
this.fruits = fruits;
}
public String toClient(Fruit fruit)
{
return fruit.getName();
}
public Fruit toValue(String fruitName)
{
for(Fruit fruit: fruits)
{
if(fruit.getName().equals(fruitName))
{
return fruit;
}
}
throw new RuntimeException("Invalid fruit name returned from client: " + fruitName);
}
}