001/* 002 * SPDX-FileCopyrightText: none 003 * SPDX-License-Identifier: CC0-1.0 004 */ 005 006package dev.metaschema.core.model; 007 008import java.util.Collection; 009 010/** 011 * Represents a model container with absolute (non-grouped) instances. 012 * <p> 013 * Absolute instances are identified by their effective name (index) rather than 014 * a use name. This interface narrows the return types of 015 * {@link IContainerModel} methods to absolute instance types. 016 */ 017public interface IContainerModelAbsolute extends IContainerModel { 018 019 @Override 020 Collection<? extends IModelInstanceAbsolute> getModelInstances(); 021 022 @Override 023 Collection<? extends INamedModelInstanceAbsolute> getNamedModelInstances(); 024 025 @Override 026 INamedModelInstanceAbsolute getNamedModelInstanceByName(Integer name); 027 028 @Override 029 Collection<? extends IFieldInstanceAbsolute> getFieldInstances(); 030 031 @Override 032 IFieldInstanceAbsolute getFieldInstanceByName(Integer name); 033 034 @Override 035 Collection<? extends IAssemblyInstanceAbsolute> getAssemblyInstances(); 036 037 @Override 038 IAssemblyInstanceAbsolute getAssemblyInstanceByName(Integer name); 039}