From jboss-remoting-commits at lists.jboss.org Sat Aug 30 02:21:09 2008 Content-Type: multipart/mixed; boundary="===============3796722053669844230==" MIME-Version: 1.0 From: jboss-remoting-commits at lists.jboss.org To: jboss-remoting-commits at lists.jboss.org Subject: [jboss-remoting-commits] JBoss Remoting SVN: r4520 - remoting2/branches/2.x/src/main/org/jboss/remoting/serialization/impl/java. Date: Sat, 30 Aug 2008 02:21:09 -0400 Message-ID: --===============3796722053669844230== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: ron.sigal(a)jboss.com Date: 2008-08-30 02:21:08 -0400 (Sat, 30 Aug 2008) New Revision: 4520 Added: remoting2/branches/2.x/src/main/org/jboss/remoting/serialization/impl/ja= va/ClearableObjectOutputStream.java Log: JBREM-1028: Extends ObjectOutputStream and exposes clear(). Added: remoting2/branches/2.x/src/main/org/jboss/remoting/serialization/imp= l/java/ClearableObjectOutputStream.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- remoting2/branches/2.x/src/main/org/jboss/remoting/serialization/impl/j= ava/ClearableObjectOutputStream.java (rev 0) +++ remoting2/branches/2.x/src/main/org/jboss/remoting/serialization/impl/j= ava/ClearableObjectOutputStream.java 2008-08-30 06:21:08 UTC (rev 4520) @@ -0,0 +1,78 @@ + +/* +* JBoss, Home of Professional Open Source +* Copyright 2005, JBoss Inc., and individual contributors as indicated +* by the @authors tag. See the copyright.txt in the distribution for a +* full listing of individual contributors. +* +* This is free software; you can redistribute it and/or modify it +* under the terms of the GNU Lesser General Public License as +* published by the Free Software Foundation; either version 2.1 of +* the License, or (at your option) any later version. +* +* This software is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this software; if not, write to the Free +* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +* 02110-1301 USA, or see the FSF site: http://www.fsf.org. +*/ +package org.jboss.remoting.serialization.impl.java; + +import java.io.IOException; +import java.io.ObjectOutputStream; +import java.io.OutputStream; +import java.lang.reflect.Method; + +import org.jboss.logging.Logger; +import org.jboss.remoting.util.SecurityUtility; + +/** + * @author Ron Sigal + * @version $Revision: 1.1 $ + *

+ * Copyright Aug 27, 2008 + *

+ */ +public class ClearableObjectOutputStream extends ObjectOutputStream +{ + protected static Logger log =3D Logger.getLogger(ClearableObjectOutputS= tream.class); + protected static Method clearMethod; + = + static + { + try + { + clearMethod =3D SecurityUtility.getDeclaredMethod(ObjectOutputStr= eam.class, "clear", new Class[]{}); + } + catch (SecurityException e) + { + log.error(e.getMessage(), e); + } + catch (NoSuchMethodException e) + { + log.error(e.getMessage(), e); + } + } + = + public ClearableObjectOutputStream(OutputStream out) throws IOException + { + super(out); = + } + = + public void clear() + { + try + { + clearMethod.invoke(this, new Object[]{}); + } + catch (Throwable e) + { + log.error(e.getMessage(), e); + } + } +} + --===============3796722053669844230==--