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: 15.1.0.Dev04
Show newest version
package org.infinispan.commons.dataconversion;

import static java.nio.charset.StandardCharsets.UTF_8;
import static org.infinispan.commons.logging.Log.CONTAINER;

import org.infinispan.commons.util.Util;

/**
 * Encoder to/from UTF-8 content using the java string encoding mechanism.
 *
 * @since 9.1
 * @deprecated Since 12.1, to be removed in a future version.
 */
@Deprecated(forRemoval=true, since = "12.1")
public class UTF8Encoder implements Encoder {

   public static final UTF8Encoder INSTANCE = new UTF8Encoder();
   private static final MediaType UTF8 = MediaType.fromString("text/plain; charset=utf-8");

   @Override
   public Object toStorage(Object content) {
      if (content instanceof String) {
         return String.class.cast(content).getBytes(UTF_8);
      }

      throw CONTAINER.unsupportedConversion(Util.toStr(content), UTF8);
   }

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

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

   @Override
   public MediaType getStorageFormat() {
      return MediaType.TEXT_PLAIN;
   }

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy