java类org.bukkit.configuration.serialization.ConfigurationSerializable的实例源码

FireworkEffect.java 文件源码 项目:Cauldron 阅读 21 收藏 0 点赞 0 评论 0
/**
 * @see ConfigurationSerializable
 */
public static ConfigurationSerializable deserialize(Map<String, Object> map) {
    Type type = Type.valueOf((String) map.get(TYPE));
    if (type == null) {
        throw new IllegalArgumentException(map.get(TYPE) + " is not a valid Type");
    }

    return builder()
        .flicker((Boolean) map.get(FLICKER))
        .trail((Boolean) map.get(TRAIL))
        .withColor((Iterable<?>) map.get(COLORS))
        .withFade((Iterable<?>) map.get(FADE_COLORS))
        .with(type)
        .build();
}
YamlRepresenter.java 文件源码 项目:Cauldron 阅读 25 收藏 0 点赞 0 评论 0
@Override
public Node representData(Object data) {
    ConfigurationSerializable serializable = (ConfigurationSerializable) data;
    Map<String, Object> values = new LinkedHashMap<String, Object>();
    values.put(ConfigurationSerialization.SERIALIZED_TYPE_KEY, ConfigurationSerialization.getAlias(serializable.getClass()));
    values.putAll(serializable.serialize());

    return super.representData(values);
}
BukkitObjectOutputStream.java 文件源码 项目:Cauldron 阅读 24 收藏 0 点赞 0 评论 0
@Override
protected Object replaceObject(Object obj) throws IOException {
    if (!(obj instanceof Serializable) && (obj instanceof ConfigurationSerializable)) {
        obj = Wrapper.newWrapper((ConfigurationSerializable) obj);
    }

    return super.replaceObject(obj);
}
JavaPluginLoader.java 文件源码 项目:Cauldron 阅读 23 收藏 0 点赞 0 评论 0
void setClass(final String name, final Class<?> clazz) {
    if (!classes.containsKey(name)) {
        classes.put(name, clazz);

        if (ConfigurationSerializable.class.isAssignableFrom(clazz)) {
            Class<? extends ConfigurationSerializable> serializable = clazz.asSubclass(ConfigurationSerializable.class);
            ConfigurationSerialization.registerClass(serializable);
        }
    }
}
JavaPluginLoader.java 文件源码 项目:Cauldron 阅读 22 收藏 0 点赞 0 评论 0
private void removeClass(String name) {
    Class<?> clazz = classes.remove(name);

    try {
        if ((clazz != null) && (ConfigurationSerializable.class.isAssignableFrom(clazz))) {
            Class<? extends ConfigurationSerializable> serializable = clazz.asSubclass(ConfigurationSerializable.class);
            ConfigurationSerialization.unregisterClass(serializable);
        }
    } catch (NullPointerException ex) {
        // Boggle!
        // (Native methods throwing NPEs is not fun when you can't stop it before-hand)
    }
}
FireworkEffect.java 文件源码 项目:Cauldron 阅读 22 收藏 0 点赞 0 评论 0
/**
 * @see ConfigurationSerializable
 */
public static ConfigurationSerializable deserialize(Map<String, Object> map) {
    Type type = Type.valueOf((String) map.get(TYPE));
    if (type == null) {
        throw new IllegalArgumentException(map.get(TYPE) + " is not a valid Type");
    }

    return builder()
        .flicker((Boolean) map.get(FLICKER))
        .trail((Boolean) map.get(TRAIL))
        .withColor((Iterable<?>) map.get(COLORS))
        .withFade((Iterable<?>) map.get(FADE_COLORS))
        .with(type)
        .build();
}
YamlRepresenter.java 文件源码 项目:Cauldron 阅读 23 收藏 0 点赞 0 评论 0
@Override
public Node representData(Object data) {
    ConfigurationSerializable serializable = (ConfigurationSerializable) data;
    Map<String, Object> values = new LinkedHashMap<String, Object>();
    values.put(ConfigurationSerialization.SERIALIZED_TYPE_KEY, ConfigurationSerialization.getAlias(serializable.getClass()));
    values.putAll(serializable.serialize());

    return super.representData(values);
}
BukkitObjectOutputStream.java 文件源码 项目:Cauldron 阅读 30 收藏 0 点赞 0 评论 0
@Override
protected Object replaceObject(Object obj) throws IOException {
    if (!(obj instanceof Serializable) && (obj instanceof ConfigurationSerializable)) {
        obj = Wrapper.newWrapper((ConfigurationSerializable) obj);
    }

    return super.replaceObject(obj);
}
JavaPluginLoader.java 文件源码 项目:Cauldron 阅读 25 收藏 0 点赞 0 评论 0
void setClass(final String name, final Class<?> clazz) {
    if (!classes.containsKey(name)) {
        classes.put(name, clazz);

        if (ConfigurationSerializable.class.isAssignableFrom(clazz)) {
            Class<? extends ConfigurationSerializable> serializable = clazz.asSubclass(ConfigurationSerializable.class);
            ConfigurationSerialization.registerClass(serializable);
        }
    }
}
JavaPluginLoader.java 文件源码 项目:Cauldron 阅读 25 收藏 0 点赞 0 评论 0
private void removeClass(String name) {
    Class<?> clazz = classes.remove(name);

    try {
        if ((clazz != null) && (ConfigurationSerializable.class.isAssignableFrom(clazz))) {
            Class<? extends ConfigurationSerializable> serializable = clazz.asSubclass(ConfigurationSerializable.class);
            ConfigurationSerialization.unregisterClass(serializable);
        }
    } catch (NullPointerException ex) {
        // Boggle!
        // (Native methods throwing NPEs is not fun when you can't stop it before-hand)
    }
}


问题


面经


文章

微信
公众号

扫码关注公众号