/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.xml.ws.server.marshal; import gw.internal.schema.gw.xsd.w3c.xmlschema.types.complex.LocalElement; import gw.internal.xml.ws.server.WsiServiceInfo; import gw.lang.reflect.IType; import gw.xml.XmlElement; import gw.xml.XmlSchemaAccess; import java.util.Map; import javax.xml.namespace.QName; import java.util.Set; public abstract class MarshalInfo { private final IType _type; public MarshalInfo( IType type ) { _type = type; } public static final QName GW_TYPE_QNAME = new QName("http://guidewire.com/xsd", "type", "gw"); public static final QName XS_STRING_QNAME = gw.internal.schema.gw.xsd.w3c.xmlschema.types.simple.String.$QNAME; public abstract Map<String,Set<XmlSchemaAccess>> getAllSchemas(); public abstract void addType( LocalElement element, WsiServiceInfo serviceInfo ) throws Exception; public abstract Object unmarshal(XmlElement componentElement, UnmarshalContext context); public abstract void marshal(XmlElement parameterElement, IType type, Object obj, MarshalContext context); public final IType getType() { return _type; } }