1   /*
2    * SPDX-FileCopyrightText: none
3    * SPDX-License-Identifier: CC0-1.0
4    */
5   
6   package gov.nist.secauto.metaschema.databind.model;
7   
8   import gov.nist.secauto.metaschema.core.model.IModuleExtended;
9   import gov.nist.secauto.metaschema.databind.IBindingContext;
10  
11  import java.net.URI;
12  import java.util.Collection;
13  
14  import javax.xml.namespace.QName;
15  
16  import edu.umd.cs.findbugs.annotations.NonNull;
17  
18  public interface IBoundModule
19      extends IModuleExtended<
20          IBoundModule,
21          IBoundDefinitionModelComplex,
22          IBoundDefinitionFlag,
23          IBoundDefinitionModelField<?>,
24          IBoundDefinitionModelAssembly> {
25  
26    /**
27     * Get the Module binding context.
28     *
29     * @return the context
30     */
31    @NonNull
32    IBindingContext getBindingContext();
33  
34    @Override
35    default URI getLocation() { // NOPMD - intentional
36      // not known
37      return null;
38    }
39  
40    @Override
41    Collection<IBoundDefinitionModelAssembly> getAssemblyDefinitions();
42  
43    @Override
44    IBoundDefinitionModelAssembly getAssemblyDefinitionByName(@NonNull QName name);
45  
46    @Override
47    Collection<IBoundDefinitionModelField<?>> getFieldDefinitions();
48  
49    @Override
50    IBoundDefinitionModelField<?> getFieldDefinitionByName(@NonNull QName name);
51  }