public final class org.apache.camel.util.IOHelper extends java.lang.Object
{
public static final int DEFAULT_BUFFER_SIZE;
private static final org.slf4j.Logger LOG;
private static final java.nio.charset.Charset UTF8_CHARSET;
private static final boolean ZERO_BYTE_EOL_ENABLED;
private void <init>()
{
org.apache.camel.util.IOHelper v;
v := @this: org.apache.camel.util.IOHelper;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static java.lang.String newStringFromBytes(byte[])
{
byte[] v;
java.nio.charset.Charset v;
java.lang.RuntimeException v;
java.lang.String v, v;
java.io.UnsupportedEncodingException v;
v := @parameter: byte[];
label:
v = new java.lang.String;
v = <org.apache.camel.util.IOHelper: java.nio.charset.Charset UTF8_CHARSET>;
v = virtualinvoke v.<java.nio.charset.Charset: java.lang.String name()>();
specialinvoke v.<java.lang.String: void <init>(byte[],java.lang.String)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>("Impossible failure: Charset.forName(\"UTF-8\") returns invalid name.", v);
throw v;
catch java.io.UnsupportedEncodingException from label to label with label;
}
public static java.lang.String newStringFromBytes(byte[], int, int)
{
byte[] v;
java.lang.RuntimeException v;
java.nio.charset.Charset v;
int v, v;
java.lang.String v, v;
java.io.UnsupportedEncodingException v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
label:
v = new java.lang.String;
v = <org.apache.camel.util.IOHelper: java.nio.charset.Charset UTF8_CHARSET>;
v = virtualinvoke v.<java.nio.charset.Charset: java.lang.String name()>();
specialinvoke v.<java.lang.String: void <init>(byte[],int,int,java.lang.String)>(v, v, v, v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>("Impossible failure: Charset.forName(\"UTF-8\") returns invalid name.", v);
throw v;
catch java.io.UnsupportedEncodingException from label to label with label;
}
public static java.io.BufferedInputStream buffered(java.io.InputStream)
{
boolean v;
java.io.InputStream v;
v := @parameter: java.io.InputStream;
staticinvoke <org.apache.camel.util.ObjectHelper: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "in");
v = v instanceof java.io.BufferedInputStream;
if v != 0 goto label;
v = new java.io.BufferedInputStream;
specialinvoke v.<java.io.BufferedInputStream: void <init>(java.io.InputStream)>(v);
label:
return v;
}
public static java.io.BufferedOutputStream buffered(java.io.OutputStream)
{
java.io.OutputStream v;
boolean v;
v := @parameter: java.io.OutputStream;
staticinvoke <org.apache.camel.util.ObjectHelper: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "out");
v = v instanceof java.io.BufferedOutputStream;
if v != 0 goto label;
v = new java.io.BufferedOutputStream;
specialinvoke v.<java.io.BufferedOutputStream: void <init>(java.io.OutputStream)>(v);
label:
return v;
}
public static java.io.BufferedReader buffered(java.io.Reader)
{
java.io.Reader v;
boolean v;
v := @parameter: java.io.Reader;
staticinvoke <org.apache.camel.util.ObjectHelper: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "reader");
v = v instanceof java.io.BufferedReader;
if v != 0 goto label;
v = new java.io.BufferedReader;
specialinvoke v.<java.io.BufferedReader: void <init>(java.io.Reader)>(v);
label:
return v;
}
public static java.io.BufferedWriter buffered(java.io.Writer)
{
java.io.Writer v;
boolean v;
v := @parameter: java.io.Writer;
staticinvoke <org.apache.camel.util.ObjectHelper: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "writer");
v = v instanceof java.io.BufferedWriter;
if v != 0 goto label;
v = new java.io.BufferedWriter;
specialinvoke v.<java.io.BufferedWriter: void <init>(java.io.Writer)>(v);
label:
return v;
}
public static java.io.IOException createIOException(java.lang.Throwable)
{
java.lang.Throwable v;
java.io.IOException v;
java.lang.String v;
v := @parameter: java.lang.Throwable;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
v = staticinvoke <org.apache.camel.util.IOHelper: java.io.IOException createIOException(java.lang.String,java.lang.Throwable)>(v, v);
return v;
}
public static java.io.IOException createIOException(java.lang.String, java.lang.Throwable)
{
java.lang.Throwable v;
java.io.IOException v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Throwable;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
virtualinvoke v.<java.io.IOException: java.lang.Throwable initCause(java.lang.Throwable)>(v);
return v;
}
public static int copy(java.io.InputStream, java.io.OutputStream) throws java.io.IOException
{
int v;
java.io.OutputStream v;
java.io.InputStream v;
v := @parameter: java.io.InputStream;
v := @parameter: java.io.OutputStream;
v = staticinvoke <org.apache.camel.util.IOHelper: int copy(java.io.InputStream,java.io.OutputStream,int)>(v, v, 4096);
return v;
}
public static int copy(java.io.InputStream, java.io.OutputStream, int) throws java.io.IOException
{
java.io.OutputStream v;
int v, v;
java.io.InputStream v;
v := @parameter: java.io.InputStream;
v := @parameter: java.io.OutputStream;
v := @parameter: int;
v = staticinvoke <org.apache.camel.util.IOHelper: int copy(java.io.InputStream,java.io.OutputStream,int,boolean)>(v, v, v, 0);
return v;
}
public static int copy(java.io.InputStream, java.io.OutputStream, int, boolean) throws java.io.IOException
{
byte[] v;
java.lang.Object[] v;
java.lang.Integer v;
int v, v, v, v, v, v;
java.lang.Boolean v;
boolean v, v, v, v, v, v, v;
java.io.OutputStream v;
org.slf4j.Logger v, v;
java.io.InputStream v;
v := @parameter: java.io.InputStream;
v := @parameter: java.io.OutputStream;
v := @parameter: int;
v := @parameter: boolean;
v = v instanceof java.io.ByteArrayInputStream;
if v == 0 goto label;
virtualinvoke v.<java.io.InputStream: void mark(int)>(0);
virtualinvoke v.<java.io.InputStream: void reset()>();
v = virtualinvoke v.<java.io.InputStream: int available()>();
goto label;
label:
v = virtualinvoke v.<java.io.InputStream: int available()>();
if v <= v goto label;
v = v;
label:
if v <= 262144 goto label;
v = 262144;
label:
v = <org.apache.camel.util.IOHelper: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.camel.util.IOHelper: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[4];
v[0] = v;
v[1] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object[])>("Copying InputStream: {} -> OutputStream: {} with buffer: {} and flush on each write {}", v);
label:
v = 0;
v = newarray (byte)[v];
v = virtualinvoke v.<java.io.InputStream: int read(byte[])>(v);
v = <org.apache.camel.util.IOHelper: boolean ZERO_BYTE_EOL_ENABLED>;
if v == 0 goto label;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
goto label;
label:
v = (int) -1;
if v <= v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
if v == 0 goto label;
label:
v = (int) -1;
if v == v goto label;
virtualinvoke v.<java.io.OutputStream: void write(byte[],int,int)>(v, 0, v);
if v == 0 goto label;
virtualinvoke v.<java.io.OutputStream: void flush()>();
label:
v = v + v;
v = virtualinvoke v.<java.io.InputStream: int read(byte[])>(v);
goto label;
label:
if v != 0 goto label;
virtualinvoke v.<java.io.OutputStream: void flush()>();
label:
return v;
}
public static void copyAndCloseInput(java.io.InputStream, java.io.OutputStream) throws java.io.IOException
{
java.io.OutputStream v;
java.io.InputStream v;
v := @parameter: java.io.InputStream;
v := @parameter: java.io.OutputStream;
staticinvoke <org.apache.camel.util.IOHelper: void copyAndCloseInput(java.io.InputStream,java.io.OutputStream,int)>(v, v, 4096);
return;
}
public static void copyAndCloseInput(java.io.InputStream, java.io.OutputStream, int) throws java.io.IOException
{
java.io.OutputStream v;
org.slf4j.Logger v;
int v;
java.io.InputStream v;
v := @parameter: java.io.InputStream;
v := @parameter: java.io.OutputStream;
v := @parameter: int;
staticinvoke <org.apache.camel.util.IOHelper: int copy(java.io.InputStream,java.io.OutputStream,int)>(v, v, v);
v = <org.apache.camel.util.IOHelper: org.slf4j.Logger LOG>;
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable,java.lang.String,org.slf4j.Logger)>(v, null, v);
return;
}
public static int copy(java.io.Reader, java.io.Writer, int) throws java.io.IOException
{
int v, v, v, v;
java.io.Writer v;
char[] v;
java.io.Reader v;
v := @parameter: java.io.Reader;
v := @parameter: java.io.Writer;
v := @parameter: int;
v = newarray (char)[v];
v = virtualinvoke v.<java.io.Reader: int read(char[])>(v);
v = 0;
label:
v = (int) -1;
if v == v goto label;
virtualinvoke v.<java.io.Writer: void write(char[],int,int)>(v, 0, v);
v = v + v;
v = virtualinvoke v.<java.io.Reader: int read(char[])>(v);
goto label;
label:
virtualinvoke v.<java.io.Writer: void flush()>();
return v;
}
public static void transfer(java.nio.channels.ReadableByteChannel, java.nio.channels.WritableByteChannel) throws java.io.IOException
{
java.nio.channels.ReadableByteChannel v;
int v;
java.nio.channels.WritableByteChannel v;
java.nio.ByteBuffer v;
boolean v;
v := @parameter: java.nio.channels.ReadableByteChannel;
v := @parameter: java.nio.channels.WritableByteChannel;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocate(int)>(4096);
label:
v = interfaceinvoke v.<java.nio.channels.ReadableByteChannel: int read(java.nio.ByteBuffer)>(v);
if v < 0 goto label;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer flip()>();
label:
v = virtualinvoke v.<java.nio.ByteBuffer: boolean hasRemaining()>();
if v == 0 goto label;
interfaceinvoke v.<java.nio.channels.WritableByteChannel: int write(java.nio.ByteBuffer)>(v);
goto label;
label:
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer clear()>();
goto label;
label:
return;
}
public static void force(java.nio.channels.FileChannel, java.lang.String, org.slf4j.Logger)
{
org.slf4j.Logger v;
java.lang.String v, v, v, v;
java.nio.channels.FileChannel v;
java.lang.Exception v;
v := @parameter: java.nio.channels.FileChannel;
v := @parameter: java.lang.String;
v := @parameter: org.slf4j.Logger;
label:
if v == null goto label;
virtualinvoke v.<java.nio.channels.FileChannel: void force(boolean)>(1);
label:
goto label;
label:
v := @caughtexception;
if v != null goto label;
v = <org.apache.camel.util.IOHelper: org.slf4j.Logger LOG>;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
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[])>("Cannot force FileChannel: \u. Reason: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
goto label;
label:
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Cannot force FileChannel. Reason: {}", v, v);
label:
return;
catch java.lang.Exception from label to label with label;
}
public static void force(java.io.FileOutputStream, java.lang.String, org.slf4j.Logger)
{
org.slf4j.Logger v;
java.io.FileOutputStream v;
java.lang.Exception v;
java.io.FileDescriptor v;
java.lang.String v, v, v, v;
v := @parameter: java.io.FileOutputStream;
v := @parameter: java.lang.String;
v := @parameter: org.slf4j.Logger;
label:
if v == null goto label;
v = virtualinvoke v.<java.io.FileOutputStream: java.io.FileDescriptor getFD()>();
virtualinvoke v.<java.io.FileDescriptor: void sync()>();
label:
goto label;
label:
v := @caughtexception;
if v != null goto label;
v = <org.apache.camel.util.IOHelper: org.slf4j.Logger LOG>;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
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[])>("Cannot sync FileDescriptor: \u. Reason: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
goto label;
label:
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Cannot sync FileDescriptor. Reason: {}", v, v);
label:
return;
catch java.lang.Exception from label to label with label;
}
public static void close(java.io.Writer, java.io.FileOutputStream, java.lang.String, org.slf4j.Logger, boolean)
{
org.slf4j.Logger v;
java.io.FileOutputStream v;
java.lang.Exception v;
java.io.Writer v;
java.lang.String v, v, v, v;
boolean v;
v := @parameter: java.io.Writer;
v := @parameter: java.io.FileOutputStream;
v := @parameter: java.lang.String;
v := @parameter: org.slf4j.Logger;
v := @parameter: boolean;
if v == null goto label;
if v == 0 goto label;
label:
virtualinvoke v.<java.io.Writer: void flush()>();
label:
goto label;
label:
v := @caughtexception;
if v != null goto label;
v = <org.apache.camel.util.IOHelper: org.slf4j.Logger LOG>;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
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[])>("Cannot flush Writer: \u. Reason: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
goto label;
label:
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Cannot flush Writer. Reason: {}", v, v);
label:
staticinvoke <org.apache.camel.util.IOHelper: void force(java.io.FileOutputStream,java.lang.String,org.slf4j.Logger)>(v, v, v);
label:
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable,java.lang.String,org.slf4j.Logger)>(v, v, v);
return;
catch java.lang.Exception from label to label with label;
}
public static void close(java.io.Closeable, java.lang.String, org.slf4j.Logger)
{
java.lang.String v;
org.slf4j.Logger v;
java.io.Closeable v;
v := @parameter: java.io.Closeable;
v := @parameter: java.lang.String;
v := @parameter: org.slf4j.Logger;
return;
}
public static void closeWithException(java.io.Closeable) throws java.io.IOException
{
java.io.Closeable v;
v := @parameter: java.io.Closeable;
return;
}
public static void close(java.nio.channels.FileChannel, java.lang.String, org.slf4j.Logger, boolean)
{
org.slf4j.Logger v;
java.lang.String v;
java.nio.channels.FileChannel v;
boolean v;
v := @parameter: java.nio.channels.FileChannel;
v := @parameter: java.lang.String;
v := @parameter: org.slf4j.Logger;
v := @parameter: boolean;
if v == 0 goto label;
staticinvoke <org.apache.camel.util.IOHelper: void force(java.nio.channels.FileChannel,java.lang.String,org.slf4j.Logger)>(v, v, v);
label:
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable,java.lang.String,org.slf4j.Logger)>(v, v, v);
return;
}
public static void close(java.io.Closeable, java.lang.String)
{
java.lang.String v;
org.slf4j.Logger v;
java.io.Closeable v;
v := @parameter: java.io.Closeable;
v := @parameter: java.lang.String;
v = <org.apache.camel.util.IOHelper: org.slf4j.Logger LOG>;
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable,java.lang.String,org.slf4j.Logger)>(v, v, v);
return;
}
public static void close(java.io.Closeable)
{
org.slf4j.Logger v;
java.io.Closeable v;
v := @parameter: java.io.Closeable;
v = <org.apache.camel.util.IOHelper: org.slf4j.Logger LOG>;
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable,java.lang.String,org.slf4j.Logger)>(v, null, v);
return;
}
public static transient void close(java.io.Closeable[])
{
java.io.Closeable v;
int v, v;
java.io.Closeable[] v;
v := @parameter: java.io.Closeable[];
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable)>(v);
v = v + 1;
goto label;
label:
return;
}
public static void closeIterator(java.lang.Object) throws java.io.IOException
{
java.io.IOException v, v;
java.lang.Object v;
boolean v, v, v;
v := @parameter: java.lang.Object;
v = v instanceof java.util.Scanner;
if v == 0 goto label;
virtualinvoke v.<java.util.Scanner: void close()>();
v = virtualinvoke v.<java.util.Scanner: java.io.IOException ioException()>();
if v == null goto label;
throw v;
label:
v = v instanceof org.apache.camel.util.Scanner;
if v == 0 goto label;
virtualinvoke v.<org.apache.camel.util.Scanner: void close()>();
v = virtualinvoke v.<org.apache.camel.util.Scanner: java.io.IOException ioException()>();
if v == null goto label;
throw v;
label:
v = v instanceof java.io.Closeable;
if v == 0 goto label;
staticinvoke <org.apache.camel.util.IOHelper: void closeWithException(java.io.Closeable)>(v);
label:
return;
}
public static void validateCharset(java.lang.String) throws java.nio.charset.UnsupportedCharsetException
{
java.lang.String v;
java.nio.charset.UnsupportedCharsetException v;
boolean v;
v := @parameter: java.lang.String;
if v == null goto label;
v = staticinvoke <java.nio.charset.Charset: boolean isSupported(java.lang.String)>(v);
if v == 0 goto label;
staticinvoke <java.nio.charset.Charset: java.nio.charset.Charset forName(java.lang.String)>(v);
return;
label:
v = new java.nio.charset.UnsupportedCharsetException;
specialinvoke v.<java.nio.charset.UnsupportedCharsetException: void <init>(java.lang.String)>(v);
throw v;
}
public static java.lang.String normalizeCharset(java.lang.String)
{
int v, v;
java.lang.String v, v, v;
boolean v, v, v, v;
v := @parameter: java.lang.String;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("\'");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("\"");
if v == 0 goto label;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(1);
label:
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("\'");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("\"");
if v == 0 goto label;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
return v;
label:
return null;
}
public static java.lang.String getCharsetName(org.apache.camel.Exchange)
{
org.apache.camel.Exchange v;
java.lang.String v;
v := @parameter: org.apache.camel.Exchange;
v = staticinvoke <org.apache.camel.util.IOHelper: java.lang.String getCharsetName(org.apache.camel.Exchange,boolean)>(v, 1);
return v;
}
public static java.lang.String getCharsetName(org.apache.camel.Exchange, boolean)
{
org.apache.camel.Message v;
java.lang.Object v;
org.apache.camel.Exchange v;
java.lang.String v, v;
boolean v;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: boolean;
if v == null goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getHeader(java.lang.String,java.lang.Class)>("CamelCharsetName", class "Ljava/lang/String;");
if v != null goto label;
interfaceinvoke v.<org.apache.camel.Exchange: java.lang.Object getProperty(java.lang.String,java.lang.Class)>("CamelCharsetName", class "Ljava/lang/String;");
label:
if v == null goto label;
v = staticinvoke <org.apache.camel.util.IOHelper: java.lang.String normalizeCharset(java.lang.String)>(v);
return v;
label:
if v == 0 goto label;
v = staticinvoke <org.apache.camel.util.IOHelper: java.lang.String getDefaultCharsetName()>();
return v;
label:
return null;
}
private static java.lang.String getDefaultCharsetName()
{
java.lang.String v;
v = staticinvoke <org.apache.camel.util.ObjectHelper: java.lang.String getSystemProperty(java.lang.String,java.lang.String)>("org.apache.camel.default.charset", "UTF-8");
return v;
}
public static java.lang.String loadText(java.io.InputStream) throws java.io.IOException
{
java.lang.Throwable v;
java.io.InputStreamReader v;
java.io.Closeable[] v, v;
java.lang.StringBuilder v;
java.io.BufferedReader v;
java.lang.String v, v;
java.io.InputStream v;
v := @parameter: java.io.InputStream;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = new java.io.InputStreamReader;
specialinvoke v.<java.io.InputStreamReader: void <init>(java.io.InputStream)>(v);
label:
v = staticinvoke <org.apache.camel.util.IOHelper: java.io.BufferedReader buffered(java.io.Reader)>(v);
label:
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
if v == null goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\n");
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
label:
v = newarray (java.io.Closeable)[2];
v[0] = v;
v[1] = v;
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable[])>(v);
return v;
label:
v := @caughtexception;
v = newarray (java.io.Closeable)[2];
v[0] = v;
v[1] = v;
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable[])>(v);
throw v;
catch java.lang.Throwable from label to label with label;
}
public static java.lang.String getCharsetNameFromContentType(java.lang.String)
{
java.lang.String[] v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(";");
v = "";
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("charset=");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(8);
label:
v = v + 1;
goto label;
label:
v = "";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = "UTF-8";
label:
v = staticinvoke <org.apache.camel.util.IOHelper: java.lang.String normalizeCharset(java.lang.String)>(v);
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
java.nio.charset.Charset v;
java.lang.String v, v;
boolean v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/camel/util/IOHelper;");
<org.apache.camel.util.IOHelper: org.slf4j.Logger LOG> = v;
v = staticinvoke <java.nio.charset.Charset: java.nio.charset.Charset forName(java.lang.String)>("UTF-8");
<org.apache.camel.util.IOHelper: java.nio.charset.Charset UTF8_CHARSET> = v;
v = "true";
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("camel.zeroByteEOLEnabled", "true");
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
<org.apache.camel.util.IOHelper: boolean ZERO_BYTE_EOL_ENABLED> = v;
return;
}
}