/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.xml; import gw.lang.reflect.IType; import gw.xml.XmlSimpleValue; import java.io.IOException; import java.util.List; import javax.xml.namespace.QName; public abstract class XmlSimpleValueBase extends XmlSimpleValue { @Override public abstract IType getGosuValueType(); public abstract List<QName> _getQNames(); public abstract String _getStringValue( boolean isEnumCode ); public abstract Object _getGosuValue(); public abstract String _serialize( XmlSerializationContext context ); public final String serialize( XmlSerializationContext context ) { String value = _serialize( context ); if ( value == null ) { throw new RuntimeException( "Null string value" ); } return value; } public final void writeTo( IXMLWriter writer, XmlSerializationContext context ) throws IOException { writer.addText( serialize( context ) ); } public String getStringValue() { return getStringValue( false ); } public String getStringValue( boolean isEnumCode ) { String value = XmlSimpleValueInternals.instance()._getStringValue( this, isEnumCode ); if ( value == null ) { throw new RuntimeException( "Null string value" ); } return value; } }