當前位置: 首頁>>代碼示例>>Java>>正文


Java Context.setClassShutter方法代碼示例

本文整理匯總了Java中org.mozilla.javascript.Context.setClassShutter方法的典型用法代碼示例。如果您正苦於以下問題:Java Context.setClassShutter方法的具體用法?Java Context.setClassShutter怎麽用?Java Context.setClassShutter使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.mozilla.javascript.Context的用法示例。


在下文中一共展示了Context.setClassShutter方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getScope

import org.mozilla.javascript.Context; //導入方法依賴的package包/類
@SuppressWarnings("nls")
public Scriptable getScope(Context jsContext)
{
	Scriptable scope = new ImporterTopLevel(jsContext);

	for( String name : scriptObjects.keySet() )
	{
		Object obj = scriptObjects.get(name);
		if( obj instanceof Boolean )
		{
			scope.put(name, scope, obj);
		}
		else if( obj != null )
		{
			Scriptable jsArgs = Context.toObject(obj, scope);
			scope.put(name, scope, jsArgs);
		}
	}

	// Remove the ability to create new Java objects in the script. List
	// comes from https://bugzilla.mozilla.org/show_bug.cgi?id=468385
	scope.delete("Packages");
	scope.delete("JavaImporter");
	scope.delete("JavaAdapter");
	scope.delete("getClass");
	scope.delete("java");
	scope.delete("javax");
	scope.delete("com");
	scope.delete("net");
	scope.delete("edu");
	scope.delete("org");

	try
	{
		// Prevent existingObject.getClass().forName('...')
		jsContext.setClassShutter(new ClassShutter()
		{
			@Override
			public boolean visibleToScripts(String className)
			{
				return !className.equals("java.lang.Class");
			}
		});
	}
	catch( SecurityException se )
	{
		// ignore - there's no way to test presence of ClassShutter
		// (indicative of a Context provided by calling module: ReportEngine
		// for example) other than by attempting to set ClassShutter.
		// See #8135
	}
	return scope;
}
 
開發者ID:equella,項目名稱:Equella,代碼行數:54,代碼來源:DefaultScriptContext.java


注:本文中的org.mozilla.javascript.Context.setClassShutter方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。