@Override public boolean isSerializable(Class<?> targetClass) { return (targetClass != Object.class) && (this.serializableClasses.contains(targetClass) || DEFAULT.isSerializable(targetClass)); } }
public Object writeReplace(final Object o) { if (o != null && ENABLED.get() == Boolean.TRUE) { final Class<?> clazz = o.getClass(); if (! clazz.isArray() && ! SerializabilityChecker.DEFAULT.isSerializable(clazz)) { return null; } } return o; }
public Class<?> getNonSerializableSuperclass(SerializabilityChecker checker) { Class<?> nearestType = getNearestType(); if (nearestType == null) return Object.class; while (checker.isSerializable(nearestType)) { nearestType = nearestType.getSuperclass(); } return nearestType; } }
@Override public boolean isMarshallable(Object object) { if (object == null) return true; MarshallingConfiguration configuration = this.repository.getMarshallingConfiguration(this.repository.getCurrentMarshallingVersion()); try { ObjectTable table = configuration.getObjectTable(); if ((table != null) && table.getObjectWriter(object) != null) return true; ClassExternalizerFactory factory = configuration.getClassExternalizerFactory(); if ((factory != null) && (factory.getExternalizer(object.getClass()) != null)) return true; SerializabilityChecker checker = configuration.getSerializabilityChecker(); return ((checker == null) ? SerializabilityChecker.DEFAULT : checker).isSerializable(object.getClass()); } catch (IOException e) { return false; } } }
soo.doFinish(); ((Externalizable) clone).readExternal(new StepObjectInput(steps)); } else if (serializabilityChecker.isSerializable(clonedClass)) { Class<?> nonSerializable; for (nonSerializable = clonedClass.getSuperclass(); serializabilityChecker.isSerializable(nonSerializable); nonSerializable = nonSerializable.getSuperclass()) { if (nonSerializable == Object.class) break; if (! (serializabilityChecker.isSerializable(cloneClass))) { throw new NotSerializableException(cloneClass.getName());
protected void writeNewClass(final Class<?> objClass) throws IOException { if (objClass.isEnum()) { writeNewEnumClass(objClass.asSubclass(Enum.class)); } else if (Proxy.class.isAssignableFrom(objClass)) { writeNewProxyClass(objClass); } else if (objClass.isArray()) { writeObjectArrayClass(objClass); } else if (! objClass.isInterface() && serializabilityChecker.isSerializable(objClass)) { if (Externalizable.class.isAssignableFrom(objClass)) { writeNewExternalizableClass(objClass); } else { writeNewSerializableClass(objClass); } } else { ClassTable.Writer classTableWriter = classTable.getClassWriter(objClass); if (classTableWriter != null) { write(ID_PREDEFINED_PLAIN_CLASS); classCache.put(objClass, classSeq++); writeClassTableData(objClass, classTableWriter); } else { write(ID_PLAIN_CLASS); writeString(classResolver.getClassName(objClass)); classResolver.annotateClass(this, objClass); classCache.put(objClass, classSeq++); } } }
private void initSerializableClone(final Object orig, final SerializableClass origInfo, final Object clone, final SerializableClass cloneInfo) throws IOException, ClassNotFoundException { if (! serializabilityChecker.isSerializable(cloneClass)) { throw new NotSerializableException(cloneClass.getName()); if (serializabilityChecker.isSerializable(origSuperClass) || serializabilityChecker.isSerializable(cloneSuperClass)) { initSerializableClone(orig, registry.lookup(origSuperClass), clone, registry.lookup(cloneSuperClass)); if (! serializabilityChecker.isSerializable(origClass)) { if (cloneInfo.hasReadObjectNoData()) { cloneInfo.callReadObjectNoData(clone);
if (required) throw cnfe; final boolean localSerializable = clazz != null && serializabilityChecker.isSerializable(clazz); if (! localSerializable && required) { throw new ClassNotFoundException(className); while (serializabilityChecker.isSerializable(cl)) { superDescriptor = new SerializableGapClassDescriptor(registry.lookup(cl), superDescriptor); cl = cl.getSuperclass();
protected void doWriteSerializableObject(final SerializableClass info, final Object obj, final Class<?> objClass) throws IOException { final Class<?> superclass = objClass.getSuperclass(); if (superclass != null && serializabilityChecker.isSerializable(superclass)) { doWriteSerializableObject(registry.lookup(superclass), obj, superclass); } if (info.hasWriteObject()) { final RiverObjectOutputStream objectOutputStream = getObjectOutputStream(); final SerializableClass oldInfo = objectOutputStream.swapClass(info); final Object oldObj = objectOutputStream.swapCurrent(obj); final int restoreState = objectOutputStream.start(); boolean ok = false; try { info.callWriteObject(obj, objectOutputStream); objectOutputStream.finish(restoreState); writeEndBlock(); objectOutputStream.swapCurrent(oldObj); objectOutputStream.swapClass(oldInfo); ok = true; } finally { if (! ok) { objectOutputStream.fullReset(); } } } else { doWriteFields(info, obj); } }
if (! serializabilityChecker.isSerializable(sc)) { write(ID_OBJECT_CLASS); return;
if (serializabilityChecker.isSerializable(objClass)) { write(unshared ? ID_NEW_OBJECT_UNSHARED : ID_NEW_OBJECT); writeSerializableClass(objClass);
/** * {@inheritDoc} * @see org.jboss.marshalling.SerializabilityChecker#isSerializable(java.lang.Class) */ @Override public boolean isSerializable(Class<?> clazz) { for (SerializabilityChecker checker: this.checkers) { if (checker.isSerializable(clazz)) return true; } return false; } }
/** * {@inheritDoc} * @see org.jboss.marshalling.SerializabilityChecker#isSerializable(java.lang.Class) */ @Override public boolean isSerializable(Class<?> clazz) { if(clazz == Object.class) { return false; } return DEFAULT.isSerializable(clazz) || clazz.isAssignableFrom(this.beanClass); } }
public Object writeReplace(final Object o) { if (o != null && ENABLED.get() == Boolean.TRUE) { final Class<?> clazz = o.getClass(); if (! clazz.isArray() && ! SerializabilityChecker.DEFAULT.isSerializable(clazz)) { return null; } } return o; }
public Object writeReplace(final Object o) { if (o != null && ENABLED.get() == Boolean.TRUE) { final Class<?> clazz = o.getClass(); if (! clazz.isArray() && ! SerializabilityChecker.DEFAULT.isSerializable(clazz)) { return null; } } return o; }
public Class<?> getNonSerializableSuperclass(SerializabilityChecker checker) { Class<?> nearestType = getNearestType(); if (nearestType == null) return Object.class; while (checker.isSerializable(nearestType)) { nearestType = nearestType.getSuperclass(); } return nearestType; } }
public Class<?> getNonSerializableSuperclass(SerializabilityChecker checker) { Class<?> nearestType = getNearestType(); if (nearestType == null) return Object.class; while (checker.isSerializable(nearestType)) { nearestType = nearestType.getSuperclass(); } return nearestType; } }
public Class<?> getNonSerializableSuperclass(SerializabilityChecker checker) { Class<?> nearestType = getNearestType(); if (nearestType == null) return Object.class; while (checker.isSerializable(nearestType)) { nearestType = nearestType.getSuperclass(); } return nearestType; } }
public Class<?> getNonSerializableSuperclass(SerializabilityChecker checker) { Class<?> nearestType = getNearestType(); if (nearestType == null) return Object.class; while (checker.isSerializable(nearestType)) { nearestType = nearestType.getSuperclass(); } return nearestType; } }
public Class<?> getNonSerializableSuperclass(SerializabilityChecker checker) { Class<?> nearestType = getNearestType(); if (nearestType == null) return Object.class; while (checker.isSerializable(nearestType)) { nearestType = nearestType.getSuperclass(); } return nearestType; } }