/* * Copyright 2014 Ruediger Moeller. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.nustaq.serialization.serializers; import org.nustaq.serialization.FSTBasicObjectSerializer; import org.nustaq.serialization.FSTClazzInfo; import org.nustaq.serialization.FSTObjectInput; import org.nustaq.serialization.FSTObjectOutput; import java.io.IOException; /** * Created with IntelliJ IDEA. * User: ruedi * Date: 07.12.12 * Time: 01:26 * To change this template use File | Settings | File Templates. */ public class FSTStringSerializer extends FSTBasicObjectSerializer { public static FSTStringSerializer Instance = new FSTStringSerializer(); // used directly @Override public void writeObject(FSTObjectOutput out, Object toWrite, FSTClazzInfo clzInfo, FSTClazzInfo.FSTFieldInfo referencedBy, int streamPosition) throws IOException { out.writeStringUTF((String) toWrite); } @Override public Object instantiate(Class objectClass, FSTObjectInput in, FSTClazzInfo serializationInfo, FSTClazzInfo.FSTFieldInfo referencee, int streamPosition) throws Exception { String s = in.readStringUTF(); in.registerObject(s, streamPosition, serializationInfo, referencee); return s; } @Override public boolean writeTupleEnd() { return false; } }