Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.ya.test;
- import java.lang.reflect.Field;
- import java.util.ArrayList;
- import java.util.List;
- import static java.util.Collections.unmodifiableList;
- /**
- */
- public final class Currency {
- private static int idx = 0;
- private final int ordinal;
- private String name;
- private Currency(String name) {
- this.ordinal = idx++;
- items.add(ordinal, this);
- }
- private static final List<Currency> items = new ArrayList<>();
- public static final Currency RUR = new Currency("RUR");
- public static final Currency USD = new Currency("USD");
- public static final Currency EUR = new Currency("EUR");
- static {
- final Field[] fields = Currency.class.getDeclaredFields();
- for (Field field : fields) {
- if (field.getModifiers() != static... || field.getType() != Currency.class)
- continue;
- String name = field.getName();
- }
- }
- public static List<Currency> items() {
- return unmodifiableList(items);
- }
- public static Currency item(int ordinal) {
- return items.get(ordinal);
- }
- public static Currency byName(String name) {
- for (Currency currency : items)
- if (currency.name.equals(name))
- return currency;
- return null;
- }
- }
Add Comment
Please, Sign In to add comment