private Descriptor bridge(final Descriptor descriptor, final Class<?> type) { if (descriptor == null) return null; final Class<?> superDescrClazz = descriptor.getType(); if (superDescrClazz == null) { return descriptor; } final Class<?> typeSuperclass = type.getSuperclass(); if (type == superDescrClazz) { return descriptor; } else { return new NoDataDescriptor(type, bridge(descriptor, typeSuperclass)); } }
private Descriptor bridge(final Descriptor descriptor, final Class<?> type) { if (descriptor == null) return null; final Class<?> superDescrClazz = descriptor.getType(); if (superDescrClazz == null) { return descriptor; } final Class<?> typeSuperclass = type.getSuperclass(); if (type == superDescrClazz) { return descriptor; } else { return new NoDataDescriptor(type, bridge(descriptor, typeSuperclass)); } }
private Descriptor bridge(final Descriptor descriptor, final Class<?> type) { if (descriptor == null) return null; final Class<?> superDescrClazz = descriptor.getType(); if (superDescrClazz == null) { return descriptor; } final Class<?> typeSuperclass = type.getSuperclass(); if (type == superDescrClazz) { return descriptor; } else { return new NoDataDescriptor(type, bridge(descriptor, typeSuperclass)); } }
private Descriptor bridge(final Descriptor descriptor, final Class<?> type) { if (descriptor == null) return null; final Class<?> superDescrClazz = descriptor.getType(); if (superDescrClazz == null) { return descriptor; } final Class<?> typeSuperclass = type.getSuperclass(); if (type == superDescrClazz) { return descriptor; } else { return new NoDataDescriptor(type, bridge(descriptor, typeSuperclass)); } }
public Descriptor descriptorForClass(final Class<?> clazz) { if (Externalizable.class.isAssignableFrom(clazz)) { // todo - make WRITE_METHOD depend on block mode return new PlainDescriptor(clazz, null, SerializableClass.NOFIELDS, SC_EXTERNALIZABLE | SC_BLOCK_DATA); } else if (serializabilityChecker.isSerializable(clazz)) { final Class<?> superclass = clazz.getSuperclass(); final Descriptor parent; if (superclass != null && serializabilityChecker.isSerializable(superclass)) { parent = descriptorForClass(superclass); } else { parent = null; } final SerializableClass serializableClass = registry.lookup(clazz); return new PlainDescriptor(clazz, parent, serializableClass.getFields(), SC_SERIALIZABLE | (serializableClass.hasWriteObject() ? SC_WRITE_METHOD : 0)); } else { return new NoDataDescriptor(clazz, null); } }
public Descriptor descriptorForClass(final Class<?> clazz) { if (Externalizable.class.isAssignableFrom(clazz)) { // todo - make WRITE_METHOD depend on block mode return new PlainDescriptor(clazz, null, SerializableClass.NOFIELDS, SC_EXTERNALIZABLE | SC_BLOCK_DATA); } else if (serializabilityChecker.isSerializable(clazz)) { final Class<?> superclass = clazz.getSuperclass(); final Descriptor parent; if (superclass != null && serializabilityChecker.isSerializable(superclass)) { parent = descriptorForClass(superclass); } else { parent = null; } final SerializableClass serializableClass = registry.lookup(clazz); return new PlainDescriptor(clazz, parent, serializableClass.getFields(), SC_SERIALIZABLE | (serializableClass.hasWriteObject() ? SC_WRITE_METHOD : 0)); } else { return new NoDataDescriptor(clazz, null); } }
public Descriptor descriptorForClass(final Class<?> clazz) { if (Externalizable.class.isAssignableFrom(clazz)) { // todo - make WRITE_METHOD depend on block mode return new PlainDescriptor(clazz, null, SerializableClass.NOFIELDS, SC_EXTERNALIZABLE | SC_BLOCK_DATA); } else if (serializabilityChecker.isSerializable(clazz)) { final Class<?> superclass = clazz.getSuperclass(); final Descriptor parent; if (superclass != null && serializabilityChecker.isSerializable(superclass)) { parent = descriptorForClass(superclass); } else { parent = null; } final SerializableClass serializableClass = registry.lookup(clazz); return new PlainDescriptor(clazz, parent, serializableClass.getFields(), SC_SERIALIZABLE | (serializableClass.hasWriteObject() ? SC_WRITE_METHOD : 0)); } else { return new NoDataDescriptor(clazz, null); } }
public Descriptor descriptorForClass(final Class<?> clazz) { if (Externalizable.class.isAssignableFrom(clazz)) { // todo - make WRITE_METHOD depend on block mode return new PlainDescriptor(clazz, null, SerializableClass.NOFIELDS, SC_EXTERNALIZABLE | SC_BLOCK_DATA); } else if (serializabilityChecker.isSerializable(clazz)) { final Class<?> superclass = clazz.getSuperclass(); final Descriptor parent; if (superclass != null && serializabilityChecker.isSerializable(superclass)) { parent = descriptorForClass(superclass); } else { parent = null; } final SerializableClass serializableClass = registry.lookup(clazz); return new PlainDescriptor(clazz, parent, serializableClass.getFields(), SC_SERIALIZABLE | (serializableClass.hasWriteObject() ? SC_WRITE_METHOD : 0)); } else { return new NoDataDescriptor(clazz, null); } }
if (superDescr == null || superDescr.getNearestType().isAssignableFrom(superClazz)) { if (descFlags == 0) { descriptor = new NoDataDescriptor(clazz, bridge(superDescr, superClazz)); } else {
if (superDescr == null || superDescr.getNearestType().isAssignableFrom(superClazz)) { if (descFlags == 0) { descriptor = new NoDataDescriptor(clazz, bridge(superDescr, superClazz)); } else {
if (superDescr == null || superDescr.getNearestType().isAssignableFrom(superClazz)) { if (descFlags == 0) { descriptor = new NoDataDescriptor(clazz, bridge(superDescr, superClazz)); } else {
if (superDescr == null || superDescr.getNearestType().isAssignableFrom(superClazz)) { if (descFlags == 0) { descriptor = new NoDataDescriptor(clazz, bridge(superDescr, superClazz)); } else {