public String serializedClass()

in xstream/src/java/com/thoughtworks/xstream/mapper/LambdaMapper.java [36:59]


    public String serializedClass(final Class<?> type) {
        Class<?> replacement = null;
        if (Types.isLambdaType(type)) {
            if (Serializable.class.isAssignableFrom(type)) {
                final Class<?>[] interfaces = type.getInterfaces();
                if (interfaces.length > 1) {
                    for (int i = 0; replacement == null && i < interfaces.length; i++) {
                        final Class<?> iface = interfaces[i];
                        for (final Method method : iface.getMethods()) {
                            if (!method.isDefault() && !Modifier.isStatic(method.getModifiers())) {
                                replacement = iface;
                                break;
                            }
                        }
                    }
                } else {
                    replacement = interfaces[0];
                }
            } else {
                replacement = Null.class;
            }
        }
        return super.serializedClass(replacement == null ? type : replacement);
    }