package org.fenixedu.bennu.core.domain.groups; import org.fenixedu.bennu.core.domain.BennuGroupIndex; import org.fenixedu.bennu.core.groups.Group; import org.fenixedu.bennu.core.groups.GroupStrategy; public final class PersistentGroupStrategy extends PersistentGroupStrategy_Base { private PersistentGroupStrategy(GroupStrategy strategy) { super(); setStrategy(strategy); } @Override public Group toGroup() { return getStrategy(); } public static PersistentGroupStrategy getInstance(final GroupStrategy strategy) { return singleton( () -> BennuGroupIndex.groupConstant(PersistentGroupStrategy.class) .filter(group -> group.getStrategy().equals(strategy)).findAny(), () -> new PersistentGroupStrategy( strategy)); } }