Package com.esotericsoftware.kryo

Examples of com.esotericsoftware.kryo.Serializer


    for (int i = 0, n = properties.length; i < n; i++) {
      CachedProperty property = properties[i];
      try {
        if (TRACE) trace("kryo", "Write property: " + property + " (" + type.getName() + ")");
        Object value = property.get(object);
        Serializer serializer = property.serializer;
        if (serializer != null)
          kryo.writeObjectOrNull(output, value, serializer);
        else
          kryo.writeClassAndObject(output, value);
      } catch (IllegalAccessException ex) {
View Full Code Here


    for (int i = 0, n = properties.length; i < n; i++) {
      CachedProperty property = properties[i];
      try {
        if (TRACE) trace("kryo", "Read property: " + property + " (" + object.getClass() + ")");
        Object value;
        Serializer serializer = property.serializer;
        if (serializer != null)
          value = kryo.readObjectOrNull(input, property.setMethodType, serializer);
        else
          value = kryo.readClassAndObject(input);
        property.set(object, value);
View Full Code Here

      try {
        if (TRACE) trace("kryo", "Write field: " + cachedField + " (" + object.getClass().getName() + ")");

        Object value = cachedField.get(object);

        Serializer serializer = cachedField.serializer;
        if (cachedField.fieldClass == null) {
          if (value == null) {
            kryo.writeClass(output, null);
            continue;
          }
View Full Code Here

        if (TRACE) trace("kryo", "Read field: " + cachedField + " (" + type.getName() + ")");

        Object value = null;

        Class concreteType = cachedField.fieldClass;
        Serializer serializer = cachedField.serializer;
        if (concreteType == null) {
          Registration registration = kryo.readClass(input);
          if (registration != null) { // Else value is null.
            if (serializer == null) serializer = registration.getSerializer();
            value = kryo.readObject(input, registration.getType(), serializer);
View Full Code Here

        /* tuple payload serializer is specified via configuration */
        String payloadSerializerName = (String)conf.get(Config.TOPOLOGY_TUPLE_SERIALIZER);
        try {
            Class serializerClass  = Class.forName(payloadSerializerName);
            Serializer serializer = resolveSerializerInstance(k, ListDelegate.class, serializerClass, conf);
            k.register(ListDelegate.class, serializer);
        } catch (ClassNotFoundException ex) {
            throw new RuntimeException(ex);
        }

View Full Code Here

  public void write (Kryo kryo, Output output, Map map) {
    int length = map.size();
    output.writeInt(length, true);

    Serializer keySerializer = this.keySerializer;
    if (keyGenericType != null) {
      if (keySerializer == null) keySerializer = kryo.getSerializer(keyGenericType);
      keyGenericType = null;
    }
    Serializer valueSerializer = this.valueSerializer;
    if (valueGenericType != null) {
      if (valueSerializer == null) valueSerializer = kryo.getSerializer(valueGenericType);
      valueGenericType = null;
    }
View Full Code Here

    int length = input.readInt(true);

    Class keyClass = this.keyClass;
    Class valueClass = this.valueClass;

    Serializer keySerializer = this.keySerializer;
    if (keyGenericType != null) {
      keyClass = keyGenericType;
      if (keySerializer == null) keySerializer = kryo.getSerializer(keyClass);
      keyGenericType = null;
    }
    Serializer valueSerializer = this.valueSerializer;
    if (valueGenericType != null) {
      valueClass = valueGenericType;
      if (valueSerializer == null) valueSerializer = kryo.getSerializer(valueClass);
      valueGenericType = null;
    }
View Full Code Here

  }

  static public class EnumSetSerializer extends Serializer<EnumSet> {
    public void write (Kryo kryo, Output output, EnumSet object) {
      if (object.isEmpty()) throw new KryoException("An empty EnumSet cannot be serialized.");
      Serializer serializer = kryo.writeClass(output, object.iterator().next().getClass()).getSerializer();
      output.writeInt(object.size(), true);
      for (Object element : object)
        serializer.write(kryo, output, element);
    }
View Full Code Here

    }

    public EnumSet read (Kryo kryo, Input input, Class<EnumSet> type) {
      Registration registration = kryo.readClass(input);
      EnumSet object = EnumSet.noneOf(registration.getType());
      Serializer serializer = registration.getSerializer();
      int length = input.readInt(true);
      for (int i = 0; i < length; i++)
        object.add(serializer.read(kryo, input, null));
      return object;
    }
View Full Code Here

        if (accessIndex != -1)
          value = ((FieldAccess)access).get(object, accessIndex);
        else
          value = field.get(object);

        Serializer serializer = this.serializer;
        if (valueClass == null) {
          // The concrete type of the field is unknown, write the class first.
          if (value == null) {
            kryo.writeClass(output, null);
            return;
          }
          Registration registration = kryo.writeClass(output, value.getClass());
          if (serializer == null) serializer = registration.getSerializer();
          if (generics != null) serializer.setGenerics(kryo, generics);
          kryo.writeObject(output, value, serializer);
        } else {
          // The concrete type of the field is known, always use the same serializer.
          if (serializer == null) this.serializer = serializer = kryo.getSerializer(valueClass);
          if (generics != null) serializer.setGenerics(kryo, generics);
          if (canBeNull) {
            kryo.writeObjectOrNull(output, value, serializer);
          } else {
            if (value == null) {
              throw new KryoException("Field value is null but canBeNull is false: " + this + " ("
View Full Code Here

TOP

Related Classes of com.esotericsoftware.kryo.Serializer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.