1   /*
2    * SPDX-FileCopyrightText: none
3    * SPDX-License-Identifier: CC0-1.0
4    */
5   
6   package dev.metaschema.databind.codegen.typeinfo;
7   
8   import dev.metaschema.core.model.IFlagInstance;
9   import dev.metaschema.databind.codegen.typeinfo.def.IDefinitionTypeInfo;
10  import edu.umd.cs.findbugs.annotations.NonNull;
11  
12  public interface IFlagInstanceTypeInfo extends INamedInstanceTypeInfo {
13    /**
14     * Construct a new type information object for the provided {@code instance}.
15     *
16     * @param instance
17     *          the instance to provide type information for
18     * @param parentDefinition
19     *          the definition containing the instance
20     * @return the type information
21     */
22    @NonNull
23    static IFlagInstanceTypeInfo newTypeInfo(
24        @NonNull IFlagInstance instance,
25        @NonNull IDefinitionTypeInfo parentDefinition) {
26      return new FlagInstanceTypeInfoImpl(instance, parentDefinition);
27    }
28  
29    @Override
30    IFlagInstance getInstance();
31  }