All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.infinispan.commons.dataconversion.UTF8Encoder Maven / Gradle / Ivy

There is a newer version: 9.1.7.Final
Show newest version
package org.infinispan.commons.dataconversion;

import java.nio.charset.Charset;

/**
 * Encoder to/from UTF-8 content using the java string encoding mechanism.
 *
 * @since 9.1
 */
public class UTF8Encoder implements Encoder {

   private static final Charset CHARSET_UTF8 = Charset.forName("UTF-8");

   public static final UTF8Encoder INSTANCE = new UTF8Encoder();

   @Override
   public Object toStorage(Object content) {
      if (content instanceof String) return String.class.cast(content).getBytes(CHARSET_UTF8);
      throw new EncodingException("Cannot encode " + content);
   }

   @Override
   public Object fromStorage(Object stored) {
      return new String((byte[]) stored, CHARSET_UTF8);
   }

   @Override
   public boolean isStorageFormatFilterable() {
      return false;
   }

   @Override
   public short id() {
      return EncoderIds.UTF8;
   }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy