Class StringSwap<T>

java.lang.Object
org.apache.juneau.marshall.swap.spi.ObjectSwap<T,String>
org.apache.juneau.marshall.swap.spi.StringSwap<T>
Type Parameters:
T - The normal form of the class.
Direct Known Subclasses:
AutoStringSwap, BinarySwap, ClassFormatSwap, InputStreamSwap, MarshallingStringSwap, ReaderSwap, StringFormatSwap, UrlSwap

public abstract class StringSwap<T> extends ObjectSwap<T,String>
Abstract subclass for object swaps that swap objects for strings.
Example:

// A swap that converts byte arrays to BASE64-encoded strings. public class ByteArrayBase64Swap extends StringSwap<byte[]> { @Override public String swap(MarshallingSession session, byte[] bytes) throws Exception { return StringUtils.base64Encode(bytes); } @Override public byte[] unswap(MarshallingSession session, String string, ClassMeta<?> hint) throws Exception { return StringUtils.base64Decode(string); } } // Use it to serialize a byte array. WriterSerializer serializer = Json5Serializer.create().swaps(ByteArrayBase64Swap.class).build(); String json = serializer.write(new byte[] {1,2,3}); // Produces "'AQID'"

See Also:
  • Constructor Details

    • StringSwap

      protected StringSwap()
      Constructor.
    • StringSwap

      protected StringSwap(Class<T> normalClass)
      Constructor for when the normal and transformed classes are already known.
      Parameters:
      normalClass - The normal class (cannot be serialized).