哪位大虾给翻译一下,反编译的带匿名内部类的java文件
public class ResponseWrapper extends HttpServletResponseWrapper
{
private static final Log log;
private Class writerClass;
private Class streamClass;
private HttpServletResponse response;
public static String perStr = "function turboCWCShopCR(){var tbcscopyright=\"<center><a href='http://www.turboshop.cn' target='_blank'><img src='http://www.turboshop.cn/powerby_logo.gif' alt='Enjoy Your E-Commerce!' border='0'></a></center><br>\";if(document.getElementById('TurboShopCopyright')==null) document.write(tbcscopyright);else document.getElementById('TurboShopCopyright').innerHTML=tbcscopyright;}if(typeof window.HTMLElement == 'undefined') window.attachEvent('onload',turboCWCShopCR);else window.onload=turboCWCShopCR;\n";
static Class class$0; /* synthetic field */
static Class class$1; /* synthetic field */
static Class class$2; /* synthetic field */
public ResponseWrapper(HttpServletResponse response)
throws
IOException {
super(response);
this.response = response;
}
public ServletOutputStream getOutputStream()
throws IOException
{
ServletOutputStream stream = response.getOutputStream();
try
{
//以下代码实现匿名内部类
ServletOutputStream streamWrapper = new ServletOutputStream(stream) {
private int iii;
private char preChar[];
OutputStream impl;
public void write(int b)
throws IOException
{
impl.write(b);
}
//构造函数??
throws NoSuchMethodException,
InstantiationException,
IllegalAccessException,
InvocationTargetException {
this$0 = ResponseWrapper.this;
iii = 0;
this;
streamClass;
Class aclass[] = new Class[1];
aclass;
aclass;
0;
ResponseWrapper.class$1;
if(ResponseWrapper.class$1 != null) goto _L2; else goto _L1
_L1:
JVM INSTR pop ;
ResponseWrapper.class$1 = Class.forName("java.io.OutputStream");
goto _L2
JVM INSTR new #52 <Class
NoClassDefFoundError>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
getMessage();
NoClassDefFoundError();
throw ;
_L2:
JVM INSTR aastore ;
getConstructor();
new OutputStream[] {
servletoutputstream
};
newInstance();
(OutputStream);
impl;
}
};
return streamWrapper;
}
catch(Throwable e)
{
log.error("PrintWrite:" + e);
}
return stream;
}
public PrintWriter getWriter()
throws IOException
{
PrintWriter writer = response.getWriter();
try
{
Constructor constructor = writerClass.getConstructor(new Class[] {