Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

Base64Filter.java

00001 /**
00002  * C-JDBC: Clustered JDBC.
00003  * Copyright (C) 2002-2004 French National Institute For Research In Computer
00004  * Science And Control (INRIA).
00005  * Contact: c-jdbc@objectweb.org
00006  * 
00007  * This library is free software; you can redistribute it and/or modify it
00008  * under the terms of the GNU Lesser General Public License as published by the
00009  * Free Software Foundation; either version 2.1 of the License, or any later
00010  * version.
00011  * 
00012  * This library is distributed in the hope that it will be useful, but WITHOUT
00013  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00014  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
00015  * for more details.
00016  * 
00017  * You should have received a copy of the GNU Lesser General Public License
00018  * along with this library; if not, write to the Free Software Foundation,
00019  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
00020  *
00021  * Initial developer(s): Nicolas Modrzyk.
00022  * Contributor(s): ______________________.
00023  */
00024 
00025 package org.objectweb.cjdbc.common.sql.filters;
00026 
00027 import org.objectweb.cjdbc.common.stream.encoding.Base64;
00028 import org.objectweb.cjdbc.common.stream.encoding.ZipEncoding;
00029 import org.objectweb.cjdbc.common.xml.DatabasesXmlTags;
00030 
00031 /**
00032  * This class defines a Base64Filter. It is based on the Base64 encoding class
00033  * from apache.
00034  * 
00035  * @author <a href="mailto:Nicolas.Modrzyk@inria.fr">Nicolas Modrzyk </a>
00036  * @version 1.0
00037  */
00038 public class Base64Filter extends AbstractBlobFilter
00039 {
00040 
00041   /**
00042    * @see org.objectweb.cjdbc.common.sql.filters.AbstractBlobFilter#encode(byte[])
00043    */
00044   public String encode(byte[] data)
00045   {
00046     try
00047     {
00048       return Base64.encode(ZipEncoding.encode(data));
00049     }
00050     catch (Exception e)
00051     {
00052       e.printStackTrace();
00053       return "";
00054     }
00055   }
00056 
00057   /**
00058    * @see org.objectweb.cjdbc.common.sql.filters.AbstractBlobFilter#encode(java.lang.String)
00059    */
00060   public String encode(String data)
00061   {
00062 
00063     return encode(data.getBytes());
00064   }
00065 
00066   /**
00067    * @see org.objectweb.cjdbc.common.sql.filters.AbstractBlobFilter#decode(byte[])
00068    */
00069   public byte[] decode(byte[] data)
00070   {
00071     try
00072     {
00073       return ZipEncoding.decode(Base64.decode(new String(data)));
00074     }
00075     catch (Exception e)
00076     {
00077       e.printStackTrace();
00078       return null;
00079     }
00080   }
00081 
00082   /**
00083    * @see org.objectweb.cjdbc.common.sql.filters.AbstractBlobFilter#decode(java.lang.String)
00084    */
00085   public byte[] decode(String data)
00086   {
00087     return decode(data.getBytes());
00088   }
00089 
00090   /**
00091    * @see org.objectweb.cjdbc.common.sql.filters.AbstractBlobFilter#getXml()
00092    */
00093   public String getXml()
00094   {
00095     return DatabasesXmlTags.VAL_base64;
00096   }
00097 
00098 }

Generated on Mon Apr 11 22:01:29 2005 for C-JDBC by  doxygen 1.3.9.1