KickJava   Java API By Example, From Geeks To Geeks.

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


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 org.apache.tapestry.services.DataSqueezer;
18
19 /**
20  * Squeezes a String (which is pretty simple, most of the time).
21  *
22  * @author Howard Lewis Ship
23  *
24  **/

25
26 class StringAdaptor implements ISqueezeAdaptor
27 {
28     private static final String JavaDoc PREFIX = "S";
29
30     public void register(DataSqueezer squeezer)
31     {
32         squeezer.register(PREFIX, String JavaDoc.class, this);
33     }
34
35     public String JavaDoc squeeze(DataSqueezer squeezer, Object JavaDoc data)
36     {
37         String JavaDoc string = (String JavaDoc) data;
38
39         return PREFIX + string;
40     }
41
42     /**
43      * Strips the prefix from the string. This method is only
44      * invoked by the {@link DataSqueezerImpl} if the string leads
45      * with its normal prefix (an 'S').
46      *
47      **/

48
49     public Object JavaDoc unsqueeze(DataSqueezer squeezer, String JavaDoc string)
50     {
51         if (string.length() == 1)
52             return "";
53
54         return string.substring(1);
55     }
56 }
Popular Tags