1 /* 2 * SPDX-FileCopyrightText: none 3 * SPDX-License-Identifier: CC0-1.0 4 */ 5 6 package gov.nist.secauto.oscal.lib.model.control.catalog; 7 8 import gov.nist.secauto.oscal.lib.model.CatalogGroup; 9 10 import java.util.List; 11 12 import edu.umd.cs.findbugs.annotations.NonNull; 13 14 public interface IGroupContainer extends IControlContainer { 15 16 List<CatalogGroup> getGroups(); 17 18 /** 19 * Add a new {@link CatalogGroup} item to the end of the underlying collection. 20 * 21 * @param item 22 * the item to add 23 * @return {@code true} 24 */ 25 boolean addGroup(@NonNull CatalogGroup item); 26 27 /** 28 * Remove the first matching {@link CatalogGroup} item from the underlying 29 * collection. 30 * 31 * @param item 32 * the item to remove 33 * @return {@code true} if the item was removed or {@code false} otherwise 34 */ 35 boolean removeGroup(@NonNull CatalogGroup item); 36 }