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.qname.IEnhancedQName;
009import gov.nist.secauto.metaschema.databind.model.info.IItemValueHandler;
010
011import edu.umd.cs.findbugs.annotations.NonNull;
012
013/**
014 * Represents a binding of Java data to a Metaschema module construct, i.e.
015 * definition, instance, field value.
016 *
017 * @param <ITEM>
018 *          the Java type for associated bound objects
019 */
020public interface IBoundModelObject<ITEM> extends IItemValueHandler<ITEM> {
021  /**
022   * Determine if the provided XML qualified name is associated with this
023   * property.
024   *
025   * @param qname
026   *          the XML qualified name of the property being parsed
027   * @return {@code true} if the instance will handle this name, or {@code false}
028   *         otherwise
029   */
030  boolean canHandleXmlQName(@NonNull IEnhancedQName qname);
031}