package org.jabref.model.groups; public enum GroupHierarchyType { /** * Group's contents are independent of its hierarchical position. */ INDEPENDENT, /** * Group's content is the intersection of its own content with its supergroup's content. */ REFINING, // INTERSECTION /** * Group's content is the union of its own content with its subgroups' content. */ INCLUDING; // UNION /** * Returns the hierarchy type from its position in this enum. * If the specified position is out of the enums bounds, then {@link #INDEPENDENT} is returned. */ public static GroupHierarchyType getByNumberOrDefault(int type) { GroupHierarchyType[] types = values(); if (type >= 0 && type < types.length) { return types[type]; } else { return INDEPENDENT; } } }