This commit is contained in:
@@ -205,6 +205,7 @@ public abstract class ConvertFactory<R extends Reader, W extends Writer> {
|
|||||||
* 使所有类的所有被声明为ConvertColumn.ignore = true 的字段或方法变为ConvertColumn.ignore = false
|
* 使所有类的所有被声明为ConvertColumn.ignore = true 的字段或方法变为ConvertColumn.ignore = false
|
||||||
*
|
*
|
||||||
* @param skipIgnore
|
* @param skipIgnore
|
||||||
|
*
|
||||||
* @return 自身
|
* @return 自身
|
||||||
*/
|
*/
|
||||||
public ConvertFactory<R, W> skipAllIgnore(final boolean skipIgnore) {
|
public ConvertFactory<R, W> skipAllIgnore(final boolean skipIgnore) {
|
||||||
@@ -386,7 +387,7 @@ public abstract class ConvertFactory<R extends Reader, W extends Writer> {
|
|||||||
} else if (clazz == Object.class) {
|
} else if (clazz == Object.class) {
|
||||||
od = new ObjectDecoder(type);
|
od = new ObjectDecoder(type);
|
||||||
decoder = od;
|
decoder = od;
|
||||||
} else if (!clazz.getName().startsWith("java.")) {
|
} else if (!clazz.getName().startsWith("java.") || clazz.getName().startsWith("java.awt.geom.Point2D")) {
|
||||||
Decodeable simpleCoder = null;
|
Decodeable simpleCoder = null;
|
||||||
for (final Method method : clazz.getDeclaredMethods()) {
|
for (final Method method : clazz.getDeclaredMethods()) {
|
||||||
if (!Modifier.isStatic(method.getModifiers())) continue;
|
if (!Modifier.isStatic(method.getModifiers())) continue;
|
||||||
|
|||||||
@@ -98,6 +98,10 @@ public final class ObjectDecoder<R extends Reader, T> implements Decodeable<R, T
|
|||||||
ref = factory.findRef(method);
|
ref = factory.findRef(method);
|
||||||
if (ref != null && ref.ignore()) continue;
|
if (ref != null && ref.ignore()) continue;
|
||||||
Type t = ObjectEncoder.createClassType(method.getGenericParameterTypes()[0], this.type);
|
Type t = ObjectEncoder.createClassType(method.getGenericParameterTypes()[0], this.type);
|
||||||
|
if (t instanceof Class) {
|
||||||
|
Class ct = (Class) t;
|
||||||
|
if (ct.isInterface() || Modifier.isAbstract(ct.getModifiers())) continue;
|
||||||
|
}
|
||||||
list.add(new DeMember(ObjectEncoder.createAttribute(factory, clazz, null, null, method), factory.loadDecoder(t)));
|
list.add(new DeMember(ObjectEncoder.createAttribute(factory, clazz, null, null, method), factory.loadDecoder(t)));
|
||||||
}
|
}
|
||||||
if (cps != null) { //可能存在某些构造函数中的字段名不存在setter方法
|
if (cps != null) { //可能存在某些构造函数中的字段名不存在setter方法
|
||||||
@@ -161,6 +165,7 @@ public final class ObjectDecoder<R extends Reader, T> implements Decodeable<R, T
|
|||||||
* 对象格式: [0x1][short字段个数][字段名][字段值]...[0x2]
|
* 对象格式: [0x1][short字段个数][字段名][字段值]...[0x2]
|
||||||
*
|
*
|
||||||
* @param in 输入流
|
* @param in 输入流
|
||||||
|
*
|
||||||
* @return 反解析后的对象结果
|
* @return 反解析后的对象结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user