001/* 002 * SPDX-FileCopyrightText: none 003 * SPDX-License-Identifier: CC0-1.0 004 */ 005 006package gov.nist.secauto.metaschema.databind.model; 007 008import gov.nist.secauto.metaschema.core.model.IModuleExtended; 009import gov.nist.secauto.metaschema.databind.IBindingContext; 010 011import java.net.URI; 012import java.util.Collection; 013 014import javax.xml.namespace.QName; 015 016import edu.umd.cs.findbugs.annotations.NonNull; 017 018public interface IBoundModule 019 extends IModuleExtended< 020 IBoundModule, 021 IBoundDefinitionModelComplex, 022 IBoundDefinitionFlag, 023 IBoundDefinitionModelField<?>, 024 IBoundDefinitionModelAssembly> { 025 026 /** 027 * Get the Module binding context. 028 * 029 * @return the context 030 */ 031 @NonNull 032 IBindingContext getBindingContext(); 033 034 @Override 035 default URI getLocation() { // NOPMD - intentional 036 // not known 037 return null; 038 } 039 040 @Override 041 Collection<IBoundDefinitionModelAssembly> getAssemblyDefinitions(); 042 043 @Override 044 IBoundDefinitionModelAssembly getAssemblyDefinitionByName(@NonNull QName name); 045 046 @Override 047 Collection<IBoundDefinitionModelField<?>> getFieldDefinitions(); 048 049 @Override 050 IBoundDefinitionModelField<?> getFieldDefinitionByName(@NonNull QName name); 051}