001/* 002 * SPDX-FileCopyrightText: none 003 * SPDX-License-Identifier: CC0-1.0 004 */ 005 006package dev.metaschema.core.model; 007 008import edu.umd.cs.findbugs.annotations.NonNull; 009 010/** 011 * Represents an assembly instance that appears directly within an assembly 012 * definition. 013 * <p> 014 * An absolute assembly instance is not part of a choice or other grouping 015 * construct, and has its own distinct cardinality settings. 016 */ 017public interface IAssemblyInstanceAbsolute extends IAssemblyInstance, INamedModelInstanceAbsolute { 018 019 /** 020 * A visitor callback. 021 * 022 * @param <CONTEXT> 023 * the type of the context parameter 024 * @param <RESULT> 025 * the type of the visitor result 026 * @param visitor 027 * the calling visitor 028 * @param context 029 * a parameter used to pass contextual information between visitors 030 * @return the visitor result 031 */ 032 @Override 033 default <CONTEXT, RESULT> RESULT accept(@NonNull IModelElementVisitor<CONTEXT, RESULT> visitor, CONTEXT context) { 034 return visitor.visitAssemblyInstance(this, context); 035 } 036}