/** * Determine whether this class has a public no-arg constructor. * * @return {@code true} if there is such a constructor */ public boolean hasPublicNoArgConstructor() { final Constructor<?> noArgConstructor = serMethods.getNoArgConstructor(); return noArgConstructor != null && Modifier.isPublic(noArgConstructor.getModifiers()); }
SerializableClass(Class<?> subject) { this.subject = subject; final IdentityHashMap<Class<?>, Constructor<?>> constructorMap = new IdentityHashMap<Class<?>, Constructor<?>>(); for (Class<?> t = subject.getSuperclass(); t != null; t = t.getSuperclass()) { final SerializableClass lookedUp = REGISTRY.lookup(t); final Constructor<?> constructor = lookedUp.serMethods.getNoArgConstructor(); if (constructor != null) { constructorMap.put(t, JDKSpecific.newConstructorForSerialization(subject, constructor)); } } nonInitConstructors = constructorMap; // private methods serMethods = new JDKSpecific.SerMethods(subject); final ObjectStreamClass objectStreamClass = ObjectStreamClass.lookup(subject); effectiveSerialVersionUID = objectStreamClass == null ? 0L : objectStreamClass.getSerialVersionUID(); // todo find a better solution final HashMap<String, SerializableField> fieldsByName = new HashMap<String, SerializableField>(); for (SerializableField serializableField : fields = getSerializableFields(subject)) { fieldsByName.put(serializableField.getName(), serializableField); } this.fieldsByName = fieldsByName; }
/** * Determine whether this class has a public no-arg constructor. * * @return {@code true} if there is such a constructor */ public boolean hasPublicNoArgConstructor() { final Constructor<?> noArgConstructor = serMethods.getNoArgConstructor(); return noArgConstructor != null && Modifier.isPublic(noArgConstructor.getModifiers()); }
SerializableClass(Class<?> subject) { this.subject = subject; final IdentityHashMap<Class<?>, Constructor<?>> constructorMap = new IdentityHashMap<Class<?>, Constructor<?>>(); for (Class<?> t = subject.getSuperclass(); t != null; t = t.getSuperclass()) { final SerializableClass lookedUp = REGISTRY.lookup(t); final Constructor<?> constructor = lookedUp.serMethods.getNoArgConstructor(); if (constructor != null) { constructorMap.put(t, JDKSpecific.newConstructorForSerialization(subject, constructor)); } } nonInitConstructors = constructorMap; // private methods serMethods = new JDKSpecific.SerMethods(subject); final ObjectStreamClass objectStreamClass = ObjectStreamClass.lookup(subject); effectiveSerialVersionUID = objectStreamClass == null ? 0L : objectStreamClass.getSerialVersionUID(); // todo find a better solution final HashMap<String, SerializableField> fieldsByName = new HashMap<String, SerializableField>(); for (SerializableField serializableField : fields = getSerializableFields(subject)) { fieldsByName.put(serializableField.getName(), serializableField); } this.fieldsByName = fieldsByName; }
@SuppressWarnings("unchecked") <T> Constructor<T> getNoArgConstructor() { return (Constructor<T>) serMethods.getNoArgConstructor(); }
@SuppressWarnings("unchecked") <T> Constructor<T> getNoArgConstructor() { return (Constructor<T>) serMethods.getNoArgConstructor(); }
@SuppressWarnings("unchecked") <T> Constructor<T> getNoArgConstructor() { return (Constructor<T>) serMethods.getNoArgConstructor(); }
@SuppressWarnings("unchecked") <T> Constructor<T> getNoArgConstructor() { return (Constructor<T>) serMethods.getNoArgConstructor(); }
/** * Invoke the no-arg constructor on this class. * * @return the new instance * @throws IOException if an I/O error occurs */ public Object callNoArgConstructor() throws IOException { final Constructor<?> noArgConstructor = serMethods.getNoArgConstructor(); return invokeConstructor(noArgConstructor); }
/** * Determine whether this class has a public no-arg constructor. * * @return {@code true} if there is such a constructor */ public boolean hasPublicNoArgConstructor() { final Constructor<?> noArgConstructor = serMethods.getNoArgConstructor(); return noArgConstructor != null && Modifier.isPublic(noArgConstructor.getModifiers()); }
/** * Determine whether this class has a public no-arg constructor. * * @return {@code true} if there is such a constructor */ public boolean hasPublicNoArgConstructor() { final Constructor<?> noArgConstructor = serMethods.getNoArgConstructor(); return noArgConstructor != null && Modifier.isPublic(noArgConstructor.getModifiers()); }
@SuppressWarnings("unchecked") <T> Constructor<T> getNoArgConstructor() { return (Constructor<T>) serMethods.getNoArgConstructor(); }
/** * Determine whether this class has a public no-arg constructor. * * @return {@code true} if there is such a constructor */ public boolean hasPublicNoArgConstructor() { final Constructor<?> noArgConstructor = serMethods.getNoArgConstructor(); return noArgConstructor != null && Modifier.isPublic(noArgConstructor.getModifiers()); }
/** * Invoke the no-arg constructor on this class. * * @return the new instance * @throws IOException if an I/O error occurs */ public Object callNoArgConstructor() throws IOException { final Constructor<?> noArgConstructor = serMethods.getNoArgConstructor(); return invokeConstructor(noArgConstructor); }
/** * Invoke the no-arg constructor on this class. * * @return the new instance * @throws IOException if an I/O error occurs */ public Object callNoArgConstructor() throws IOException { final Constructor<?> noArgConstructor = serMethods.getNoArgConstructor(); return invokeConstructor(noArgConstructor); }
/** * Invoke the no-arg constructor on this class. * * @return the new instance * @throws IOException if an I/O error occurs */ public Object callNoArgConstructor() throws IOException { final Constructor<?> noArgConstructor = serMethods.getNoArgConstructor(); return invokeConstructor(noArgConstructor); }
/** * Determine whether this class has a public no-arg constructor. * * @return {@code true} if there is such a constructor */ public boolean hasPublicNoArgConstructor() { final Constructor<?> noArgConstructor = serMethods.getNoArgConstructor(); return noArgConstructor != null && Modifier.isPublic(noArgConstructor.getModifiers()); }
/** * Invoke the no-arg constructor on this class. * * @return the new instance * @throws IOException if an I/O error occurs */ public Object callNoArgConstructor() throws IOException { final Constructor<?> noArgConstructor = serMethods.getNoArgConstructor(); return invokeConstructor(noArgConstructor); }
@SuppressWarnings("unchecked") <T> Constructor<T> getNoArgConstructor() { return (Constructor<T>) serMethods.getNoArgConstructor(); }
/** * Invoke the no-arg constructor on this class. * * @return the new instance * @throws IOException if an I/O error occurs */ public Object callNoArgConstructor() throws IOException { final Constructor<?> noArgConstructor = serMethods.getNoArgConstructor(); return invokeConstructor(noArgConstructor); }