001/*
002 * SPDX-FileCopyrightText: none
003 * SPDX-License-Identifier: CC0-1.0
004 */
005
006package gov.nist.secauto.metaschema.databind.model;
007
008import gov.nist.secauto.metaschema.core.model.IFeatureContainerFlag;
009import gov.nist.secauto.metaschema.databind.IBindingContext;
010
011import edu.umd.cs.findbugs.annotations.NonNull;
012
013/**
014 * Represents a field or assembly instance bound to Java data.
015 *
016 * @param <ITEM>
017 *          the Java type for associated bound objects
018 */
019public interface IBoundDefinitionModel<ITEM>
020    extends IBoundModelObject<ITEM>, IFeatureContainerFlag<IBoundInstanceFlag>, IBoundDefinition {
021  /**
022   * Get the binding context used for the definition.
023   *
024   * @return the binding context
025   */
026  @NonNull
027  IBindingContext getBindingContext();
028
029  @Override
030  IBoundInstanceModelNamed<ITEM> getInlineInstance();
031
032  //
033  // @Override
034  // IBoundInstanceFlag getJsonKeyFlagInstance();
035}