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  public interface IFlagDefinition extends IValuedDefinition, IFlag {
11    @Override
12    IFlagInstance getInlineInstance();
13  
14    /**
15     * A visitor callback.
16     *
17     * @param <CONTEXT>
18     *          the type of the context parameter
19     * @param <RESULT>
20     *          the type of the visitor result
21     * @param visitor
22     *          the calling visitor
23     * @param context
24     *          a parameter used to pass contextual information between visitors
25     * @return the visitor result
26     */
27    @Override
28    default <CONTEXT, RESULT> RESULT accept(@NonNull IModelElementVisitor<CONTEXT, RESULT> visitor, CONTEXT context) {
29      return visitor.visitFlagDefinition(this, context);
30    }
31  }