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.HexaEncoding; 00028 import org.objectweb.cjdbc.common.xml.DatabasesXmlTags; 00029 00030 /** 00031 * This class defines a HexaBlobFilterInterface. It encodes the blobs in hexa 00032 * values 00033 * 00034 * @author <a href="mailto:Nicolas.Modrzyk@inria.fr">Nicolas Modrzyk </a> 00035 * @version 1.0 00036 */ 00037 public class HexaBlobFilter extends AbstractBlobFilter 00038 { 00039 00040 /** 00041 * @see org.objectweb.cjdbc.common.sql.filters.AbstractBlobFilter#decode(java.lang.String) 00042 */ 00043 public byte[] decode(byte[] data) 00044 { 00045 return HexaEncoding.hex2data(new String(data)); 00046 } 00047 00048 /** 00049 * @see org.objectweb.cjdbc.common.sql.filters.AbstractBlobFilter#encode(java.lang.String) 00050 */ 00051 public String encode(String data) 00052 { 00053 return encode(data.getBytes()); 00054 } 00055 00056 /** 00057 * @see org.objectweb.cjdbc.common.sql.filters.AbstractBlobFilter#decode(java.lang.String) 00058 */ 00059 public byte[] decode(String data) 00060 { 00061 return HexaEncoding.hex2data(data); 00062 } 00063 00064 /** 00065 * @see org.objectweb.cjdbc.common.sql.filters.AbstractBlobFilter#encode(byte[]) 00066 */ 00067 public String encode(byte[] data) 00068 { 00069 return HexaEncoding.data2hex(data); 00070 } 00071 00072 /** 00073 * @see org.objectweb.cjdbc.common.sql.filters.AbstractBlobFilter#getXml() 00074 */ 00075 public String getXml() 00076 { 00077 return DatabasesXmlTags.VAL_hexa; 00078 } 00079 00080 }