001/*
002 * SPDX-FileCopyrightText: none
003 * SPDX-License-Identifier: CC0-1.0
004 */
005
006package gov.nist.secauto.metaschema.databind.model.annotations;
007
008import static java.lang.annotation.ElementType.PACKAGE;
009import static java.lang.annotation.RetentionPolicy.RUNTIME;
010
011import gov.nist.secauto.metaschema.core.model.IModule;
012import gov.nist.secauto.metaschema.databind.model.IBoundModule;
013
014import java.lang.annotation.Retention;
015import java.lang.annotation.Target;
016
017@Retention(RUNTIME)
018@Target(PACKAGE)
019public @interface MetaschemaPackage {
020  /**
021   * Get the metaschemas associated with this package.
022   *
023   * @return the classes that extend {@link IModule} or an empty array if no
024   *         metaschemas are defined
025   */
026  Class<? extends IBoundModule>[] moduleClass() default {};
027}