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 IModelElementVisitable {
11 /**
12 * A visitor callback.
13 *
14 * @param <CONTEXT>
15 * the type of the context parameter
16 * @param <RESULT>
17 * the type of the visitor result
18 * @param visitor
19 * the calling visitor
20 * @param context
21 * a parameter used to pass contextual information between visitors
22 * @return the visitor result
23 */
24 <CONTEXT, RESULT> RESULT accept(@NonNull IModelElementVisitor<CONTEXT, RESULT> visitor, CONTEXT context);
25 }