1 /*** 2 * 3 * Copyright 2004 Protique Ltd 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 **/ 18 package org.codehaus.activemq.store.bdbn; 19 20 import com.sleepycat.bdb.bind.DataBinding; 21 import com.sleepycat.bdb.bind.DataBuffer; 22 import com.sleepycat.bdb.bind.DataFormat; 23 24 import java.io.IOException; 25 26 /*** 27 * A DataBinding for a simple String serialiation 28 * 29 * @version $Revision: 1.1 $ 30 */ 31 public class StringDataBinding implements DataBinding { 32 private static StringDataFormat format = new StringDataFormat(); 33 34 public Object dataToObject(DataBuffer buffer) throws IOException { 35 return new String(buffer.getDataBytes(), buffer.getDataOffset(), buffer.getDataLength()); 36 } 37 38 public void objectToData(Object object, DataBuffer buffer) throws IOException { 39 String text = (String) object; 40 byte[] data = text.getBytes(); 41 buffer.setData(data, 0, data.length); 42 } 43 44 public DataFormat getDataFormat() { 45 return format; 46 } 47 }