1   /*
2    * SPDX-FileCopyrightText: none
3    * SPDX-License-Identifier: CC0-1.0
4    */
5   
6   package gov.nist.secauto.metaschema.core.model.constraint;
7   
8   import java.util.List;
9   
10  import edu.umd.cs.findbugs.annotations.NonNull;
11  
12  /**
13   * A common interface used for constraints oriented around key-based indexes.
14   */
15  public interface IKeyConstraint extends IConfigurableMessageConstraint {
16    /**
17     * Retrieve the list of keys to use in creating and looking up an entry in a
18     * given index.
19     *
20     * @return one or more keys
21     */
22    @NonNull
23    List<? extends IKeyField> getKeyFields();
24  }