public class org.apache.axiom.om.impl.OMMultipartWriter extends java.lang.Object
{
private final org.apache.axiom.om.OMOutputFormat format;
private final org.apache.axiom.mime.MultipartBodyWriter writer;
private final boolean useCTEBase;
private final java.lang.String rootPartContentType;
public void <init>(java.io.OutputStream, org.apache.axiom.om.OMOutputFormat)
{
org.apache.axiom.om.impl.OMMultipartWriter v;
org.apache.axiom.mime.MultipartBodyWriter v;
java.lang.Boolean v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v;
java.io.OutputStream v;
org.apache.axiom.om.OMOutputFormat v;
java.lang.Object v;
v := @this: org.apache.axiom.om.impl.OMMultipartWriter;
v := @parameter: java.io.OutputStream;
v := @parameter: org.apache.axiom.om.OMOutputFormat;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.axiom.om.impl.OMMultipartWriter: org.apache.axiom.om.OMOutputFormat format> = v;
v = new org.apache.axiom.mime.MultipartBodyWriter;
v = virtualinvoke v.<org.apache.axiom.om.OMOutputFormat: java.lang.String getMimeBoundary()>();
specialinvoke v.<org.apache.axiom.mime.MultipartBodyWriter: void <init>(java.io.OutputStream,java.lang.String)>(v, v);
v.<org.apache.axiom.om.impl.OMMultipartWriter: org.apache.axiom.mime.MultipartBodyWriter writer> = v;
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
v = virtualinvoke v.<org.apache.axiom.om.OMOutputFormat: java.lang.Object getProperty(java.lang.String)>("org.apache.axiom.om.OMFormat.use.cteBase.forNonTextualAttachments");
v = virtualinvoke v.<java.lang.Boolean: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<org.apache.axiom.om.impl.OMMultipartWriter: boolean useCTEBase64> = v;
v = virtualinvoke v.<org.apache.axiom.om.OMOutputFormat: boolean isSOAP11()>();
if v == 0 goto label;
v = "text/xml";
goto label;
label:
v = "application/soap+xml";
label:
v = virtualinvoke v.<org.apache.axiom.om.OMOutputFormat: boolean isOptimized()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.axiom.om.OMOutputFormat: java.lang.String getCharSetEncoding()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, 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[])>("application/xop+xml; charset=\u; type=\"\u0001\"");
v.<org.apache.axiom.om.impl.OMMultipartWriter: java.lang.String rootPartContentType> = v;
goto label;
label:
v = virtualinvoke v.<org.apache.axiom.om.OMOutputFormat: java.lang.String getCharSetEncoding()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, 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[])>("\u; charset=\u0001");
v.<org.apache.axiom.om.impl.OMMultipartWriter: java.lang.String rootPartContentType> = v;
label:
return;
}
private static boolean isTextual(java.lang.String)
{
org.apache.axiom.mime.ContentType v;
java.lang.String v;
java.text.ParseException v;
boolean v;
v := @parameter: java.lang.String;
label:
v = new org.apache.axiom.mime.ContentType;
specialinvoke v.<org.apache.axiom.mime.ContentType: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.axiom.mime.ContentType: boolean isTextual()>();
label:
return v;
label:
v := @caughtexception;
return 0;
catch java.text.ParseException from label to label with label;
}
private java.lang.String getContentTransferEncoding(java.lang.String)
{
org.apache.axiom.om.impl.OMMultipartWriter v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.axiom.om.impl.OMMultipartWriter;
v := @parameter: java.lang.String;
v = v.<org.apache.axiom.om.impl.OMMultipartWriter: boolean useCTEBase64>;
if v == 0 goto label;
v = staticinvoke <org.apache.axiom.om.impl.OMMultipartWriter: boolean isTextual(java.lang.String)>(v);
if v != 0 goto label;
return "base64";
label:
return "binary";
}
public java.lang.String getRootPartContentType()
{
org.apache.axiom.om.impl.OMMultipartWriter v;
java.lang.String v;
v := @this: org.apache.axiom.om.impl.OMMultipartWriter;
v = v.<org.apache.axiom.om.impl.OMMultipartWriter: java.lang.String rootPartContentType>;
return v;
}
public java.io.OutputStream writeRootPart() throws java.io.IOException
{
java.io.OutputStream v;
org.apache.axiom.om.impl.OMMultipartWriter v;
org.apache.axiom.om.OMOutputFormat v;
org.apache.axiom.mime.MultipartBodyWriter v;
java.lang.String v, v;
v := @this: org.apache.axiom.om.impl.OMMultipartWriter;
v = v.<org.apache.axiom.om.impl.OMMultipartWriter: org.apache.axiom.mime.MultipartBodyWriter writer>;
v = v.<org.apache.axiom.om.impl.OMMultipartWriter: java.lang.String rootPartContentType>;
v = v.<org.apache.axiom.om.impl.OMMultipartWriter: org.apache.axiom.om.OMOutputFormat format>;
v = virtualinvoke v.<org.apache.axiom.om.OMOutputFormat: java.lang.String getRootContentId()>();
v = virtualinvoke v.<org.apache.axiom.mime.MultipartBodyWriter: java.io.OutputStream writePart(java.lang.String,java.lang.String,java.lang.String,java.util.List)>(v, "binary", v, null);
return v;
}
public java.io.OutputStream writePart(java.lang.String, java.lang.String) throws java.io.IOException
{
java.io.OutputStream v;
org.apache.axiom.om.impl.OMMultipartWriter v;
org.apache.axiom.mime.MultipartBodyWriter v;
java.lang.String v, v, v;
v := @this: org.apache.axiom.om.impl.OMMultipartWriter;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<org.apache.axiom.om.impl.OMMultipartWriter: org.apache.axiom.mime.MultipartBodyWriter writer>;
v = specialinvoke v.<org.apache.axiom.om.impl.OMMultipartWriter: java.lang.String getContentTransferEncoding(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.axiom.mime.MultipartBodyWriter: java.io.OutputStream writePart(java.lang.String,java.lang.String,java.lang.String,java.util.List)>(v, v, v, null);
return v;
}
public java.io.OutputStream writePart(java.lang.String, java.lang.String, java.util.List) throws java.io.IOException
{
java.io.OutputStream v;
org.apache.axiom.om.impl.OMMultipartWriter v;
java.util.List v;
org.apache.axiom.mime.MultipartBodyWriter v;
java.lang.String v, v, v;
v := @this: org.apache.axiom.om.impl.OMMultipartWriter;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.util.List;
v = v.<org.apache.axiom.om.impl.OMMultipartWriter: org.apache.axiom.mime.MultipartBodyWriter writer>;
v = specialinvoke v.<org.apache.axiom.om.impl.OMMultipartWriter: java.lang.String getContentTransferEncoding(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.axiom.mime.MultipartBodyWriter: java.io.OutputStream writePart(java.lang.String,java.lang.String,java.lang.String,java.util.List)>(v, v, v, v);
return v;
}
public void writePart(javax.activation.DataHandler, java.lang.String, java.util.List) throws java.io.IOException
{
org.apache.axiom.om.impl.OMMultipartWriter v;
javax.activation.DataHandler v;
java.util.List v;
org.apache.axiom.mime.MultipartBodyWriter v;
java.lang.String v, v, v;
boolean v;
v := @this: org.apache.axiom.om.impl.OMMultipartWriter;
v := @parameter: javax.activation.DataHandler;
v := @parameter: java.lang.String;
v := @parameter: java.util.List;
v = null;
v = v instanceof org.apache.axiom.attachments.ConfigurableDataHandler;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.axiom.attachments.ConfigurableDataHandler: java.lang.String getTransferEncoding()>();
label:
if v != null goto label;
v = virtualinvoke v.<javax.activation.DataHandler: java.lang.String getContentType()>();
v = specialinvoke v.<org.apache.axiom.om.impl.OMMultipartWriter: java.lang.String getContentTransferEncoding(java.lang.String)>(v);
label:
v = v.<org.apache.axiom.om.impl.OMMultipartWriter: org.apache.axiom.mime.MultipartBodyWriter writer>;
virtualinvoke v.<org.apache.axiom.mime.MultipartBodyWriter: void writePart(javax.activation.DataHandler,java.lang.String,java.lang.String,java.util.List)>(v, v, v, v);
return;
}
public void writePart(javax.activation.DataHandler, java.lang.String) throws java.io.IOException
{
org.apache.axiom.om.impl.OMMultipartWriter v;
java.lang.String v;
javax.activation.DataHandler v;
v := @this: org.apache.axiom.om.impl.OMMultipartWriter;
v := @parameter: javax.activation.DataHandler;
v := @parameter: java.lang.String;
virtualinvoke v.<org.apache.axiom.om.impl.OMMultipartWriter: void writePart(javax.activation.DataHandler,java.lang.String,java.util.List)>(v, v, null);
return;
}
public void complete() throws java.io.IOException
{
org.apache.axiom.om.impl.OMMultipartWriter v;
org.apache.axiom.mime.MultipartBodyWriter v;
v := @this: org.apache.axiom.om.impl.OMMultipartWriter;
v = v.<org.apache.axiom.om.impl.OMMultipartWriter: org.apache.axiom.mime.MultipartBodyWriter writer>;
virtualinvoke v.<org.apache.axiom.mime.MultipartBodyWriter: void complete()>();
return;
}
}