Marcelo,
Acho q assim resolve...
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.collections.Predicate;
public class DynamicPredicate implements Predicate {
private String property;
private Comparable value;
public DynamicPredicate(String _property, Comparable _value) {
property = _property;
value = _value;
}
public boolean evaluate(Object input) {
boolean equal = false;
try {
Comparable comparable =
(Comparable)PropertyUtils.getProperty(input, property);
equal = (value.compareTo(comparable) == 0);
}
catch (Exception e) { e.printStackTrace(); }
return equal;
}
}
import org.apache.commons.collections.CollectionUtils;
public class CollectionsUtil {
public static Object find(Collection collection, String property,
Comparable value) {
return CollectionUtils.find(collection, new
DynamicPredicate(property, value));
}
}
// Para encontrar o cliente JOSE MARIA
Client cliente = (Client)CollectionsUtil.find(list, "nome", "JOSE MARIA");
Espero ter ajudado...
[], Gustavo Muniz.
-----Mensagem original-----
De: Marcelo Beckmann [mailto:[EMAIL PROTECTED]
Enviada em: quinta-feira, 9 de dezembro de 2004 14:39
Para: [EMAIL PROTECTED]
Assunto: [JUG-Petro] Search em lists
Ol� a todos,
gostaria da opni�o dos colegas de como proceder
quando se tem um List ou Set, e se quer buscar um elemento
dessa lista que atenda a determinadas condi��es.
Por exemplo uma lista do seguinte objeto:
public class Client
{
/..
private int id;
private String nome
//...
//... getters e setters
}
Gostaria de saber como voc�s buscariam um objeto Client dessa lista cujo
nome seja "JOSE MARIA", sem ter que criar um loop
no meio do c�digo da aplica��o. Para voc�s, qual seria a maneira mais
elegante de implementar isso?
Desde j� agrade�o a aten��o,
[]�s
Marcelo Beckmann
------------------------ Yahoo! Groups Sponsor --------------------~-->
Make a clean sweep of pop-up ads. Yahoo! Companion Toolbar.
Now with Pop-Up Blocker. Get it for free!
http://us.click.yahoo.com/L5YrjA/eSIIAA/yQLSAA/5cFolB/TM
--------------------------------------------------------------------~->
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/jug-petropolis/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/