/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.internal.xml;
import gw.internal.xml.xsd.typeprovider.XmlSchemaIndex;
import gw.lang.reflect.IType;
import gw.xml.BinaryData;
import gw.xml.XmlElement;
import gw.xml.XmlParseOptions;
import gw.xml.XmlSerializationOptions;
import gw.xml.XmlTypeInstance;
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.net.URI;
import java.lang.reflect.Constructor;
import java.net.URL;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.namespace.QName;
import org.xml.sax.Attributes;
public abstract class XmlElementInternals {
private static final XmlElementInternals _instance;
static {
try {
Constructor<?> constructor = Class.forName( "gw.xml.XmlElementInternalsImpl" ).getDeclaredConstructor();
constructor.setAccessible( true );
_instance = (XmlElementInternals) constructor.newInstance();
}
catch ( Exception ex ) {
throw new RuntimeException( ex );
}
}
public static XmlElementInternals instance() {
return _instance;
}
public abstract void writeTo( XmlElement element, OutputStream out, XmlSerializationOptions options );
public abstract void doDeclareNamespace( XmlElement element, String nsuri, String suggestedPrefix, Map<String, URI> _uriCache );
public abstract void setTypeInstance( XmlElement element, XmlTypeInstance xmlTypeInstance );
public abstract boolean isAnyType( IType type );
public abstract XmlElement parse( InputStream stream );
public abstract XmlElement parse( byte[] bytes );
public abstract XmlElement parse( File file );
public abstract XmlElement parse( URL url );
public abstract XmlElement parse( String string );
public abstract XmlElement parse( Reader reader );
public abstract XmlElement parse( InputStream stream, XmlParseOptions options );
public abstract XmlElement parse( InputStream inputStream, XmlParseOptions options, XmlTypeResolver typeResolver );
public abstract XmlElement parse( Reader reader, XmlParseOptions options, XmlTypeResolver typeResolver );
public abstract XmlElement parse( byte[] bytes, XmlParseOptions options );
public abstract XmlElement parse( File file, XmlParseOptions options );
public abstract XmlElement parse( URL url, XmlParseOptions options );
public abstract XmlElement parse( String string, XmlParseOptions options );
public abstract XmlElement parse( Reader reader, XmlParseOptions options );
public abstract XmlElement parse( InputStream inputStream, URL schemaEF, XmlSchemaLocalResourceResolver resolver, XmlParserCallback callback );
public abstract XmlElement parse( IType type, Reader stream, String description, boolean validating, HashMap<String, BinaryData> attachments, XmlParseOptions options );
public abstract XmlElement parse( IType type, InputStream stream, String description, boolean validating, HashMap<String, BinaryData> attachments, XmlParseOptions options, String systemId );
public abstract void addNamespacesToElementFromParse( XmlElement element, Map<String, String> allNamespaces, Map<String, URI> _uriCache );
public abstract void validateQName( QName qname );
public abstract XmlElement create( QName qName, IType type, IType xmlTypeInstanceType, XmlTypeInstance xmlTypeInstance );
public abstract IType getType( XmlElement element );
public abstract void resolveXsiTypeAndNil( XmlElement element, List<XmlSchemaIndex> schemaIndexes, IType typeInstanceType, Attributes attributes, XmlDeserializationContext context );
}