Мне нужно выполнить следующее (это упрощенная версия):
enum Animals{
enum Cats{tabby("some value"), siamese("some value")},
enum Dogs{poodle("some value"), dachsund("some value")},
enum Birds{canary("some value"), parrot("some value")}
private String someValue = "";
private ShopByCategory(String someValue)
{
this.someValue = someValue;
}
public String getSomeValue()
{
return this.someValue;
}
}
Чтобы я мог получить доступ к этим элементам следующим образом:
string cat1 = Animals.Cats.tabby.getSomeValue;
string dog1 = Animals.Dogs.dachsund.getSomeValue;
string bird1 = Animals.Birds.canary.getSomeValue;
Причина, по которой япопытка сделать это с помощью перечислений - это тот факт, что мне нужно иметь доступ к каждому уровню без необходимости: а) создавать экземпляр класса, б) скрывать имена уровней за именем метода, или в) использовать итератор, чтобы пройти черезEnumSet.
Возможно ли это вообще?Что бы вы предложили вместо перечислений?