• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ScriptUtils类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中jdk.nashorn.api.scripting.ScriptUtils的典型用法代码示例。如果您正苦于以下问题:Java ScriptUtils类的具体用法?Java ScriptUtils怎么用?Java ScriptUtils使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ScriptUtils类属于jdk.nashorn.api.scripting包,在下文中一共展示了ScriptUtils类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: Deserialize

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
@Override
public Object Deserialize(Object input) {
    // Make sure we can continue:
    if(!ScriptObjectMirror.class.isAssignableFrom(input.getClass()) &&
            !ScriptObject.class.isAssignableFrom(input.getClass())) return null;

    ScriptObjectMirror mirror;

    // The first case will probably not happen, but, just in case...
    if(ScriptObjectMirror.class.isAssignableFrom(input.getClass())) {
        mirror = (ScriptObjectMirror) input;
    } else {
        mirror = ScriptUtils.wrap((ScriptObject) input);
    }

    Map<String, Object> properties = new HashMap<>();

    for(String key : mirror.keySet()) {
        properties.put(key, mirror.get(key));
    }

    return new BlockStateMatcher(properties);
}
 
开发者ID:legendblade,项目名称:CraftingHarmonics,代码行数:24,代码来源:BlockStateMatcher.java


示例2: Deserialize

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
@Override
public final Object Deserialize(Object input) {
    // Make sure we can continue:
    if(!ScriptObjectMirror.class.isAssignableFrom(input.getClass()) &&
            !ScriptObject.class.isAssignableFrom(input.getClass())) return null;

    ScriptObjectMirror mirror;

    // The first case will probably not happen, but, just in case...
    if(ScriptObjectMirror.class.isAssignableFrom(input.getClass())) {
        mirror = (ScriptObjectMirror) input;
    } else {
        mirror = ScriptUtils.wrap((ScriptObject) input);
    }

    return DeserializeMirror(mirror);
}
 
开发者ID:legendblade,项目名称:CraftingHarmonics,代码行数:18,代码来源:BaseMirroredDeserializer.java


示例3: DeserializeMirror

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
@Override
protected Object DeserializeMirror(ScriptObjectMirror mirror) {
    BlockCountMatcher matcher = new BlockCountMatcher();

    if(!mirror.containsKey("what") || !mirror.containsKey("dist")) {
        return null;
    }

    // Copy over all our matchers...
    matcher.what = DeserializerHelpers.convertArrayWithDeserializer(mirror, "what", BLOCK_MATCHER_DESERIALIZER, BlockMatcher.class);

    // Then the rest of our properties...
    matcher.dist = (int) ScriptUtils.convert(mirror.get("dist"), Integer.class);

    matcher.min = mirror.containsKey("min") ? (int) ScriptUtils.convert(mirror.get("min"), Integer.class) : 0;
    matcher.max = mirror.containsKey("max") ? (int) ScriptUtils.convert(mirror.get("max"), Integer.class) : Integer.MAX_VALUE;

    return matcher;
}
 
开发者ID:legendblade,项目名称:CraftingHarmonics,代码行数:20,代码来源:BlockCountMatcher.java


示例4: DeserializeMirror

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
@Override
protected Object DeserializeMirror(ScriptObjectMirror mirror) {
    // Gather callbacks:
    IEntityCallback[] callbacks = DeserializerHelpers.convertArrayWithDeserializer(mirror, "onUsed",
            CALLBACK_DESERIALIZER, IEntityCallback.class);

    // And matchers:
    ComponentRegistry registry = ComponentRegistry.compileRegistryFor(new Class[]{IBlockDropMatcher.class}, mirror);
    List<IBlockDropMatcher> components = registry.getComponentsOf(IBlockDropMatcher.class);

    boolean cancel = mirror.containsKey("cancelAfterMatch")
            && (Boolean) ScriptUtils.convert(mirror.get("cancelAfterMatch"), Boolean.class);

    return new BlockInteractionHandler(components != null ? components.toArray(new IBlockDropMatcher[components.size()]) : null,
            callbacks, cancel);
}
 
开发者ID:legendblade,项目名称:CraftingHarmonics,代码行数:17,代码来源:BlockInteractionHandler.java


示例5: update

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
@Override
protected void update(ScriptObjectMirror mirror, MobPotionEffect output) {
    // Our base potion
    output.what = (Potion) POTION_DESERIALIZER.Deserialize(mirror.get("what"));

    // Duration; defaults to the number of ticks between checks
    output.duration = mirror.containsKey("duration") ? (int) ScriptUtils.convert(mirror.get("duration"), Integer.class)
            : CraftingHarmonicsMod.getConfigManager().getPotionEffectTicks()+1;

    output.amplifier = mirror.containsKey("amplifier") ? (int) ScriptUtils.convert(mirror.get("amplifier"), Integer.class) : 0;
    output.showParticles = mirror.containsKey("showParticles") && (boolean) ScriptUtils.convert(mirror.get("showParticles"), Boolean.class);
    output.cures = DeserializerHelpers.convertArrayWithDeserializer(mirror, "cures", ITEM_STACK_DESERIALIZER, ItemStack.class);
    output.newCallbacks = DeserializerHelpers.convertArrayWithDeserializer(mirror, "onNew", ENTITY_CALLBACK_DESERIALIZER, IEntityCallback.class);
    output.extendedCallbacks = DeserializerHelpers.convertArrayWithDeserializer(mirror, "onExtended", ENTITY_CALLBACK_DESERIALIZER, IEntityCallback.class);
    output.applyCallbacks = DeserializerHelpers.convertArrayWithDeserializer(mirror, "onApplied", ENTITY_CALLBACK_DESERIALIZER, IEntityCallback.class);
    output.expiredCallbacks = DeserializerHelpers.convertArrayWithDeserializer(mirror, "onExpired", ENTITY_CALLBACK_DESERIALIZER, IEntityCallback.class);
    output.curedCallbacks = DeserializerHelpers.convertArrayWithDeserializer(mirror, "onCured", ENTITY_CALLBACK_DESERIALIZER, IEntityCallback.class);
    output.removedCallbacks = DeserializerHelpers.convertArrayWithDeserializer(mirror, "onRemoved", ENTITY_CALLBACK_DESERIALIZER, IEntityCallback.class);
}
 
开发者ID:legendblade,项目名称:CraftingHarmonics,代码行数:20,代码来源:MobPotionEffect.java


示例6: DeserializeMirror

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
@Override
protected Object DeserializeMirror(ScriptObjectMirror mirror) {
    MobCountMatcher matcher = new MobCountMatcher();

    if(!mirror.containsKey("what") || !mirror.containsKey("dist")) {
        return null;
    }

    matcher.what = (String[]) ScriptUtils.convert(mirror.get("what"), String[].class);
    matcher.dist = (int) ScriptUtils.convert(mirror.get("dist"), Integer.class);

    matcher.min = mirror.containsKey("min") ? (int) ScriptUtils.convert(mirror.get("min"), Integer.class) : 0;
    matcher.max = mirror.containsKey("max") ? (int) ScriptUtils.convert(mirror.get("max"), Integer.class) : Integer.MAX_VALUE;

    return matcher;
}
 
开发者ID:legendblade,项目名称:CraftingHarmonics,代码行数:17,代码来源:MobCountMatcher.java


示例7: exportArgument

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
static Object exportArgument(final Object arg, final boolean mirrorAlways) {
    if (arg instanceof ConsString) {
        return arg.toString();
    } else if (mirrorAlways && arg instanceof ScriptObject) {
        return ScriptUtils.wrap((ScriptObject)arg);
    } else {
        return arg;
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:10,代码来源:NashornBeansLinker.java


示例8: exportArgument

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
static Object exportArgument(final Object arg, final boolean mirrorAlways) {
    if (arg instanceof ConsString) {
        return arg.toString();
    } else if (mirrorAlways && arg instanceof ScriptObject) {
        return ScriptUtils.wrap(arg);
    } else {
        return arg;
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:10,代码来源:NashornBeansLinker.java


示例9: TranslateToItemStack

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
/**
 * Translates script data to an item stack
 * @param data  The data to translate
 * @return      The ItemStack requested
 * @throws OperationException When the item cannot be found in the registry.
 */
private static RecipeComponent TranslateToItemStack(Object data) throws OperationException {
    RecipeComponent component = new RecipeComponent();

    if(data instanceof String) {
        String itemString = (String)data;

        if(ItemUtility.isOreDictionaryEntry(itemString)) {
            component.setOreDictName(itemString, ItemUtility.getOreDictionaryName(itemString));
        } else {
            component.setItemStack(itemString, ItemUtility.translateToItemStack(itemString));
        }

        return component;
    }

    ScriptObjectMirror item;

    if(ScriptObjectMirror.class.isAssignableFrom(data.getClass())) {
        item = (ScriptObjectMirror)data;
    } else if(ScriptObject.class.isAssignableFrom(data.getClass())) {
        item = ScriptUtils.wrap((ScriptObject) data);
    } else {
        return null;
    }

    if(!item.hasMember("item")) return null;

    NashornConfigProcessor.getInstance().nashorn.parseScriptObject(item,component);

    return component;
}
 
开发者ID:legendblade,项目名称:CraftingHarmonics,代码行数:38,代码来源:RecipeComponentDeserializer.java


示例10: convertArrayWithDeserializer

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
public static <T> T[] convertArrayWithDeserializer(Object input, IScriptObjectDeserializer deserializer, Class<T> toClass) {
    try {
        T[] output;

        // If we don't anything to deserialize...
        if(input == null) {
            return ObjectArrays.newArray(toClass, 0);
        }

        if(ScriptObjectMirror.class.isAssignableFrom(input.getClass())) {
            ScriptObjectMirror valMirror = (ScriptObjectMirror) input;

            // If we have an array, convert the array...
            if(valMirror.isArray()) {
                Object[] items = (Object[]) ScriptUtils.convert(input, Object[].class);
                output = ObjectArrays.newArray(toClass, items != null ? items.length : 0);

                if (items == null) return output;

                for (int i = 0; i < output.length; i++) {
                    output[i] = convertWithDeserializer(items[i], deserializer, toClass);
                }
            // Otherwise, just convert the object, and turn it into an array:
            } else {
                output = ObjectArrays.newArray(toClass, 1);
                output[0] = convertWithDeserializer(valMirror, deserializer, toClass);
            }

            return output;
        } else {
            output = ObjectArrays.newArray(toClass, 1);
            output[0] = convertWithDeserializer(input, deserializer, toClass);
        }

        return output;
    } catch (Exception e) {
        LogHelper.error("Error deserializing array of " + toClass.getName(), e);
        return ObjectArrays.newArray(toClass, 0);
    }
}
 
开发者ID:legendblade,项目名称:CraftingHarmonics,代码行数:41,代码来源:DeserializerHelpers.java


示例11: deserialize

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
public static InteractionTargetData deserialize(Object input) {
    // Figure out if we have a valid input here:
    if(input == null || (!ScriptObjectMirror.class.isAssignableFrom(input.getClass()) &&
            !ScriptObject.class.isAssignableFrom(input.getClass()))) return new InteractionTargetData(null, null, null, null);

    ScriptObjectMirror mirror;

    // Convert it over...
    if(ScriptObjectMirror.class.isAssignableFrom(input.getClass())) {
        mirror = (ScriptObjectMirror) input;
    } else {
        mirror = ScriptUtils.wrap((ScriptObject) input);
    }

    // Gather our callbacks:
    IEntityCallback[] onAllowed = mirror.containsKey("onAllowed")
            ? DeserializerHelpers.convertArrayWithDeserializer(mirror, "onAllowed", CALLBACK_DESERIALIZER, IEntityCallback.class)
            : new IEntityCallback[0];
    IEntityCallback[] onDenied = mirror.containsKey("onDenied")
            ? DeserializerHelpers.convertArrayWithDeserializer(mirror, "onDenied", CALLBACK_DESERIALIZER, IEntityCallback.class)
            : new IEntityCallback[0];
    IEntityCallback[] onPassed = mirror.containsKey("onPassed")
            ? DeserializerHelpers.convertArrayWithDeserializer(mirror, "onPassed", CALLBACK_DESERIALIZER, IEntityCallback.class)
            : new IEntityCallback[0];

    // Finally, get our matchers:
    ComponentRegistry registry = ComponentRegistry.compileRegistryFor(new Class[]{IEntityMatcher.class}, mirror);
    List<IEntityMatcher> components = registry.getComponentsOf(IEntityMatcher.class);

    // And build it out...
    return new InteractionTargetData(components != null ? components.toArray(new IEntityMatcher[components.size()]) : null,
            onAllowed, onDenied, onPassed);
}
 
开发者ID:legendblade,项目名称:CraftingHarmonics,代码行数:34,代码来源:EntityInteractionData.java


示例12: DeserializeMirror

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
@Override
protected Object DeserializeMirror(ScriptObjectMirror mirror) {
    WeatherMatcher output = new WeatherMatcher();

    output.presence = mirror.containsKey("presence") ? (Boolean) ScriptUtils.convert(mirror.get("presence"), Boolean.class) : true;
    output.onlyOnTarget = mirror.containsKey("onlyOnTarget") ? (Boolean)ScriptUtils.convert(mirror.get("onlyOnTarget"), Boolean.class) : false;

    // This is forced to true when we're checking the block.
    output.onlyInBiome = output.onlyOnTarget
            || (mirror.containsKey("onlyInBiome") ? (Boolean) ScriptUtils.convert(mirror.get("onlyInBiome"), Boolean.class) : false);

    return output;
}
 
开发者ID:legendblade,项目名称:CraftingHarmonics,代码行数:14,代码来源:BaseWeatherMatcher.java


示例13: toMicronode

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
/**
 * Convert the given value into a micronode.
 *
 * @param value
 *            Value to be converted
 * @return Micronode object or null if the value could not be converted
 */
public Object toMicronode(Object value) {
	if (isMicronode(value)) {
		return ScriptUtils.unwrap(value);
	} else if (isJSArray(value)) {
		return getJSArray(value).stream().findFirst().filter(o -> isMicronode(o)).map(o -> ScriptUtils.unwrap(o))
				.orElse(null);
	} else {
		return null;
	}
}
 
开发者ID:gentics,项目名称:mesh,代码行数:18,代码来源:TypeConverter.java


示例14: toMicronodeList

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
/**
 * Convert the given value into a list of micronodes.
 *
 * @param value
 *            Value to be converted
 * @return List of micronodes or null if the value could not be converted
 */
public Object[] toMicronodeList(Object value) {
	if (isMicronode(value)) {
		return new Object[] { ScriptUtils.unwrap(value) };
	} else if (isJSArray(value) && getJSArray(value).stream().anyMatch(o -> isMicronode(o))) {
		List<Object> list = getJSArray(value).stream().map(e -> toMicronode(e)).filter(s -> s != null)
				.collect(Collectors.toList());
		return list.toArray(new Object[list.size()]);
	} else {
		return null;
	}
}
 
开发者ID:gentics,项目名称:mesh,代码行数:19,代码来源:TypeConverter.java


示例15: toNode

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
/**
 * Convert the given value into a node.
 *
 * @param value
 *            Value to be converted
 * @return Node or null if the value could not be converted
 */
public Object toNode(Object value) {
	if (isNode(value)) {
		return ScriptUtils.unwrap(value);
	} else if (isJSArray(value)) {
		return getJSArray(value).stream().findFirst().filter(o -> isNode(o)).map(o -> ScriptUtils.unwrap(o))
				.orElse(null);
	} else {
		return null;
	}
}
 
开发者ID:gentics,项目名称:mesh,代码行数:18,代码来源:TypeConverter.java


示例16: toNodeList

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
/**
 * Convert the given value into a list of nodes.
 *
 * @param value
 *            Value to be converted
 * @return Array of nodes or null if the value could not be converted
 */
public Object[] toNodeList(Object value) {
	if (isNode(value)) {
		return new Object[] { ScriptUtils.unwrap(value) };
	} else if (isJSArray(value) && getJSArray(value).stream().anyMatch(o -> isNode(o))) {
		List<Object> list = getJSArray(value).stream().map(e -> toNode(e)).filter(s -> s != null)
				.collect(Collectors.toList());
		return list.toArray(new Object[list.size()]);
	} else {
		return null;
	}
}
 
开发者ID:gentics,项目名称:mesh,代码行数:19,代码来源:TypeConverter.java


示例17: setMember

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
@Override
public void setMember(String name, Object value) {
    value = value instanceof ScriptObject ? ScriptUtils.wrap((ScriptObject)value) : value;
    if (value instanceof JSObject) {
        if (session.getId() == null) {
            throw new IllegalStateException(RESIDENT_MODULES_MODIFICATION_MSG);
        } else {
            session.registerModule(name, (JSObject) value);
        }
    } else if (JSType.nullOrUndefined(value)) {
        session.unregisterModule(name);
    }
}
 
开发者ID:marat-gainullin,项目名称:platypus-js,代码行数:14,代码来源:ModulesJSFacade.java


示例18: createMirror

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
@SuppressWarnings("unused")
private static Object createMirror(final Object obj) {
    return obj instanceof ScriptObject? ScriptUtils.wrap((ScriptObject)obj) : obj;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:5,代码来源:NashornLinker.java


示例19: importResult

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
@SuppressWarnings("unused")
private static Object importResult(final Object arg) {
    return ScriptUtils.unwrap(arg);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:5,代码来源:NashornBeansLinker.java


示例20: Deserialize

import jdk.nashorn.api.scripting.ScriptUtils; //导入依赖的package包/类
@Override
public Object Deserialize(Object input) {
    RecipeInput output = new RecipeInput();

    if(input instanceof String) {
        addItemStringBasedMatchers(output, (String)input);
        return output;
    }

    // Make sure we can continue:
    if(!ScriptObjectMirror.class.isAssignableFrom(input.getClass()) &&
            !ScriptObject.class.isAssignableFrom(input.getClass())) return output;

    ScriptObjectMirror mirror;

    // The first case will probably not happen, but, just in case...
    if(ScriptObjectMirror.class.isAssignableFrom(input.getClass())) {
        mirror = (ScriptObjectMirror) input;
    } else {
        mirror = ScriptUtils.wrap((ScriptObject) input);
    }

    // If we don't have an item... /sigh
    if (!mirror.containsKey("item")) return output;
    Object item = mirror.get("item");

    // Make sure we have a string and somebody's not trying to be clever..
    if(!(item instanceof String)) {
        LogHelper.error("Couldn't convert '" + item.toString() + "' to a valid item string.");
        return output;
    }

    addItemStringBasedMatchers(output, (String)item);

    // And if we still don't have anything, means we still had a bad input string...
    if(RecipeInput.isNullOrEmpty(output)) {
        LogHelper.error("Couldn't convert '" + item.toString() + "' to a valid item string.");
        return output;
    }

    // Get our registry data...
    ComponentRegistry registry = ComponentRegistry.compileRegistryFor(new Class[]{
            IRecipeInputMatcher.class,
            IItemStackTransformer.class}, mirror);

    List<IRecipeInputMatcher> matchers = registry.getComponentsOf(IRecipeInputMatcher.class);
    List<IItemStackTransformer> transformers = registry.getComponentsOf(IItemStackTransformer.class);

    // Deal with matchers
    if(matchers != null) {
        for (IRecipeInputMatcher matcher : matchers) {
            // Quick hack; should do a global registration of this later for faster lookup...
            PrioritizedObject priority = matcher.getClass().getAnnotation(PrioritizedObject.class);
            output.addMatcher(matcher, priority.priority());
        }
    }

    if(transformers != null) {
        for(IItemStackTransformer transformer : transformers) {
            output.addTransformer(transformer);

            // Also deal with any implied transformers we have (if any)
            IItemStackTransformer[] impliedTransformers = transformer.getImpliedTransformers();
            for(IItemStackTransformer implied : impliedTransformers) {
                output.addTransformer(implied);
            }
        }
    }

    return output;
}
 
开发者ID:legendblade,项目名称:CraftingHarmonics,代码行数:72,代码来源:RecipeInputDeserializer.java



注:本文中的jdk.nashorn.api.scripting.ScriptUtils类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ListAppender类代码示例发布时间:2022-05-22
下一篇:
Java ResponseEvent类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap