亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? groovycodesource.java

?? Groovy動態語言 運行在JVM中的動態語言 可以方便的處理業務邏輯變化大的業務
?? JAVA
字號:
package groovy.lang;

import groovy.security.GroovyCodeSourcePermission;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.security.AccessController;
import java.security.CodeSource;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
import java.security.cert.Certificate;

/**
 * CodeSource wrapper class that allows specific security policies to be associated with a class
 * compiled from groovy source.
 * 
 * @author Steve Goetze
 */
public class GroovyCodeSource {
	
	/** 
	 * The codeSource to be given the generated class.  This can be used by policy file
	 * grants to administer security.
	 */
	private CodeSource codeSource;
	/** The name given to the generated class */
	private String name;
	/** The groovy source to be compiled and turned into a class */
	private InputStream inputStream;
	/** The certificates used to sign the items from the codesource */
	Certificate[] certs;
    private boolean cachable = false;
    
	private File file;
	
	public GroovyCodeSource(String script, String name, String codeBase) {
		this(new ByteArrayInputStream(script.getBytes()), name, codeBase);
	}
	
	/**
	 * Construct a GroovyCodeSource for an inputStream of groovyCode that has an
	 * unknown provenance -- meaning it didn't come from a File or a URL (e.g. a String).
	 * The supplied codeBase will be used to construct a File URL that should match up
	 * with a java Policy entry that determines the grants to be associated with the
	 * class that will be built from the InputStream.
	 * 
	 * The permission groovy.security.GroovyCodeSourcePermission will be used to determine if the given codeBase
	 * may be specified.  That is, the current Policy set must have a GroovyCodeSourcePermission that implies
	 * the codeBase, or an exception will be thrown.  This is to prevent callers from hijacking
	 * existing codeBase policy entries unless explicitly authorized by the user.
	 */
	public GroovyCodeSource(InputStream inputStream, String name, String codeBase) {
		this.inputStream = inputStream;
		this.name = name;
		SecurityManager sm = System.getSecurityManager();
		if (sm != null) {
		    sm.checkPermission(new GroovyCodeSourcePermission(codeBase));
		}
		try {
			this.codeSource = new CodeSource(new URL("file", "", codeBase), (java.security.cert.Certificate[])null);
		} catch (MalformedURLException murle) {
			throw new RuntimeException("A CodeSource file URL cannot be constructed from the supplied codeBase: " + codeBase);
		}
	}

	/** 
	 * Package private constructor called by GroovyClassLoader for signed jar entries
	 */
	GroovyCodeSource(InputStream inputStream, String name, final File path, final Certificate[] certs) {
		this.inputStream = inputStream;
		this.name = name;
		try {
			this.codeSource = (CodeSource) AccessController.doPrivileged( new PrivilegedExceptionAction() {
				public Object run() throws MalformedURLException {
					//toURI().toURL() will encode, but toURL() will not.
					return new CodeSource(path.toURI().toURL(), certs);
				}
			});
		} catch (PrivilegedActionException pae) {
			//shouldn't happen
			throw new RuntimeException("Could not construct a URL from: " + path);
		}
	}
	
	public GroovyCodeSource(final File file) throws FileNotFoundException {
		if (!file.exists())
		    throw new FileNotFoundException(file.toString() + " (" +  file.getAbsolutePath() +  ")");
		else {
		   try {
		       if (!file.canRead())
		           throw new RuntimeException(file.toString() + " can not be read. Check the read permisson of the file \"" + file.toString() + "\" (" +  file.getAbsolutePath() +  ").");
		   }
		   catch (SecurityException e) {
		        throw e;
		    }
		}

		//this.inputStream = new FileInputStream(file);
		this.file = file;
		this.inputStream = null;
        this.cachable = true;
		//The calls below require access to user.dir - allow here since getName() and getCodeSource() are
		//package private and used only by the GroovyClassLoader.
		try {
            Object[] info = (Object[]) AccessController.doPrivileged( new PrivilegedExceptionAction() {
				public Object run() throws MalformedURLException {
                    Object[] info = new Object[2];
                    URL url = file.toURI().toURL();
                    info[0] = url.toExternalForm();
					//toURI().toURL() will encode, but toURL() will not.
					info[1] = new CodeSource(url, (Certificate[]) null);
                    return info;
				}
			});
			this.name = (String) info[0];
            this.codeSource = (CodeSource) info[1];
		} catch (PrivilegedActionException pae) {
			throw new RuntimeException("Could not construct a URL from: " + file);
		}
	}
	
	public GroovyCodeSource(URL url) throws IOException {
		if (url == null) {
			throw new RuntimeException("Could not construct a GroovyCodeSource from a null URL");
		}
		this.inputStream = url.openStream();
		this.name = url.toExternalForm();
		this.codeSource = new CodeSource(url, (java.security.cert.Certificate[])null);
	}
	
	CodeSource getCodeSource() {
		return codeSource;
	}

	public InputStream getInputStream() {
        try {
            if (file!=null) return new FileInputStream(file);
        } catch (FileNotFoundException fnfe) {}
		return inputStream;
	}

	public String getName() {
		return name;
	}
    
    public File getFile() {
        return file;
    }
    
    public void setCachable(boolean b) {
        cachable = b;
    }

    public boolean isCachable() {
        return cachable;
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女一区二区视频| 3751色影院一区二区三区| 成人动漫一区二区| 久久久久久97三级| av在线综合网| 亚洲高清免费视频| 日韩限制级电影在线观看| 国产精品69久久久久水密桃| 最新国产成人在线观看| 欧美色大人视频| 久久99国产乱子伦精品免费| 国产精品婷婷午夜在线观看| 在线观看日韩高清av| 亚洲第一成年网| 久久综合九色综合97婷婷女人 | 亚洲已满18点击进入久久| 欧美日产在线观看| 国产精品一色哟哟哟| 国产一区久久久| 午夜电影久久久| 中文成人综合网| 亚洲摸摸操操av| 欧美成人三级电影在线| av在线免费不卡| 在线免费视频一区二区| 欧美四级电影在线观看| 大美女一区二区三区| 日本亚洲一区二区| 亚洲精选在线视频| 日本一区二区在线不卡| 欧美日韩一二三| 2021久久国产精品不只是精品| 国产欧美精品一区二区色综合| 亚洲色图.com| 秋霞电影一区二区| 天天免费综合色| 国产乱码精品1区2区3区| 91在线视频免费91| 成人动漫一区二区三区| 这里只有精品免费| 日本一区二区三区在线不卡 | caoporm超碰国产精品| 欧洲激情一区二区| 精品91自产拍在线观看一区| 91精品国产黑色紧身裤美女| 在线视频综合导航| 欧美tickling网站挠脚心| 亚洲色图20p| 精品午夜一区二区三区在线观看 | 亚洲在线中文字幕| 国产精品资源在线| 欧美日韩国产123区| 国产精品三级av| 青草国产精品久久久久久| 成人av中文字幕| 久久综合九色综合欧美就去吻 | 亚洲成av人片| 成人h动漫精品| 久久久无码精品亚洲日韩按摩| 亚洲综合久久久久| 99国产精品久久久久久久久久久| 欧美一区二区免费| 一区二区国产视频| 亚洲一区二区影院| 成人精品亚洲人成在线| 精品国产免费视频| 日本免费新一区视频| 久久久久久久性| 久久99热狠狠色一区二区| 国产视频一区二区在线| 中文天堂在线一区| 国产一区中文字幕| 欧美成人三级电影在线| 三级精品在线观看| 国产成人a级片| 欧美三级午夜理伦三级中视频| 1区2区3区精品视频| 亚欧色一区w666天堂| 在线观看av不卡| 一区二区三区精品视频| a在线播放不卡| 亚洲欧美综合色| 99麻豆久久久国产精品免费优播| 国产精品人人做人人爽人人添| 国产一区高清在线| 久久久久久久电影| 丁香六月综合激情| 国产精品国产三级国产aⅴ原创 | 亚洲一区二区三区四区在线观看 | 天堂资源在线中文精品| 欧美日韩在线三区| 日本aⅴ亚洲精品中文乱码| 91精品久久久久久蜜臀| 久久精品免费观看| 久久综合狠狠综合久久激情 | 亚洲天堂成人在线观看| 色婷婷国产精品综合在线观看| 日韩一区二区三区视频在线观看| 日韩va亚洲va欧美va久久| 日韩精品一区二区三区swag | 欧美日韩大陆在线| 欧美a级一区二区| 国产亚洲综合性久久久影院| 99久久国产综合精品色伊| 一区二区三区中文字幕精品精品 | 久久精品免费观看| 中文一区在线播放| 人禽交欧美网站| 国产亚洲一区二区三区在线观看 | 亚洲va韩国va欧美va| 日韩欧美综合在线| 成人免费毛片app| 丝袜诱惑制服诱惑色一区在线观看 | 69久久99精品久久久久婷婷| 在线观看免费亚洲| 91麻豆蜜桃一区二区三区| 91美女在线观看| 日韩成人午夜电影| 中文字幕免费不卡在线| 精品视频资源站| 国产a区久久久| 国产欧美一区二区精品秋霞影院| 97se亚洲国产综合自在线观| 亚洲国产色一区| 国产日产亚洲精品系列| 欧美妇女性影城| 日韩av一二三| 国产精品伦一区| 精品国产伦一区二区三区观看体验| eeuss鲁片一区二区三区| 日本一区中文字幕| 亚洲欧美日韩一区| 在线不卡免费欧美| 欧美一级二级三级乱码| 99re热这里只有精品视频| 麻豆成人久久精品二区三区红| 中文字幕中文字幕在线一区| 欧美r级在线观看| 欧美高清www午色夜在线视频| 国产成人在线免费观看| 青青草原综合久久大伊人精品 | 欧美大白屁股肥臀xxxxxx| 欧洲另类一二三四区| 成人爽a毛片一区二区免费| 免费看欧美女人艹b| 亚洲观看高清完整版在线观看| 国产精品视频一二三| 久久这里只精品最新地址| 欧美丰满一区二区免费视频 | 午夜久久久久久久久久一区二区| 中文字幕一区二区三区视频| 精品国产一二三| 一区二区三区在线观看欧美| 亚洲欧美日韩国产成人精品影院| 亚洲图片欧美综合| 亚洲男人天堂av网| 亚洲欧美怡红院| 国产精品青草综合久久久久99| 久久免费精品国产久精品久久久久| 欧美一区二区三区免费大片| 欧美日韩国产综合久久| 欧美日韩性生活| 欧美美女激情18p| 777奇米四色成人影色区| 欧美老肥妇做.爰bbww视频| 欧美日韩成人综合在线一区二区| 在线亚洲免费视频| 欧美日免费三级在线| 在线观看视频一区| 欧美日韩在线三级| 欧美一区二区三区四区在线观看 | 麻豆精品视频在线| 蜜臀av一区二区在线观看| 久久99精品久久久久久| 久久精品一二三| 亚洲日本在线看| 日韩欧美中文字幕公布| 日本一区二区成人在线| 综合中文字幕亚洲| 亚洲第四色夜色| 韩国一区二区三区| 中文字幕在线不卡视频| 亚洲欧美另类久久久精品2019| 亚洲国产人成综合网站| 九九热在线视频观看这里只有精品| 国产米奇在线777精品观看| 99热这里都是精品| 91精品国产丝袜白色高跟鞋| 久久亚洲精品国产精品紫薇| 亚洲人妖av一区二区| 性做久久久久久| 丁香婷婷综合网| 欧美日韩精品欧美日韩精品一| 337p粉嫩大胆色噜噜噜噜亚洲| 国产精品久99| 久久精品国产99国产精品| 91美女精品福利| 精品久久久久久久久久久久久久久| 中文字幕一区二区三区四区不卡 | 成人在线综合网|