Information

0
Story Points

Technologies

Decompiled Java File
package org.exolab.castor.xml.wls8;

import java.io.IOException;
import java.io.OutputStream;
import java.io.Writer;
import java.lang.reflect.Method;
import org.exolab.castor.xml.OutputFormat;
import org.exolab.castor.xml.Serializer;
import org.exolab.castor.xml.wls8.WeblogicXercesImplementation;
import org.xml.sax.DocumentHandler;

public class WeblogicXercesSerializer extends WeblogicXercesImplementation implements Serializer {
   private static Class _serializerClass;
   private static Method _asDocumentHandler;
   private static Method _setOutputByteStream;
   private static Method _setOutputCharStream;
   private static Method _setOutputFormat;
   private Object _serializer;

   public WeblogicXercesSerializer() {
      try {
         this._serializer = _serializerClass.newInstance();
      } catch (InstantiationException var2) {
         throw new RuntimeException(var2.toString());
      } catch (IllegalAccessException var3) {
         throw new RuntimeException(var3.toString());
      }
   }

   /** @deprecated */
   public DocumentHandler asDocumentHandler() throws IOException {
      return (DocumentHandler)this.invoke(_asDocumentHandler, new Object[0]);
   }

   public void setOutputByteStream(OutputStream output) {
      Object[] params = new Object[]{output};
      this.invoke(_setOutputByteStream, params);
   }

   public void setOutputCharStream(Writer out) {
      Object[] params = new Object[]{out};
      this.invoke(_setOutputCharStream, params);
   }

   public void setOutputFormat(OutputFormat format) {
      Object[] params = new Object[]{format.getFormat()};
      this.invoke(_setOutputFormat, params);
   }

   private Object invoke(Method method, Object[] params) {
      return this.invoke(this._serializer, method, params);
   }

   static {
      Class weblogicOutputFormat = null;

      try {
         _serializerClass = Class.forName("weblogic.apache.xml.serialize.XMLSerializer");
         weblogicOutputFormat = Class.forName("weblogic.apache.xml.serialize.OutputFormat");
      } catch (ClassNotFoundException var4) {
         handleStaticInitException(var4);
      }

      _asDocumentHandler = getMethod(_serializerClass, "asDocumentHandler", new Class[0]);
      Class[] parameterOutputStream = new Class[]{OutputStream.class};
      _setOutputByteStream = getMethod(_serializerClass, "setOutputByteStream", parameterOutputStream);
      Class[] parameterWriter = new Class[]{Writer.class};
      _setOutputCharStream = getMethod(_serializerClass, "setOutputCharStream", parameterWriter);
      Class[] parameterOutputFormat = new Class[]{weblogicOutputFormat};
      _setOutputFormat = getMethod(_serializerClass, "setOutputFormat", parameterOutputFormat);
   }
}
Page generated: Oct 19, 2017 2:34:35 PM