public class org.glassfish.grizzly.utils.StringDecoder extends org.glassfish.grizzly.AbstractTransformer
{
private static final java.util.logging.Logger logger;
protected java.nio.charset.Charset charset;
protected final org.glassfish.grizzly.attributes.Attribute lengthAttribute;
protected byte[] stringTerminateBytes;
public void <init>()
{
org.glassfish.grizzly.utils.StringDecoder v;
v := @this: org.glassfish.grizzly.utils.StringDecoder;
specialinvoke v.<org.glassfish.grizzly.utils.StringDecoder: void <init>(java.nio.charset.Charset,java.lang.String)>(null, null);
return;
}
public void <init>(java.lang.String)
{
java.lang.String v;
java.nio.charset.Charset v;
org.glassfish.grizzly.utils.StringDecoder v;
v := @this: org.glassfish.grizzly.utils.StringDecoder;
v := @parameter: java.lang.String;
v = staticinvoke <java.nio.charset.Charset: java.nio.charset.Charset forName(java.lang.String)>("UTF-8");
specialinvoke v.<org.glassfish.grizzly.utils.StringDecoder: void <init>(java.nio.charset.Charset,java.lang.String)>(v, v);
return;
}
public void <init>(java.nio.charset.Charset)
{
java.nio.charset.Charset v;
org.glassfish.grizzly.utils.StringDecoder v;
v := @this: org.glassfish.grizzly.utils.StringDecoder;
v := @parameter: java.nio.charset.Charset;
specialinvoke v.<org.glassfish.grizzly.utils.StringDecoder: void <init>(java.nio.charset.Charset,java.lang.String)>(v, null);
return;
}
public void <init>(java.nio.charset.Charset, java.lang.String)
{
byte[] v;
org.glassfish.grizzly.attributes.Attribute v;
org.glassfish.grizzly.utils.StringDecoder v;
org.glassfish.grizzly.attributes.AttributeBuilder v;
java.nio.charset.Charset v, v, v;
java.lang.String v, v;
java.io.UnsupportedEncodingException v;
v := @this: org.glassfish.grizzly.utils.StringDecoder;
v := @parameter: java.nio.charset.Charset;
v := @parameter: java.lang.String;
specialinvoke v.<org.glassfish.grizzly.AbstractTransformer: void <init>()>();
if v == null goto label;
v = v;
goto label;
label:
v = staticinvoke <java.nio.charset.Charset: java.nio.charset.Charset defaultCharset()>();
label:
v.<org.glassfish.grizzly.utils.StringDecoder: java.nio.charset.Charset charset> = v;
if v == null goto label;
label:
v = v.<org.glassfish.grizzly.utils.StringDecoder: java.nio.charset.Charset charset>;
v = virtualinvoke v.<java.nio.charset.Charset: java.lang.String name()>();
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.lang.String)>(v);
v.<org.glassfish.grizzly.utils.StringDecoder: byte[] stringTerminateBytes> = v;
label:
goto label;
label:
v := @caughtexception;
label:
v = v.<org.glassfish.grizzly.utils.StringDecoder: org.glassfish.grizzly.attributes.AttributeBuilder attributeBuilder>;
v = interfaceinvoke v.<org.glassfish.grizzly.attributes.AttributeBuilder: org.glassfish.grizzly.attributes.Attribute createAttribute(java.lang.String)>("StringDecoder.StringSize");
v.<org.glassfish.grizzly.utils.StringDecoder: org.glassfish.grizzly.attributes.Attribute lengthAttribute> = v;
return;
catch java.io.UnsupportedEncodingException from label to label with label;
}
public java.lang.String getName()
{
org.glassfish.grizzly.utils.StringDecoder v;
v := @this: org.glassfish.grizzly.utils.StringDecoder;
return "StringDecoder";
}
protected org.glassfish.grizzly.TransformationResult transformImpl(org.glassfish.grizzly.attributes.AttributeStorage, org.glassfish.grizzly.Buffer) throws org.glassfish.grizzly.TransformationException
{
byte[] v;
org.glassfish.grizzly.attributes.AttributeStorage v;
org.glassfish.grizzly.TransformationException v;
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.utils.StringDecoder v;
org.glassfish.grizzly.TransformationResult v;
v := @this: org.glassfish.grizzly.utils.StringDecoder;
v := @parameter: org.glassfish.grizzly.attributes.AttributeStorage;
v := @parameter: org.glassfish.grizzly.Buffer;
if v != null goto label;
v = new org.glassfish.grizzly.TransformationException;
specialinvoke v.<org.glassfish.grizzly.TransformationException: void <init>(java.lang.String)>("Input could not be null");
throw v;
label:
v = v.<org.glassfish.grizzly.utils.StringDecoder: byte[] stringTerminateBytes>;
if v != null goto label;
v = virtualinvoke v.<org.glassfish.grizzly.utils.StringDecoder: org.glassfish.grizzly.TransformationResult parseWithLengthPrefix(org.glassfish.grizzly.attributes.AttributeStorage,org.glassfish.grizzly.Buffer)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.grizzly.utils.StringDecoder: org.glassfish.grizzly.TransformationResult parseWithTerminatingSeq(org.glassfish.grizzly.attributes.AttributeStorage,org.glassfish.grizzly.Buffer)>(v, v);
label:
return v;
}
protected org.glassfish.grizzly.TransformationResult parseWithLengthPrefix(org.glassfish.grizzly.attributes.AttributeStorage, org.glassfish.grizzly.Buffer)
{
java.lang.Object[] v;
org.glassfish.grizzly.attributes.AttributeStorage v;
org.glassfish.grizzly.attributes.Attribute v, v;
org.glassfish.grizzly.utils.StringDecoder v;
java.util.logging.Level v, v;
java.nio.charset.Charset v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v, v;
org.glassfish.grizzly.TransformationResult v, v, v;
boolean v;
org.glassfish.grizzly.Buffer v;
java.util.logging.Logger v, v;
java.lang.Object v;
v := @this: org.glassfish.grizzly.utils.StringDecoder;
v := @parameter: org.glassfish.grizzly.attributes.AttributeStorage;
v := @parameter: org.glassfish.grizzly.Buffer;
v = v.<org.glassfish.grizzly.utils.StringDecoder: org.glassfish.grizzly.attributes.Attribute lengthAttribute>;
v = virtualinvoke v.<org.glassfish.grizzly.attributes.Attribute: java.lang.Object get(org.glassfish.grizzly.attributes.AttributeStorage)>(v);
v = <org.glassfish.grizzly.utils.StringDecoder: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.grizzly.utils.StringDecoder: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v[1] = v;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: java.lang.String toStringContent()>();
v[2] = v;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object[])>(v, "StringDecoder decode stringSize={0} buffer={1} content={2}", v);
label:
if v != null goto label;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int remaining()>();
if v >= 4 goto label;
v = staticinvoke <org.glassfish.grizzly.TransformationResult: org.glassfish.grizzly.TransformationResult createIncompletedResult(java.lang.Object)>(v);
return v;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int getInt()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = v.<org.glassfish.grizzly.utils.StringDecoder: org.glassfish.grizzly.attributes.Attribute lengthAttribute>;
virtualinvoke v.<org.glassfish.grizzly.attributes.Attribute: void set(org.glassfish.grizzly.attributes.AttributeStorage,java.lang.Object)>(v, v);
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int remaining()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v >= v goto label;
v = staticinvoke <org.glassfish.grizzly.TransformationResult: org.glassfish.grizzly.TransformationResult createIncompletedResult(java.lang.Object)>(v);
return v;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int limit()>();
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int position()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v + v;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer limit(int)>(v);
v = v.<org.glassfish.grizzly.utils.StringDecoder: java.nio.charset.Charset charset>;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: java.lang.String toStringContent(java.nio.charset.Charset)>(v);
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int limit()>();
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer position(int)>(v);
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer limit(int)>(v);
v = staticinvoke <org.glassfish.grizzly.TransformationResult: org.glassfish.grizzly.TransformationResult createCompletedResult(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
protected org.glassfish.grizzly.TransformationResult parseWithTerminatingSeq(org.glassfish.grizzly.attributes.AttributeStorage, org.glassfish.grizzly.Buffer)
{
byte[] v, v;
org.glassfish.grizzly.attributes.AttributeStorage v;
org.glassfish.grizzly.attributes.Attribute v, v;
java.lang.Integer v;
org.glassfish.grizzly.utils.StringDecoder v;
byte v, v;
java.nio.charset.Charset v;
int v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
org.glassfish.grizzly.TransformationResult v, v;
org.glassfish.grizzly.Buffer v;
java.lang.Object v;
v := @this: org.glassfish.grizzly.utils.StringDecoder;
v := @parameter: org.glassfish.grizzly.attributes.AttributeStorage;
v := @parameter: org.glassfish.grizzly.Buffer;
v = v.<org.glassfish.grizzly.utils.StringDecoder: byte[] stringTerminateBytes>;
v = lengthof v;
v = 0;
v = (int) -1;
v = v;
v = v.<org.glassfish.grizzly.utils.StringDecoder: org.glassfish.grizzly.attributes.Attribute lengthAttribute>;
v = virtualinvoke v.<org.glassfish.grizzly.attributes.Attribute: java.lang.Object get(org.glassfish.grizzly.attributes.AttributeStorage)>(v);
v = 0;
if v == null goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int position()>();
v = v + v;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int limit()>();
label:
if v >= v goto label;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: byte get(int)>(v);
v = v.<org.glassfish.grizzly.utils.StringDecoder: byte[] stringTerminateBytes>;
v = v[v];
if v != v goto label;
v = v + 1;
if v < v goto label;
v = v - v;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
if v < 0 goto label;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int limit()>();
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer limit(int)>(v);
v = v.<org.glassfish.grizzly.utils.StringDecoder: java.nio.charset.Charset charset>;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: java.lang.String toStringContent(java.nio.charset.Charset)>(v);
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer limit(int)>(v);
v = v + v;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer position(int)>(v);
v = staticinvoke <org.glassfish.grizzly.TransformationResult: org.glassfish.grizzly.TransformationResult createCompletedResult(java.lang.Object,java.lang.Object)>(v, v);
return v;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int remaining()>();
v = v - v;
if v >= 0 goto label;
v = 0;
label:
v = v.<org.glassfish.grizzly.utils.StringDecoder: org.glassfish.grizzly.attributes.Attribute lengthAttribute>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<org.glassfish.grizzly.attributes.Attribute: void set(org.glassfish.grizzly.attributes.AttributeStorage,java.lang.Object)>(v, v);
v = staticinvoke <org.glassfish.grizzly.TransformationResult: org.glassfish.grizzly.TransformationResult createIncompletedResult(java.lang.Object)>(v);
return v;
}
public void release(org.glassfish.grizzly.attributes.AttributeStorage)
{
org.glassfish.grizzly.attributes.AttributeStorage v;
org.glassfish.grizzly.utils.StringDecoder v;
org.glassfish.grizzly.attributes.Attribute v;
v := @this: org.glassfish.grizzly.utils.StringDecoder;
v := @parameter: org.glassfish.grizzly.attributes.AttributeStorage;
v = v.<org.glassfish.grizzly.utils.StringDecoder: org.glassfish.grizzly.attributes.Attribute lengthAttribute>;
virtualinvoke v.<org.glassfish.grizzly.attributes.Attribute: java.lang.Object remove(org.glassfish.grizzly.attributes.AttributeStorage)>(v);
specialinvoke v.<org.glassfish.grizzly.AbstractTransformer: void release(org.glassfish.grizzly.attributes.AttributeStorage)>(v);
return;
}
public boolean hasInputRemaining(org.glassfish.grizzly.attributes.AttributeStorage, org.glassfish.grizzly.Buffer)
{
org.glassfish.grizzly.attributes.AttributeStorage v;
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.utils.StringDecoder v;
boolean v, v;
v := @this: org.glassfish.grizzly.utils.StringDecoder;
v := @parameter: org.glassfish.grizzly.attributes.AttributeStorage;
v := @parameter: org.glassfish.grizzly.Buffer;
if v == null goto label;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean hasRemaining()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.nio.charset.Charset getCharset()
{
java.nio.charset.Charset v;
org.glassfish.grizzly.utils.StringDecoder v;
v := @this: org.glassfish.grizzly.utils.StringDecoder;
v = v.<org.glassfish.grizzly.utils.StringDecoder: java.nio.charset.Charset charset>;
return v;
}
public void setCharset(java.nio.charset.Charset)
{
java.nio.charset.Charset v;
org.glassfish.grizzly.utils.StringDecoder v;
v := @this: org.glassfish.grizzly.utils.StringDecoder;
v := @parameter: java.nio.charset.Charset;
v.<org.glassfish.grizzly.utils.StringDecoder: java.nio.charset.Charset charset> = v;
return;
}
static void <clinit>()
{
java.util.logging.Logger v;
v = staticinvoke <org.glassfish.grizzly.Grizzly: java.util.logging.Logger logger(java.lang.Class)>(class "Lorg/glassfish/grizzly/utils/StringDecoder;");
<org.glassfish.grizzly.utils.StringDecoder: java.util.logging.Logger logger> = v;
return;
}
}