KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > continuent > sequoia > common > sql > filters > Base64ZipFilter


1 /**
2  * Sequoia: Database clustering technology.
3  * Copyright (C) 2002-2004 French National Institute For Research In Computer
4  * Science And Control (INRIA).
5  * Contact: sequoia@continuent.org
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  * Initial developer(s): Nicolas Modrzyk.
20  * Contributor(s): ______________________.
21  */

22
23 package org.continuent.sequoia.common.sql.filters;
24
25 import org.continuent.sequoia.common.stream.encoding.Base64;
26 import org.continuent.sequoia.common.stream.encoding.ZipEncoding;
27 import org.continuent.sequoia.common.xml.DatabasesXmlTags;
28
29 /**
30  * This class defines a Base64ZipFilter. It first compresses the data and
31  * encodes it using the Base64 encoding class from apache.
32  *
33  * @author <a HREF="mailto:emmanuel.cecchet@emicnetworks.com">Emmanuel Cecchet</a>
34  * @author <a HREF="mailto:Nicolas.Modrzyk@inria.fr">Nicolas Modrzyk </a>
35  * @version 1.0
36  */

37 public class Base64ZipFilter extends AbstractBlobFilter
38 {
39
40   /**
41    * @see org.continuent.sequoia.common.sql.filters.AbstractBlobFilter#encode(byte[])
42    */

43   public String JavaDoc encode(byte[] data)
44   {
45     try
46     {
47       return Base64.encode(ZipEncoding.encode(data));
48     }
49     catch (Exception JavaDoc e)
50     {
51       e.printStackTrace();
52       return "";
53     }
54   }
55
56   /**
57    * @see org.continuent.sequoia.common.sql.filters.AbstractBlobFilter#decode(java.lang.String)
58    */

59   public byte[] decode(String JavaDoc data)
60   {
61     try
62     {
63       return ZipEncoding.decode(Base64.decode(data));
64     }
65     catch (Exception JavaDoc e)
66     {
67       e.printStackTrace();
68       return null;
69     }
70   }
71
72   /**
73    * @see org.continuent.sequoia.common.sql.filters.AbstractBlobFilter#getXml()
74    */

75   public String JavaDoc getXml()
76   {
77     return DatabasesXmlTags.VAL_base64;
78   }
79
80 }
Popular Tags