001
014
015 package com.liferay.portal.kernel.cluster;
016
017 import com.liferay.portal.kernel.io.Deserializer;
018 import com.liferay.portal.kernel.io.Serializer;
019 import com.liferay.portal.kernel.util.Base64;
020
021 import java.nio.ByteBuffer;
022
023
026 public class AddressSerializerUtil {
027
028 public static Address deserialize(String serializedAddress) {
029 byte[] bytes = Base64.decode(serializedAddress);
030
031 Deserializer deserializer = new Deserializer(ByteBuffer.wrap(bytes));
032
033 try {
034 return deserializer.readObject();
035 }
036 catch (ClassNotFoundException cnfe) {
037 throw new RuntimeException(
038 "Unable to deserialize address " + serializedAddress, cnfe);
039 }
040 }
041
042 public static String serialize(Address address) {
043 Serializer serializer = new Serializer();
044
045 serializer.writeObject(address);
046
047 ByteBuffer byteBuffer = serializer.toByteBuffer();
048
049 return Base64.encode(byteBuffer.array());
050 }
051
052 }