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