1 /*
2 * SPDX-FileCopyrightText: none
3 * SPDX-License-Identifier: CC0-1.0
4 */
5
6 package gov.nist.secauto.metaschema.core.model;
7
8 import edu.umd.cs.findbugs.annotations.NonNull;
9
10 /**
11 * Represents an assembly instance that appears within a choice or other
12 * grouping construct.
13 * <p>
14 * Grouped assembly instances inherit cardinality from their containing group.
15 */
16 public interface IAssemblyInstanceGrouped extends INamedModelInstanceGrouped, IAssemblyInstance {
17
18 /**
19 * A visitor callback.
20 *
21 * @param <CONTEXT>
22 * the type of the context parameter
23 * @param <RESULT>
24 * the type of the visitor result
25 * @param visitor
26 * the calling visitor
27 * @param context
28 * a parameter used to pass contextual information between visitors
29 * @return the visitor result
30 */
31 @Override
32 default <CONTEXT, RESULT> RESULT accept(@NonNull IModelElementVisitor<CONTEXT, RESULT> visitor, CONTEXT context) {
33 return visitor.visitAssemblyInstance(this, context);
34 }
35 }