Examples of CachedField


Examples of com.esotericsoftware.kryo.serialize.FieldSerializer.CachedField

    imageSerializer.setFieldsCanBeNull(false);

    FieldSerializer mediaContentSerializer = (FieldSerializer)kryo.getSerializer(MediaContent.class);
    mediaContentSerializer.setFieldsCanBeNull(false);

    CachedField imagesField = mediaContentSerializer.getField("_images");
    CollectionSerializer imagesSerializer = new CollectionSerializer(kryo);
    imagesSerializer.setElementClass(Image.class);
    imagesSerializer.setElementsCanBeNull(false);
    imagesSerializer.setLength(2);
    imagesField.setClass(ArrayList.class, imagesSerializer);

    CachedField mediaField = mediaContentSerializer.getField("_media");
    FieldSerializer mediaSerializer = new FieldSerializer(kryo, Media.class);
    mediaSerializer.setFieldsCanBeNull(false);
    mediaField.setClass(Media.class, mediaSerializer);

    CachedField personsField = mediaSerializer.getField("_persons");
    CollectionSerializer personsSerializer = new CollectionSerializer(kryo);
    personsSerializer.setElementClass(String.class);
    personsSerializer.setElementsCanBeNull(false);
    personsSerializer.setLength(2);
    personsField.setClass(ArrayList.class, personsSerializer);

    mediaSerializer.getField("_copyright").setCanBeNull(true);
  }
View Full Code Here

Examples of com.esotericsoftware.kryo.serializers.FieldSerializer.CachedField

            trace("kryo", "Class " + serializer.getType().getName()
              + ". Found a set of consecutive primitive fields. Number of fields = " + primitiveLength
              + ". Byte length = " + (endPrimitives - startPrimitives) + " Start offset = " + startPrimitives
              + " endOffset=" + endPrimitives);
          // TODO: register a region instead of a field
          CachedField cf = new UnsafeRegionField(startPrimitives, (endPrimitives - startPrimitives));
          cf.field = lastField;
          cachedFields.add(cf);
        } else {
          if (lastField != null)
            cachedFields.add(serializer.newCachedField(lastField, cachedFields.size(), lastAccessIndex));
        }
        cachedFields.add(serializer.newCachedField(field, cachedFields.size(), accessIndex));
      } else if (!field.getType().isPrimitive()) {
        cachedFields.add(serializer.newCachedField(field, cachedFields.size(), accessIndex));
      } else if (!lastWasPrimitive) {
        // If previous field was non primitive, it marks a start
        // of a region of primitive fields
        startPrimitives = fieldOffset;
        lastWasPrimitive = true;
        primitiveLength = 1;
      } else {
        primitiveLength++;
      }

      lastAccessIndex = accessIndex;
      lastField = field;
      lastFieldEndOffset = fieldEndOffset;
    }

    if (!serializer.getUseAsmEnabled() && serializer.getUseMemRegions() && lastWasPrimitive) {
      endPrimitives = lastFieldEndOffset;
      if (primitiveLength > 1) {
        if (TRACE) {
          trace("kryo", "Class " + serializer.getType().getName()
            + ". Found a set of consecutive primitive fields. Number of fields = " + primitiveLength + ". Byte length = "
            + (endPrimitives - startPrimitives) + " Start offset = " + startPrimitives + " endOffset=" + endPrimitives);
        }
        // register a region instead of a field
        CachedField cf = new UnsafeRegionField(startPrimitives, (endPrimitives - startPrimitives));
        cf.field = lastField;
        cachedFields.add(cf);
      } else {
        if (lastField != null) cachedFields.add(serializer.newCachedField(lastField, cachedFields.size(), lastAccessIndex));
      }
View Full Code Here

Examples of com.esotericsoftware.kryo.serializers.FieldSerializer.CachedField

  }
 
  /** Special processing for fiels of generic types */
  CachedField newCachedFieldOfGenericType (Field field, int accessIndex, Class[] fieldClass, Type fieldGenericType) {
    Class[] fieldGenerics;
    CachedField cachedField;
    // This is a field with generic type parameters
    if (TRACE) {
      trace("kryo", "Field '" + field.getName() + "' of type " + fieldClass[0] + " of generic type " + fieldGenericType);
    }

View Full Code Here

Examples of com.esotericsoftware.kryo.serializers.FieldSerializer.CachedField

import com.esotericsoftware.kryo.serializers.AsmCacheFields.AsmStringField;
import com.esotericsoftware.kryo.serializers.AsmCacheFields.AsmObjectField;

class AsmCachedFieldFactory implements CachedFieldFactory {
  public CachedField createCachedField (Class fieldClass, Field field, FieldSerializer ser) {
    CachedField cachedField;
    // Use ASM-based serializers
    if (fieldClass.isPrimitive()) {
      if (fieldClass == boolean.class)
        cachedField = new AsmBooleanField();
      else if (fieldClass == byte.class)
View Full Code Here

Examples of com.esotericsoftware.kryo.serializers.FieldSerializer.CachedField

import com.esotericsoftware.kryo.serializers.FieldSerializer.CachedFieldFactory;
import com.esotericsoftware.kryo.serializers.UnsafeCacheFields.*;

class UnsafeCachedFieldFactory implements CachedFieldFactory {
  public CachedField createCachedField (Class fieldClass, Field field, FieldSerializer ser) {
    CachedField cachedField;
    // Use Unsafe-based serializers
    if (fieldClass.isPrimitive()) {
      if (fieldClass == boolean.class)
        cachedField = new UnsafeBooleanField(field);
      else if (fieldClass == byte.class)
View Full Code Here

Examples of com.esotericsoftware.kryo.serializers.FieldSerializer.CachedField

import com.esotericsoftware.kryo.serializers.ObjectField.ObjectLongField;
import com.esotericsoftware.kryo.serializers.ObjectField.ObjectShortField;

class ObjectCachedFieldFactory implements CachedFieldFactory {
  public CachedField createCachedField (Class fieldClass, Field field, FieldSerializer ser) {
    CachedField cachedField;
    if (fieldClass.isPrimitive()) {
      if (fieldClass == boolean.class)
        cachedField = new ObjectBooleanField(ser);
      else if (fieldClass == byte.class)
        cachedField = new ObjectByteField(ser);
View Full Code Here

Examples of com.esotericsoftware.kryo.serializers.FieldSerializer.CachedField

  }
 
  /** Special processing for fiels of generic types */
  CachedField newCachedFieldOfGenericType (Field field, int accessIndex, Class[] fieldClass, Type fieldGenericType) {
    Class[] fieldGenerics;
    CachedField cachedField;
    // This is a field with generic type parameters
    if (TRACE) {
      trace("kryo", "Field '" + field.getName() + "' of type " + fieldClass[0] + " of generic type " + fieldGenericType);
    }

View Full Code Here

Examples of com.esotericsoftware.kryo.serializers.FieldSerializer.CachedField

  }
 
  /** Special processing for fiels of generic types */
  CachedField newCachedFieldOfGenericType (Field field, int accessIndex, Class[] fieldClass, Type fieldGenericType) {
    Class[] fieldGenerics;
    CachedField cachedField;
    // This is a field with generic type parameters
    if (TRACE) {
      trace("kryo", "Field '" + field.getName() + "' of type " + fieldClass[0] + " of generic type " + fieldGenericType);
    }

View Full Code Here

Examples of com.esotericsoftware.kryo.serializers.FieldSerializer.CachedField

            trace("kryo", "Class " + serializer.getType().getName()
              + ". Found a set of consecutive primitive fields. Number of fields = " + primitiveLength
              + ". Byte length = " + (endPrimitives - startPrimitives) + " Start offset = " + startPrimitives
              + " endOffset=" + endPrimitives);
          // TODO: register a region instead of a field
          CachedField cf = new UnsafeRegionField(startPrimitives, (endPrimitives - startPrimitives));
          cf.field = lastField;
          cachedFields.add(cf);
        } else {
          if (lastField != null)
            cachedFields.add(serializer.newCachedField(lastField, cachedFields.size(), lastAccessIndex));
        }
        cachedFields.add(serializer.newCachedField(field, cachedFields.size(), accessIndex));
      } else if (!field.getType().isPrimitive()) {
        cachedFields.add(serializer.newCachedField(field, cachedFields.size(), accessIndex));
      } else if (!lastWasPrimitive) {
        // If previous field was non primitive, it marks a start
        // of a region of primitive fields
        startPrimitives = fieldOffset;
        lastWasPrimitive = true;
        primitiveLength = 1;
      } else {
        primitiveLength++;
      }

      lastAccessIndex = accessIndex;
      lastField = field;
      lastFieldEndOffset = fieldEndOffset;
    }

    if (!serializer.getUseAsmEnabled() && serializer.getUseMemRegions() && lastWasPrimitive) {
      endPrimitives = lastFieldEndOffset;
      if (primitiveLength > 1) {
        if (TRACE) {
          trace("kryo", "Class " + serializer.getType().getName()
            + ". Found a set of consecutive primitive fields. Number of fields = " + primitiveLength + ". Byte length = "
            + (endPrimitives - startPrimitives) + " Start offset = " + startPrimitives + " endOffset=" + endPrimitives);
        }
        // register a region instead of a field
        CachedField cf = new UnsafeRegionField(startPrimitives, (endPrimitives - startPrimitives));
        cf.field = lastField;
        cachedFields.add(cf);
      } else {
        if (lastField != null) cachedFields.add(serializer.newCachedField(lastField, cachedFields.size(), lastAccessIndex));
      }
View Full Code Here

Examples of org.codehaus.groovy.reflection.CachedField

        for (ComplexKeyHashMap.EntryIterator iter = propertyMap.getEntrySetIterator(); iter.hasNext();) {
            SingleKeyHashMap.Entry entry = ((SingleKeyHashMap.Entry) iter.next());

            MetaProperty mp = (MetaProperty) entry.getValue();
            if (mp instanceof CachedField) {
                CachedField mfp = (CachedField) mp;
                if (!mfp.isStatic()) continue;
            } else if (mp instanceof MetaBeanProperty) {
                MetaProperty result = establishStaticMetaProperty(mp);
                if (result == null) continue;
                else {
                    mp = result;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.