public class org.springframework.messaging.converter.MarshallingMessageConverter extends org.springframework.messaging.converter.AbstractMessageConverter
{
private org.springframework.oxm.Marshaller marshaller;
private org.springframework.oxm.Unmarshaller unmarshaller;
public void <init>()
{
org.springframework.util.MimeType v, v, v;
org.springframework.messaging.converter.MarshallingMessageConverter v;
org.springframework.util.MimeType[] v;
v := @this: org.springframework.messaging.converter.MarshallingMessageConverter;
v = newarray (org.springframework.util.MimeType)[3];
v = new org.springframework.util.MimeType;
specialinvoke v.<org.springframework.util.MimeType: void <init>(java.lang.String,java.lang.String)>("application", "xml");
v[0] = v;
v = new org.springframework.util.MimeType;
specialinvoke v.<org.springframework.util.MimeType: void <init>(java.lang.String,java.lang.String)>("text", "xml");
v[1] = v;
v = new org.springframework.util.MimeType;
specialinvoke v.<org.springframework.util.MimeType: void <init>(java.lang.String,java.lang.String)>("application", "*+xml");
v[2] = v;
specialinvoke v.<org.springframework.messaging.converter.MarshallingMessageConverter: void <init>(org.springframework.util.MimeType[])>(v);
return;
}
public transient void <init>(org.springframework.util.MimeType[])
{
java.util.List v;
org.springframework.messaging.converter.MarshallingMessageConverter v;
org.springframework.util.MimeType[] v;
v := @this: org.springframework.messaging.converter.MarshallingMessageConverter;
v := @parameter: org.springframework.util.MimeType[];
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<org.springframework.messaging.converter.AbstractMessageConverter: void <init>(java.util.Collection)>(v);
return;
}
public void <init>(org.springframework.oxm.Marshaller)
{
org.springframework.messaging.converter.MarshallingMessageConverter v;
boolean v;
org.springframework.oxm.Marshaller v;
v := @this: org.springframework.messaging.converter.MarshallingMessageConverter;
v := @parameter: org.springframework.oxm.Marshaller;
specialinvoke v.<org.springframework.messaging.converter.MarshallingMessageConverter: void <init>()>();
staticinvoke <org.springframework.util.Assert: void notNull(java.lang.Object,java.lang.String)>(v, "Marshaller must not be null");
v.<org.springframework.messaging.converter.MarshallingMessageConverter: org.springframework.oxm.Marshaller marshaller> = v;
v = v instanceof org.springframework.oxm.Unmarshaller;
if v == 0 goto label;
v.<org.springframework.messaging.converter.MarshallingMessageConverter: org.springframework.oxm.Unmarshaller unmarshaller> = v;
label:
return;
}
public void setMarshaller(org.springframework.oxm.Marshaller)
{
org.springframework.messaging.converter.MarshallingMessageConverter v;
org.springframework.oxm.Marshaller v;
v := @this: org.springframework.messaging.converter.MarshallingMessageConverter;
v := @parameter: org.springframework.oxm.Marshaller;
v.<org.springframework.messaging.converter.MarshallingMessageConverter: org.springframework.oxm.Marshaller marshaller> = v;
return;
}
public org.springframework.oxm.Marshaller getMarshaller()
{
org.springframework.messaging.converter.MarshallingMessageConverter v;
org.springframework.oxm.Marshaller v;
v := @this: org.springframework.messaging.converter.MarshallingMessageConverter;
v = v.<org.springframework.messaging.converter.MarshallingMessageConverter: org.springframework.oxm.Marshaller marshaller>;
return v;
}
public void setUnmarshaller(org.springframework.oxm.Unmarshaller)
{
org.springframework.messaging.converter.MarshallingMessageConverter v;
org.springframework.oxm.Unmarshaller v;
v := @this: org.springframework.messaging.converter.MarshallingMessageConverter;
v := @parameter: org.springframework.oxm.Unmarshaller;
v.<org.springframework.messaging.converter.MarshallingMessageConverter: org.springframework.oxm.Unmarshaller unmarshaller> = v;
return;
}
public org.springframework.oxm.Unmarshaller getUnmarshaller()
{
org.springframework.messaging.converter.MarshallingMessageConverter v;
org.springframework.oxm.Unmarshaller v;
v := @this: org.springframework.messaging.converter.MarshallingMessageConverter;
v = v.<org.springframework.messaging.converter.MarshallingMessageConverter: org.springframework.oxm.Unmarshaller unmarshaller>;
return v;
}
protected boolean canConvertFrom(org.springframework.messaging.Message, java.lang.Class)
{
org.springframework.messaging.MessageHeaders v;
org.springframework.oxm.Unmarshaller v, v;
org.springframework.messaging.converter.MarshallingMessageConverter v;
java.lang.Class v;
org.springframework.messaging.Message v;
boolean v, v, v;
v := @this: org.springframework.messaging.converter.MarshallingMessageConverter;
v := @parameter: org.springframework.messaging.Message;
v := @parameter: java.lang.Class;
v = interfaceinvoke v.<org.springframework.messaging.Message: org.springframework.messaging.MessageHeaders getHeaders()>();
v = virtualinvoke v.<org.springframework.messaging.converter.MarshallingMessageConverter: boolean supportsMimeType(org.springframework.messaging.MessageHeaders)>(v);
if v == 0 goto label;
v = v.<org.springframework.messaging.converter.MarshallingMessageConverter: org.springframework.oxm.Unmarshaller unmarshaller>;
if v == null goto label;
v = v.<org.springframework.messaging.converter.MarshallingMessageConverter: org.springframework.oxm.Unmarshaller unmarshaller>;
v = interfaceinvoke v.<org.springframework.oxm.Unmarshaller: boolean supports(java.lang.Class)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
protected boolean canConvertTo(java.lang.Object, org.springframework.messaging.MessageHeaders)
{
org.springframework.messaging.MessageHeaders v;
org.springframework.oxm.Marshaller v, v;
org.springframework.messaging.converter.MarshallingMessageConverter v;
java.lang.Class v;
java.lang.Object v;
boolean v, v, v;
v := @this: org.springframework.messaging.converter.MarshallingMessageConverter;
v := @parameter: java.lang.Object;
v := @parameter: org.springframework.messaging.MessageHeaders;
v = virtualinvoke v.<org.springframework.messaging.converter.MarshallingMessageConverter: boolean supportsMimeType(org.springframework.messaging.MessageHeaders)>(v);
if v == 0 goto label;
v = v.<org.springframework.messaging.converter.MarshallingMessageConverter: org.springframework.oxm.Marshaller marshaller>;
if v == null goto label;
v = v.<org.springframework.messaging.converter.MarshallingMessageConverter: org.springframework.oxm.Marshaller marshaller>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = interfaceinvoke v.<org.springframework.oxm.Marshaller: boolean supports(java.lang.Class)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
protected boolean supports(java.lang.Class)
{
java.lang.UnsupportedOperationException v;
java.lang.Class v;
org.springframework.messaging.converter.MarshallingMessageConverter v;
v := @this: org.springframework.messaging.converter.MarshallingMessageConverter;
v := @parameter: java.lang.Class;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>()>();
throw v;
}
protected java.lang.Object convertFromInternal(org.springframework.messaging.Message, java.lang.Class, java.lang.Object)
{
org.springframework.messaging.converter.MessageConversionException v;
javax.xml.transform.Source v;
org.springframework.beans.TypeMismatchException v;
org.springframework.oxm.Unmarshaller v, v;
java.lang.Exception v;
org.springframework.messaging.converter.MarshallingMessageConverter v;
java.lang.Class v;
java.lang.Object v, v, v;
org.springframework.messaging.Message v;
java.lang.String v, v;
boolean v;
v := @this: org.springframework.messaging.converter.MarshallingMessageConverter;
v := @parameter: org.springframework.messaging.Message;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.Object;
v = v.<org.springframework.messaging.converter.MarshallingMessageConverter: org.springframework.oxm.Unmarshaller unmarshaller>;
staticinvoke <org.springframework.util.Assert: void notNull(java.lang.Object,java.lang.String)>(v, "Property \'unmarshaller\' is required");
label:
v = interfaceinvoke v.<org.springframework.messaging.Message: java.lang.Object getPayload()>();
v = specialinvoke v.<org.springframework.messaging.converter.MarshallingMessageConverter: javax.xml.transform.Source getSource(java.lang.Object)>(v);
v = v.<org.springframework.messaging.converter.MarshallingMessageConverter: org.springframework.oxm.Unmarshaller unmarshaller>;
v = interfaceinvoke v.<org.springframework.oxm.Unmarshaller: java.lang.Object unmarshal(javax.xml.transform.Source)>(v);
v = virtualinvoke v.<java.lang.Class: boolean isInstance(java.lang.Object)>(v);
if v != 0 goto label;
v = new org.springframework.beans.TypeMismatchException;
specialinvoke v.<org.springframework.beans.TypeMismatchException: void <init>(java.lang.Object,java.lang.Class)>(v, v);
throw v;
label:
return v;
label:
v := @caughtexception;
v = new org.springframework.messaging.converter.MessageConversionException;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Could not unmarshal XML: \u0001");
specialinvoke v.<org.springframework.messaging.converter.MessageConversionException: void <init>(org.springframework.messaging.Message,java.lang.String,java.lang.Throwable)>(v, v, v);
throw v;
catch java.lang.Exception from label to label with label;
}
private javax.xml.transform.Source getSource(java.lang.Object)
{
javax.xml.transform.stream.StreamSource v, v;
org.springframework.messaging.converter.MarshallingMessageConverter v;
java.io.ByteArrayInputStream v;
java.io.StringReader v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: org.springframework.messaging.converter.MarshallingMessageConverter;
v := @parameter: java.lang.Object;
v = v instanceof byte[];
if v == 0 goto label;
v = new javax.xml.transform.stream.StreamSource;
v = new java.io.ByteArrayInputStream;
specialinvoke v.<java.io.ByteArrayInputStream: void <init>(byte[])>(v);
specialinvoke v.<javax.xml.transform.stream.StreamSource: void <init>(java.io.InputStream)>(v);
return v;
label:
v = new javax.xml.transform.stream.StreamSource;
v = new java.io.StringReader;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
specialinvoke v.<java.io.StringReader: void <init>(java.lang.String)>(v);
specialinvoke v.<javax.xml.transform.stream.StreamSource: void <init>(java.io.Reader)>(v);
return v;
}
protected java.lang.Object convertToInternal(java.lang.Object, org.springframework.messaging.MessageHeaders, java.lang.Object)
{
java.lang.Throwable v;
java.io.ByteArrayOutputStream v;
javax.xml.transform.stream.StreamResult v, v;
org.springframework.oxm.Marshaller v, v, v;
org.springframework.messaging.converter.MarshallingMessageConverter v;
java.lang.String v, v;
java.io.StringWriter v;
org.springframework.messaging.converter.MessageConversionException v;
org.springframework.messaging.MessageHeaders v;
java.io.Serializable v;
java.lang.Class v;
java.lang.Object v, v;
v := @this: org.springframework.messaging.converter.MarshallingMessageConverter;
v := @parameter: java.lang.Object;
v := @parameter: org.springframework.messaging.MessageHeaders;
v := @parameter: java.lang.Object;
v = v.<org.springframework.messaging.converter.MarshallingMessageConverter: org.springframework.oxm.Marshaller marshaller>;
staticinvoke <org.springframework.util.Assert: void notNull(java.lang.Object,java.lang.String)>(v, "Property \'marshaller\' is required");
label:
v = virtualinvoke v.<org.springframework.messaging.converter.MarshallingMessageConverter: java.lang.Class getSerializedPayloadClass()>();
if class "[B" != v goto label;
v = new java.io.ByteArrayOutputStream;
specialinvoke v.<java.io.ByteArrayOutputStream: void <init>(int)>(1024);
v = new javax.xml.transform.stream.StreamResult;
specialinvoke v.<javax.xml.transform.stream.StreamResult: void <init>(java.io.OutputStream)>(v);
v = v.<org.springframework.messaging.converter.MarshallingMessageConverter: org.springframework.oxm.Marshaller marshaller>;
interfaceinvoke v.<org.springframework.oxm.Marshaller: void marshal(java.lang.Object,javax.xml.transform.Result)>(v, v);
v = virtualinvoke v.<java.io.ByteArrayOutputStream: byte[] toByteArray()>();
goto label;
label:
v = new java.io.StringWriter;
specialinvoke v.<java.io.StringWriter: void <init>(int)>(1024);
v = new javax.xml.transform.stream.StreamResult;
specialinvoke v.<javax.xml.transform.stream.StreamResult: void <init>(java.io.Writer)>(v);
v = v.<org.springframework.messaging.converter.MarshallingMessageConverter: org.springframework.oxm.Marshaller marshaller>;
interfaceinvoke v.<org.springframework.oxm.Marshaller: void marshal(java.lang.Object,javax.xml.transform.Result)>(v, v);
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
label:
goto label;
label:
v := @caughtexception;
v = new org.springframework.messaging.converter.MessageConversionException;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Could not marshal XML: \u0001");
specialinvoke v.<org.springframework.messaging.converter.MessageConversionException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
}