public boolean compile(MdJspfBundle<?> jspfBundle, String labelName) throws JspfException {
		boolean result = true;
		
		File scriptDir = jspfBundle.getScriptDir();
		if (scriptDir == null) {
			result = false;
		}
		
		File scriptFile = null; 
		if (result) {
			scriptFile = new File(scriptDir.getAbsoluteFile()+File.separator+labelName);
			if (!scriptFile.exists() || !scriptFile.isFile()) {
				result = false;
			}
		}

		if (result) {
			StringWriter outSw = new StringWriter();
			PrintWriterEx outPw = new PrintWriterEx(outSw);
			result = false;
			try {
				String sourceText = StringUtil.readFile(scriptFile, MdConstants.DEFAULT_CHARSET.name());
				ToolsJarBundle toolsJarBundle = this.mdEditorInterface.getMdConfig().getToolsJarBundle();
				jspfBundle.compile(toolsJarBundle, labelName, sourceText, outPw);
				result = true;
			} catch(ClassNotFoundException e) {
				outPw.flush();
				JspfException e2 = new JspfException(e);
				e2.setContents(outSw.getBuffer().toString());
				throw e2;
			} catch (IOException e) {
				JspfException e2 = new JspfException(e);
				e2.setContents(ExceptionUtil.toString(e));
				throw e2;
			}
		}
		return result;
	}