/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.internal.xml.xsd.typeprovider;
import gw.lang.reflect.IEnumValue;
import gw.lang.reflect.IType;
import gw.lang.reflect.gs.IGosuObject;
import gw.xml.IXmlSchemaEnumValue;
import gw.xml.XmlSimpleValue;
public class XmlSchemaEnumValue implements IXmlSchemaEnumValue, IEnumValue, IGosuObject {
private final XmlSchemaEnumerationTypeData _type;
private final XmlSimpleValue _serializedValue;
private final String _code;
private final int _ordinal;
public XmlSchemaEnumValue( XmlSchemaEnumerationTypeData type, XmlSimpleValue serializedValue, String code, int ordinal ) {
_type = type;
_serializedValue = serializedValue;
_code = code;
_ordinal = ordinal;
}
@Override
public Object getValue() {
return this;
}
@Override
public String getCode() {
return _code;
}
@Override
public int getOrdinal() {
return _ordinal;
}
@Override
public String getDisplayName() {
return _serializedValue.getStringValue();
}
@Override
public IType getIntrinsicType() {
return _type.getType();
}
@Override
public String toString() {
return _serializedValue.getStringValue();
}
public XmlSimpleValue getSerializedValue() {
return _serializedValue;
}
}