001/* 002 * SPDX-FileCopyrightText: none 003 * SPDX-License-Identifier: CC0-1.0 004 */ 005 006package dev.metaschema.core.model; 007 008/** 009 * This marker interface is used to identify a field or assembly instance that 010 * is a member of an assembly's model. 011 */ 012public interface IModelInstance extends IGroupable { 013 @Override 014 IContainerModel getParentContainer(); 015 016 @Override 017 IAssemblyDefinition getContainingDefinition(); 018 019 /** 020 * Indicate if the instance allows values without an XML element wrapper. 021 * 022 * @return {@code true} if the underlying data type is allowed to be unwrapped, 023 * or {@code false} otherwise 024 */ 025 boolean isEffectiveValueWrappedInXml(); 026}