2013-02-28 3 views
1

Мне нужно реализовать некоторые специфические функции, и мне интересно, знаете ли вы о библиотеке java, которая делает это, или что-то в этом роде. Я предпочел бы использовать существующее, прежде чем строить свои собственные.Java Attribute Driven Collection

В принципе, я хочу тип типа коллекции, который содержит экземпляры FooBar. Когда контейнер сконструирован, я указываю значения атрибутов или диапазоны, которые квалифицируют FooBar для членства, поэтому, когда экземпляр FooBar вставлен, он будет отклонен, если он не соответствует критериям. Кроме того, если атрибуты любого FooBar в контейнере изменяются таким образом, что они больше не соответствуют критериям членства, они будут выбрасываться (предпочтительно с каким-либо обратным вызовом зарегистрированным слушателям).

Я могу разработать больше, но я думаю, что концепция довольно прямолинейна.

Видел что-нибудь подобное?

Спасибо.

ответ

0

Вы можете добавить набор слушателей к классу, выполняющему добавление/сохранение, и который позволяет классу «выбирать», добавлять ли кандидата в качестве слушателя, а также позже на основе ваших интересных событий - сохранить их или выселить их:

public interface AddableEvictable { 
    public boolean isAddable(); 
    public boolean evict(); 
} 

Затем добавить набор ваших интересных классов серверного класса и кандидатских добавить/(/ позже выселить) потребуется (а) реализовать этот простой интерфейс и (б) предложить себя к классу сервера, чтобы он мог решить, добавлять или не добавлять (и позже, когда/если выселить)