public static Serializer getSerializer(Class cls) { return getSerializer(cls, true); }
public <T> T readObject(ByteBuffer data, Class<T> c) throws IOException { byte dimensionCount = data.get(); if (dimensionCount == 0) return null; int[] dimensions = new int[dimensionCount]; for (int i = 0; i < dimensionCount; i++) dimensions[i] = data.getInt(); Serializer elementSerializer = null; Class elementClass = c; while (elementClass.getComponentType() != null) elementClass = elementClass.getComponentType(); if (Modifier.isFinal(elementClass.getModifiers())) elementSerializer = Serializer.getSerializer(elementClass); // Create array and read in the data. T array = (T)Array.newInstance(elementClass, dimensions); readArray(elementSerializer, elementClass, data, array, 0, dimensions); return array; }
public void writeObject(ByteBuffer buffer, Object object) throws IOException { if (object == null){ buffer.put((byte)0); return; } int[] dimensions = getDimensions(object); buffer.put((byte)dimensions.length); for (int dimension : dimensions) buffer.putInt(dimension); Serializer elementSerializer = null; Class elementClass = object.getClass(); while (elementClass.getComponentType() != null) { elementClass = elementClass.getComponentType(); } if (Modifier.isFinal(elementClass.getModifiers())) elementSerializer = Serializer.getSerializer(elementClass); writeArray(elementSerializer, buffer, object, 0, dimensions.length); }
cachedField.serializer = Serializer.getSerializer(field.getType(), false);
buffer.put((byte)1); Serializer.writeClass(buffer, elementClass); Serializer serializer = Serializer.getSerializer(elementClass);
if (!uniqueKeys){ Serializer.writeClass(buffer, keyClass); keySerial = Serializer.getSerializer(keyClass); valSerial = Serializer.getSerializer(valClass);
/** * Registers the specified class. The failOnMiss flag controls whether or * not this method returns null for failed registration or throws an exception. */ @SuppressWarnings("unchecked") public static SerializerRegistration registerClass(Class cls, boolean failOnMiss) { if (cls.isAnnotationPresent(Serializable.class)) { Serializable serializable = (Serializable)cls.getAnnotation(Serializable.class); Class serializerClass = serializable.serializer(); short classId = serializable.id(); if (classId == 0) classId = nextId(); Serializer serializer = getSerializer(serializerClass, false); if (serializer == null) serializer = fieldSerializer; SerializerRegistration existingReg = getExactSerializerRegistration(cls); if (existingReg != null) classId = existingReg.getId(); SerializerRegistration reg = new SerializerRegistration(serializer, cls, classId); return registerClassForId( classId, cls, serializer ); } if (failOnMiss) { throw new IllegalArgumentException( "Class is not marked @Serializable:" + cls ); } return null; }
@Override public void initialize( Class type ) { idSerializer = Serializer.getSerializer(EntityId.class, false); classSerializer = Serializer.getSerializer(Class.class, true); }
public static Serializer getSerializer(Class cls) { return getSerializer(cls, true); }
public static Serializer getSerializer(Class cls) { return getSerializer(cls, true); }
public <T> T readObject(ByteBuffer data, Class<T> c) throws IOException { byte dimensionCount = data.get(); if (dimensionCount == 0) return null; int[] dimensions = new int[dimensionCount]; for (int i = 0; i < dimensionCount; i++) dimensions[i] = data.getInt(); Serializer elementSerializer = null; Class elementClass = c; while (elementClass.getComponentType() != null) elementClass = elementClass.getComponentType(); if (Modifier.isFinal(elementClass.getModifiers())) elementSerializer = Serializer.getSerializer(elementClass); // Create array and read in the data. T array = (T)Array.newInstance(elementClass, dimensions); readArray(elementSerializer, elementClass, data, array, 0, dimensions); return array; }
public <T> T readObject(ByteBuffer data, Class<T> c) throws IOException { byte dimensionCount = data.get(); if (dimensionCount == 0) return null; int[] dimensions = new int[dimensionCount]; for (int i = 0; i < dimensionCount; i++) dimensions[i] = data.getInt(); Serializer elementSerializer = null; Class elementClass = c; while (elementClass.getComponentType() != null) elementClass = elementClass.getComponentType(); if (Modifier.isFinal(elementClass.getModifiers())) elementSerializer = Serializer.getSerializer(elementClass); // Create array and read in the data. T array = (T)Array.newInstance(elementClass, dimensions); readArray(elementSerializer, elementClass, data, array, 0, dimensions); return array; }
public void writeObject(ByteBuffer buffer, Object object) throws IOException { if (object == null){ buffer.put((byte)0); return; } int[] dimensions = getDimensions(object); buffer.put((byte)dimensions.length); for (int dimension : dimensions) buffer.putInt(dimension); Serializer elementSerializer = null; Class elementClass = object.getClass(); while (elementClass.getComponentType() != null) { elementClass = elementClass.getComponentType(); } if (Modifier.isFinal(elementClass.getModifiers())) elementSerializer = Serializer.getSerializer(elementClass); writeArray(elementSerializer, buffer, object, 0, dimensions.length); }
public void writeObject(ByteBuffer buffer, Object object) throws IOException { if (object == null){ buffer.put((byte)0); return; } int[] dimensions = getDimensions(object); buffer.put((byte)dimensions.length); for (int dimension : dimensions) buffer.putInt(dimension); Serializer elementSerializer = null; Class elementClass = object.getClass(); while (elementClass.getComponentType() != null) { elementClass = elementClass.getComponentType(); } if (Modifier.isFinal(elementClass.getModifiers())) elementSerializer = Serializer.getSerializer(elementClass); writeArray(elementSerializer, buffer, object, 0, dimensions.length); }
cachedField.serializer = Serializer.getSerializer(field.getType(), false);
cachedField.serializer = Serializer.getSerializer(field.getType(), false);
buffer.put((byte)1); Serializer.writeClass(buffer, elementClass); Serializer serializer = Serializer.getSerializer(elementClass);
buffer.put((byte)1); Serializer.writeClass(buffer, elementClass); Serializer serializer = Serializer.getSerializer(elementClass);
/** * Registers the specified class. The failOnMiss flag controls whether or * not this method returns null for failed registration or throws an exception. */ @SuppressWarnings("unchecked") public static SerializerRegistration registerClass(Class cls, boolean failOnMiss) { if (cls.isAnnotationPresent(Serializable.class)) { Serializable serializable = (Serializable)cls.getAnnotation(Serializable.class); Class serializerClass = serializable.serializer(); short classId = serializable.id(); if (classId == 0) classId = --nextId; Serializer serializer = getSerializer(serializerClass, false); if (serializer == null) serializer = fieldSerializer; SerializerRegistration existingReg = getExactSerializerRegistration(cls); if (existingReg != null) classId = existingReg.getId(); SerializerRegistration reg = new SerializerRegistration(serializer, cls, classId); idRegistrations.put(classId, reg); classRegistrations.put(cls, reg); serializer.initialize(cls); log.log( Level.INFO, "Registered class[" + classId + "]:{0}.", cls ); return reg; } if (failOnMiss) { throw new IllegalArgumentException( "Class is not marked @Serializable:" + cls ); } return null; }
/** * Registers the specified class. The failOnMiss flag controls whether or * not this method returns null for failed registration or throws an exception. */ @SuppressWarnings("unchecked") public static SerializerRegistration registerClass(Class cls, boolean failOnMiss) { if (cls.isAnnotationPresent(Serializable.class)) { Serializable serializable = (Serializable)cls.getAnnotation(Serializable.class); Class serializerClass = serializable.serializer(); short classId = serializable.id(); if (classId == 0) classId = nextId(); Serializer serializer = getSerializer(serializerClass, false); if (serializer == null) serializer = fieldSerializer; SerializerRegistration existingReg = getExactSerializerRegistration(cls); if (existingReg != null) classId = existingReg.getId(); SerializerRegistration reg = new SerializerRegistration(serializer, cls, classId); return registerClassForId( classId, cls, serializer ); } if (failOnMiss) { throw new IllegalArgumentException( "Class is not marked @Serializable:" + cls ); } return null; }