package net.sourceforge.pain.data; import net.sourceforge.pain.db.*; import net.sourceforge.pain.data.type.*; import java.util.*; public final class ResetGroupRegistry extends DbObject { private static final int RESET_GROUPS = 0; private static final int NFIELDS = 1; public ResetGroupRegistry() { } public ResetGroupRegistry(PainDB db) { super(db); } protected DbClassSchema provideSchema() { byte types[] = new byte[NFIELDS]; String names[] = new String[NFIELDS]; types[RESET_GROUPS] = DbType.STRING_KEY_MAP; names[RESET_GROUPS] = "resets_groups"; return new DbClassSchema(types, names); } public ResetGroup getResetGroup(String id) { return (ResetGroup) groups().get(id); } public Collection getResetGroups() { return Collections.unmodifiableCollection(groups().values()); } public void registerResetGroup(ResetGroup rg) { Map groups = groups(); String groupId = rg.getGroupId(); if (groups.containsKey(groupId)) { throw new IllegalStateException("Group is already registered!"); } groups.put(groupId, rg); } private DbStringKeyMap groups() { return getStringKeyMap(RESET_GROUPS); } }