KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > tapestry > util > io > CharacterAdaptor


1 // Copyright 2004, 2005 The Apache Software Foundation
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14

15 package org.apache.tapestry.util.io;
16
17 import java.io.IOException JavaDoc;
18
19 import org.apache.tapestry.services.DataSqueezer;
20
21 /**
22  * Squeezes a Character.
23  *
24  * @author Howard Lewis Ship
25  * @since 2.2
26  *
27  **/

28
29 public class CharacterAdaptor implements ISqueezeAdaptor
30 {
31     private static final String JavaDoc PREFIX = "c";
32     private static final char PREFIX_CH = 'c';
33     
34     public String JavaDoc squeeze(DataSqueezer squeezer, Object JavaDoc data) throws IOException JavaDoc
35     {
36         Character JavaDoc charData = (Character JavaDoc)data;
37         char value = charData.charValue();
38         
39         char[] buffer = new char[]
40         {
41             PREFIX_CH, value
42         };
43         
44         return new String JavaDoc(buffer);
45     }
46
47     public Object JavaDoc unsqueeze(DataSqueezer squeezer, String JavaDoc string) throws IOException JavaDoc
48     {
49         return new Character JavaDoc(string.charAt(1));
50     }
51
52     public void register(DataSqueezer squeezer)
53     {
54         squeezer.register(PREFIX, Character JavaDoc.class, this);
55     }
56
57 }
58
Popular Tags