public class org.apache.camel.converter.stream.CachedOutputStream extends java.io.OutputStream
{
public static final java.lang.String THRESHOLD;
public static final java.lang.String BUFFER_SIZE;
public static final java.lang.String TEMP_DIR;
public static final java.lang.String CIPHER_TRANSFORMATION;
private final org.apache.camel.spi.StreamCachingStrategy strategy;
private java.io.OutputStream currentStream;
private boolean inMemory;
private int totalLength;
private final org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager tempFileManager;
private final boolean closedOnCompletion;
public void <init>(org.apache.camel.Exchange)
{
org.apache.camel.converter.stream.CachedOutputStream v;
org.apache.camel.Exchange v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
v := @parameter: org.apache.camel.Exchange;
specialinvoke v.<org.apache.camel.converter.stream.CachedOutputStream: void <init>(org.apache.camel.Exchange,boolean)>(v, 1);
return;
}
public void <init>(org.apache.camel.Exchange, boolean)
{
org.apache.camel.CamelContext v;
org.apache.camel.Exchange v;
org.apache.camel.converter.stream.CachedByteArrayOutputStream v;
org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager v, v;
org.apache.camel.converter.stream.CachedOutputStream v;
int v;
org.apache.camel.spi.StreamCachingStrategy v, v;
boolean v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: boolean;
specialinvoke v.<java.io.OutputStream: void <init>()>();
v.<org.apache.camel.converter.stream.CachedOutputStream: boolean inMemory> = 1;
v.<org.apache.camel.converter.stream.CachedOutputStream: boolean closedOnCompletion> = v;
v = new org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager;
specialinvoke v.<org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager: void <init>(boolean)>(v);
v.<org.apache.camel.converter.stream.CachedOutputStream: org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager tempFileManager> = v;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager tempFileManager>;
virtualinvoke v.<org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager: void addExchange(org.apache.camel.Exchange)>(v);
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.CamelContext getContext()>();
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.spi.StreamCachingStrategy getStreamCachingStrategy()>();
v.<org.apache.camel.converter.stream.CachedOutputStream: org.apache.camel.spi.StreamCachingStrategy strategy> = v;
v = new org.apache.camel.converter.stream.CachedByteArrayOutputStream;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: org.apache.camel.spi.StreamCachingStrategy strategy>;
v = interfaceinvoke v.<org.apache.camel.spi.StreamCachingStrategy: int getBufferSize()>();
specialinvoke v.<org.apache.camel.converter.stream.CachedByteArrayOutputStream: void <init>(int)>(v);
v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream> = v;
return;
}
public void flush() throws java.io.IOException
{
java.io.OutputStream v;
org.apache.camel.converter.stream.CachedOutputStream v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream>;
virtualinvoke v.<java.io.OutputStream: void flush()>();
return;
}
public void close() throws java.io.IOException
{
java.io.OutputStream v;
org.apache.camel.converter.stream.CachedOutputStream v;
boolean v;
org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager v, v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream>;
virtualinvoke v.<java.io.OutputStream: void close()>();
v = v.<org.apache.camel.converter.stream.CachedOutputStream: boolean closedOnCompletion>;
if v != 0 goto label;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager tempFileManager>;
virtualinvoke v.<org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager: void closeFileInputStreams()>();
v = v.<org.apache.camel.converter.stream.CachedOutputStream: org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager tempFileManager>;
virtualinvoke v.<org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager: void cleanUpTempFile()>();
label:
return;
}
public boolean equals(java.lang.Object)
{
java.io.OutputStream v;
org.apache.camel.converter.stream.CachedOutputStream v;
java.lang.Object v;
boolean v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
v := @parameter: java.lang.Object;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
return v;
}
public int hashCode()
{
int v;
java.io.OutputStream v;
org.apache.camel.converter.stream.CachedOutputStream v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream>;
v = virtualinvoke v.<java.lang.Object: int hashCode()>();
return v;
}
public java.io.OutputStream getCurrentStream()
{
java.io.OutputStream v;
org.apache.camel.converter.stream.CachedOutputStream v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream>;
return v;
}
public java.lang.String toString()
{
int v;
org.apache.camel.converter.stream.CachedOutputStream v;
java.lang.String v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: int totalLength>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("CachedOutputStream[size: \u]");
return v;
}
public void write(byte[], int, int) throws java.io.IOException
{
java.io.OutputStream v, v;
byte[] v;
org.apache.camel.converter.stream.CachedOutputStream v;
int v, v, v, v, v;
org.apache.camel.spi.StreamCachingStrategy v;
boolean v, v, v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: int totalLength>;
v = v + v;
v.<org.apache.camel.converter.stream.CachedOutputStream: int totalLength> = v;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: boolean inMemory>;
if v == 0 goto label;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream>;
v = v instanceof java.io.ByteArrayOutputStream;
if v == 0 goto label;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: org.apache.camel.spi.StreamCachingStrategy strategy>;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: int totalLength>;
v = interfaceinvoke v.<org.apache.camel.spi.StreamCachingStrategy: boolean shouldSpoolCache(long)>(v);
if v == 0 goto label;
specialinvoke v.<org.apache.camel.converter.stream.CachedOutputStream: void pageToFileStream()>();
label:
v = v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream>;
virtualinvoke v.<java.io.OutputStream: void write(byte[],int,int)>(v, v, v);
return;
}
public void write(byte[]) throws java.io.IOException
{
java.io.OutputStream v, v;
byte[] v;
org.apache.camel.converter.stream.CachedOutputStream v;
int v, v, v, v;
org.apache.camel.spi.StreamCachingStrategy v;
boolean v, v, v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
v := @parameter: byte[];
v = v.<org.apache.camel.converter.stream.CachedOutputStream: int totalLength>;
v = lengthof v;
v = v + v;
v.<org.apache.camel.converter.stream.CachedOutputStream: int totalLength> = v;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: boolean inMemory>;
if v == 0 goto label;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream>;
v = v instanceof java.io.ByteArrayOutputStream;
if v == 0 goto label;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: org.apache.camel.spi.StreamCachingStrategy strategy>;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: int totalLength>;
v = interfaceinvoke v.<org.apache.camel.spi.StreamCachingStrategy: boolean shouldSpoolCache(long)>(v);
if v == 0 goto label;
specialinvoke v.<org.apache.camel.converter.stream.CachedOutputStream: void pageToFileStream()>();
label:
v = v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream>;
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
return;
}
public void write(int) throws java.io.IOException
{
java.io.OutputStream v, v;
org.apache.camel.converter.stream.CachedOutputStream v;
int v, v, v, v;
org.apache.camel.spi.StreamCachingStrategy v;
boolean v, v, v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
v := @parameter: int;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: int totalLength>;
v = v + 1;
v.<org.apache.camel.converter.stream.CachedOutputStream: int totalLength> = v;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: boolean inMemory>;
if v == 0 goto label;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream>;
v = v instanceof java.io.ByteArrayOutputStream;
if v == 0 goto label;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: org.apache.camel.spi.StreamCachingStrategy strategy>;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: int totalLength>;
v = interfaceinvoke v.<org.apache.camel.spi.StreamCachingStrategy: boolean shouldSpoolCache(long)>(v);
if v == 0 goto label;
specialinvoke v.<org.apache.camel.converter.stream.CachedOutputStream: void pageToFileStream()>();
label:
v = v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream>;
virtualinvoke v.<java.io.OutputStream: void write(int)>(v);
return;
}
public java.io.InputStream getInputStream() throws java.io.IOException
{
org.apache.camel.converter.stream.CachedOutputStream v;
org.apache.camel.StreamCache v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
v = virtualinvoke v.<org.apache.camel.converter.stream.CachedOutputStream: org.apache.camel.StreamCache newStreamCache()>();
return v;
}
public java.io.InputStream getWrappedInputStream() throws java.io.IOException
{
org.apache.camel.converter.stream.CachedOutputStream v;
org.apache.camel.StreamCache v;
org.apache.camel.converter.stream.CachedOutputStream$WrappedInputStream v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
v = new org.apache.camel.converter.stream.CachedOutputStream$WrappedInputStream;
v = virtualinvoke v.<org.apache.camel.converter.stream.CachedOutputStream: org.apache.camel.StreamCache newStreamCache()>();
specialinvoke v.<org.apache.camel.converter.stream.CachedOutputStream$WrappedInputStream: void <init>(org.apache.camel.converter.stream.CachedOutputStream,java.io.InputStream)>(v, v);
return v;
}
public org.apache.camel.StreamCache getStreamCache() throws java.io.IOException
{
org.apache.camel.converter.stream.CachedOutputStream v;
org.apache.camel.StreamCache v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
v = virtualinvoke v.<org.apache.camel.converter.stream.CachedOutputStream: org.apache.camel.StreamCache newStreamCache()>();
return v;
}
public org.apache.camel.StreamCache newStreamCache() throws java.io.IOException
{
java.io.OutputStream v, v, v;
java.lang.IllegalStateException v;
org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager v;
org.apache.camel.converter.stream.CachedOutputStream v;
org.apache.camel.converter.stream.InputStreamCache v;
org.apache.camel.converter.stream.FileInputStreamCache v;
java.lang.Class v;
java.lang.String v, v;
boolean v, v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
virtualinvoke v.<org.apache.camel.converter.stream.CachedOutputStream: void flush()>();
v = v.<org.apache.camel.converter.stream.CachedOutputStream: boolean inMemory>;
if v == 0 goto label;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream>;
v = v instanceof org.apache.camel.converter.stream.CachedByteArrayOutputStream;
if v == 0 goto label;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream>;
v = virtualinvoke v.<org.apache.camel.converter.stream.CachedByteArrayOutputStream: org.apache.camel.converter.stream.InputStreamCache newInputStreamCache()>();
return v;
label:
v = new java.lang.IllegalStateException;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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[])>("CurrentStream should be an instance of CachedByteArrayOutputStream but is: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.camel.converter.stream.CachedOutputStream: org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager tempFileManager>;
v = virtualinvoke v.<org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager: org.apache.camel.converter.stream.FileInputStreamCache newStreamCache()>();
return v;
}
private void pageToFileStream() throws java.io.IOException
{
java.io.OutputStream v, v, v;
java.lang.Throwable v;
org.apache.camel.converter.stream.CachedOutputStream v;
org.apache.camel.spi.StreamCachingStrategy v;
org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
virtualinvoke v.<org.apache.camel.converter.stream.CachedOutputStream: void flush()>();
v = v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream>;
label:
v = v.<org.apache.camel.converter.stream.CachedOutputStream: org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager tempFileManager>;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: org.apache.camel.spi.StreamCachingStrategy strategy>;
v = virtualinvoke v.<org.apache.camel.converter.stream.FileInputStreamCache$TempFileManager: java.io.OutputStream createOutputStream(org.apache.camel.spi.StreamCachingStrategy)>(v);
v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream> = v;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: java.io.OutputStream currentStream>;
virtualinvoke v.<java.io.ByteArrayOutputStream: void writeTo(java.io.OutputStream)>(v);
label:
v.<org.apache.camel.converter.stream.CachedOutputStream: boolean inMemory> = 0;
goto label;
label:
v := @caughtexception;
v.<org.apache.camel.converter.stream.CachedOutputStream: boolean inMemory> = 0;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public int getBufferSize()
{
int v;
org.apache.camel.converter.stream.CachedOutputStream v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
v = virtualinvoke v.<org.apache.camel.converter.stream.CachedOutputStream: int getStrategyBufferSize()>();
return v;
}
public int getStrategyBufferSize()
{
int v;
org.apache.camel.converter.stream.CachedOutputStream v;
org.apache.camel.spi.StreamCachingStrategy v;
v := @this: org.apache.camel.converter.stream.CachedOutputStream;
v = v.<org.apache.camel.converter.stream.CachedOutputStream: org.apache.camel.spi.StreamCachingStrategy strategy>;
v = interfaceinvoke v.<org.apache.camel.spi.StreamCachingStrategy: int getBufferSize()>();
return v;
}
}