/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.xml; import gw.internal.xml.xsd.typeprovider.XmlSchemaTypeSchemaInfo; import gw.lang.reflect.IType; import gw.xml.XmlElement; import gw.xml.XmlSimpleValue; import gw.xml.XmlTypeInstance; import java.lang.reflect.Constructor; import java.util.List; import java.util.Set; import javax.xml.namespace.QName; public abstract class XmlTypeInstanceInternals { private static final XmlTypeInstanceInternals _instance; static { try { Constructor<?> constructor = Class.forName( "gw.xml.XmlTypeInstanceInternalsImpl" ).getDeclaredConstructor(); constructor.setAccessible( true ); _instance = (XmlTypeInstanceInternals) constructor.newInstance(); } catch ( Exception ex ) { throw new RuntimeException( ex ); } } public static XmlTypeInstanceInternals instance() { return _instance; } public abstract XmlMixedContentList createContentList( XmlTypeInstance xmlTypeInstance ); public abstract IType getType( XmlTypeInstance typeInstance ); public abstract Set<QName> _getAttributeNames( XmlTypeInstance typeInstance ); public abstract XmlSimpleValue _setAttributeSimpleValue( XmlTypeInstance typeInstance, QName attributeName, XmlSimpleValue value ); public abstract XmlSimpleValue _setAttributeSimpleValue( XmlTypeInstance typeInstance, String attributeName, XmlSimpleValue value ); public abstract XmlSimpleValue _getAttributeSimpleValue( XmlTypeInstance typeInstance, QName attributeName ); public abstract XmlSimpleValue _getAttributeSimpleValue( XmlTypeInstance typeInstance, String attributeName ); public abstract String _getAttributeValue( XmlTypeInstance typeInstance, String attributeName ); public abstract String _getAttributeValue( XmlTypeInstance typeInstance, QName attributeName ); public abstract String _setAttributeValue( XmlTypeInstance typeInstance, String attributeName, String value ); public abstract String _setAttributeValue( XmlTypeInstance typeInstance, QName attributeName, String value ); public abstract List<XmlElement> _getChildren( XmlTypeInstance typeInstance, QName qname ); public abstract List<XmlElement> _removeChildren( XmlTypeInstance typeInstance, QName qname ); public abstract List<XmlElement> _getChildrenBySubstitutionGroup( XmlTypeInstance typeInstance, IType type ); public abstract List<XmlElement> _removeChildrenBySubstitutionGroup( XmlTypeInstance typeInstance, IType type ); public abstract XmlElement _getChildBySubstitutionGroup( XmlTypeInstance typeInstance, IType type ); public abstract XmlElement _removeChildBySubstitutionGroup( XmlTypeInstance typeInstance, IType type ); public abstract XmlElement _getChild( XmlTypeInstance typeInstance, QName qname ); public abstract XmlElement _removeChild( XmlTypeInstance typeInstance, QName qname ); public abstract List<XmlElement> _getChildren( XmlTypeInstance typeInstance ); public abstract void _addChild( XmlTypeInstance typeInstance, XmlElement element ); public abstract XmlSimpleValue _getSimpleValue( XmlTypeInstance typeInstance ); public abstract void _setSimpleValue( XmlTypeInstance typeInstance, XmlSimpleValue simpleValue ); public abstract String _getText( XmlTypeInstance typeInstance ); public abstract void _setText( XmlTypeInstance typeInstance, String text ); public abstract Object getSchemaInfoByType( IType type ); public abstract void clearSimpleValue( XmlTypeInstance typeInstance ); public abstract XmlSchemaTypeSchemaInfo getSchemaInfo( XmlTypeInstance typeInstance ); public abstract XmlTypeInstance create( IType xmlTypeInstanceType, XmlSchemaTypeSchemaInfo schemaInfo, Object[] args ); }