??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产中文v高清在线观看,日韩va亚洲va欧洲va国产,亚洲国产精品尤物yw在线http://www.tkk7.com/mydearvivian/那曾l从自己w边溜走的h…?/description>zh-cnThu, 15 May 2025 17:41:59 GMTThu, 15 May 2025 17:41:59 GMT60[转帖] java操作xml方式的四U比较与详解(DOM、SAX、JDOM、DOM4J)http://www.tkk7.com/mydearvivian/articles/261740.html自由自由Tue, 24 Mar 2009 09:26:00 GMThttp://www.tkk7.com/mydearvivian/articles/261740.htmlhttp://www.tkk7.com/mydearvivian/comments/261740.htmlhttp://www.tkk7.com/mydearvivian/articles/261740.html#Feedback0http://www.tkk7.com/mydearvivian/comments/commentRss/261740.htmlhttp://www.tkk7.com/mydearvivian/services/trackbacks/261740.html阅读全文

自由 2009-03-24 17:26 发表评论
]]>
BIRT API 动态改变XML数据?/title><link>http://www.tkk7.com/mydearvivian/articles/250985.html</link><dc:creator>自由</dc:creator><author>自由</author><pubDate>Mon, 12 Jan 2009 08:18:00 GMT</pubDate><guid>http://www.tkk7.com/mydearvivian/articles/250985.html</guid><wfw:comment>http://www.tkk7.com/mydearvivian/comments/250985.html</wfw:comment><comments>http://www.tkk7.com/mydearvivian/articles/250985.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/mydearvivian/comments/commentRss/250985.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/mydearvivian/services/trackbacks/250985.html</trackback:ping><description><![CDATA[<p>前一D|间因目原因Q需要用BIRT做报表,报表数据源采用XML文g(后因XML中数据关p较复杂QBIRT处理XML数据效率极差Q改用Apache Derby)Q因在运行态下Q报表需要动态变更数据源Q在|上也找了不的帖子Q都没有十分准确的解x案,后来q是军_自己找方案,后来解决的方法也相当单,贴出代码一看就明白了:<br /> </p> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #000000">IReportEngine engine </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />EngineConfig config </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /> <img id="Codehighlighter1_61_695_Open_Image" onclick="this.style.display='none'; Codehighlighter1_61_695_Open_Text.style.display='none'; Codehighlighter1_61_695_Closed_Image.style.display='inline'; Codehighlighter1_61_695_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_61_695_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_61_695_Closed_Text.style.display='none'; Codehighlighter1_61_695_Open_Image.style.display='inline'; Codehighlighter1_61_695_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /></span><span style="color: #0000ff">try</span><span style="color: #000000"> </span><span id="Codehighlighter1_61_695_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_61_695_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  config </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> EngineConfig();<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  Platform.startup(config);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  IReportEngineFactory factory </span><span style="color: #000000">=</span><span style="color: #000000"> (IReportEngineFactory) Platform<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />                .createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  engine </span><span style="color: #000000">=</span><span style="color: #000000"> factory.createReportEngine(config);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  IReportRunnable design </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  </span><span style="color: #008000">//</span><span style="color: #008000">打开报表</span><span style="color: #008000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /></span><span style="color: #000000">  design </span><span style="color: #000000">=</span><span style="color: #000000"> engine.openReportDesign(</span><span style="color: #000000">"</span><span style="color: #000000">c:\\report.rptdesign</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  ReportDesignHandle designHandel </span><span style="color: #000000">=</span><span style="color: #000000"> (ReportDesignHandle) design.getDesignHandle();<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  DataSourceHandle ds </span><span style="color: #000000">=</span><span style="color: #000000"> designHandel.findDataSource(</span><span style="color: #000000">"</span><span style="color: #000000">DATA SOURCE</span><span style="color: #000000">"</span><span style="color: #000000">);                </span><span style="color: #008000">//</span><span style="color: #008000">参数为报表中定义的数据源名称</span><span style="color: #008000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /></span><span style="color: #000000">  </span><span style="color: #0000ff">if</span><span style="color: #000000">(ds</span><span style="color: #000000">!=</span><span style="color: #0000ff">null</span><span style="color: #000000">)<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    ds.setProperty(</span><span style="color: #000000">"</span><span style="color: #000000">FILELIST</span><span style="color: #000000">"</span><span style="color: #000000">, </span><span style="color: #000000">"</span><span style="color: #000000">c:\\datasource.xml</span><span style="color: #000000">"</span><span style="color: #000000">);  </span><span style="color: #008000">//</span><span style="color: #008000">l定xml数据?/span><span style="color: #008000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />   <img src="http://www.tkk7.com/Images/dot.gif" alt="" /><br /> }catch (Exception ex) {<br />    ex.printStackTrace();<br />   }finally {<br />    //Platform.shutdown();<br />   }..<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  </span></div> </span> <img src ="http://www.tkk7.com/mydearvivian/aggbug/250985.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/mydearvivian/" target="_blank">自由</a> 2009-01-12 16:18 <a href="http://www.tkk7.com/mydearvivian/articles/250985.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse RCP中超长Q务单U程Q异步线E处?/title><link>http://www.tkk7.com/mydearvivian/articles/246028.html</link><dc:creator>自由</dc:creator><author>自由</author><pubDate>Fri, 12 Dec 2008 11:57:00 GMT</pubDate><guid>http://www.tkk7.com/mydearvivian/articles/246028.html</guid><wfw:comment>http://www.tkk7.com/mydearvivian/comments/246028.html</wfw:comment><comments>http://www.tkk7.com/mydearvivian/articles/246028.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/mydearvivian/comments/commentRss/246028.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/mydearvivian/services/trackbacks/246028.html</trackback:ping><description><![CDATA[<p>    在RCPE序中,常碰到某个线E执行时间比较很长的情况Q若处理不好Q用户体验度是很p糕的,如用L了一个功能按钮后Q进入功能执行,发现E序长时间没有Q何响应,无疑q种情况下,用户是无法忍受的?br />     在这U情况下我们可以通过提供q度条对话框来改善用户体验度Q?br />      1Q单步执?br />             E序执行期间不允许用L止,贴下E序代码D?br />             </p> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #000000">                ProgressMonitorDialog progress </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> ProgressMonitorDialog(</span><span style="color: #0000ff">null</span><span style="color: #000000">); <br /> <img id="Codehighlighter1_79_534_Open_Image" onclick="this.style.display='none'; Codehighlighter1_79_534_Open_Text.style.display='none'; Codehighlighter1_79_534_Closed_Image.style.display='inline'; Codehighlighter1_79_534_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_79_534_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_79_534_Closed_Text.style.display='none'; Codehighlighter1_79_534_Open_Image.style.display='inline'; Codehighlighter1_79_534_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" />                </span><span style="color: #0000ff">try</span><span style="color: #000000"> </span><span id="Codehighlighter1_79_534_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_79_534_Open_Text"><span style="color: #000000">{<br /> <img id="Codehighlighter1_140_526_Open_Image" onclick="this.style.display='none'; Codehighlighter1_140_526_Open_Text.style.display='none'; Codehighlighter1_140_526_Closed_Image.style.display='inline'; Codehighlighter1_140_526_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_140_526_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_140_526_Closed_Text.style.display='none'; Codehighlighter1_140_526_Open_Image.style.display='inline'; Codehighlighter1_140_526_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />                    progress.run(</span><span style="color: #0000ff">true</span><span style="color: #000000">, </span><span style="color: #0000ff">false</span><span style="color: #000000">, </span><span style="color: #0000ff">new</span><span style="color: #000000"> IRunnableWithProgress() </span><span id="Codehighlighter1_140_526_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_140_526_Open_Text"><span style="color: #000000">{<br /> <img id="Codehighlighter1_245_518_Open_Image" onclick="this.style.display='none'; Codehighlighter1_245_518_Open_Text.style.display='none'; Codehighlighter1_245_518_Closed_Image.style.display='inline'; Codehighlighter1_245_518_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_245_518_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_245_518_Closed_Text.style.display='none'; Codehighlighter1_245_518_Open_Image.style.display='inline'; Codehighlighter1_245_518_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />                        </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> run(IProgressMonitor monitor) </span><span style="color: #0000ff">throws</span><span style="color: #000000"> InvocationTargetException,    InterruptedException </span><span id="Codehighlighter1_245_518_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_245_518_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />                            monitor.beginTask(</span><span style="color: #000000">"</span><span style="color: #000000">复制文g</span><span style="color: #000000">"</span><span style="color: #000000">, IProgressMonitor.UNKNOWN);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />                            monitor.setTaskName(</span><span style="color: #000000">"</span><span style="color: #000000">复制文g<img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />                            Console.getInstance().info(</span><span style="color: #000000">"</span><span style="color: #000000">正在复制文gQ请E?img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />                            copyFile(fileName, destFolder);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />                            <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />                            monitor.done();<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />                            Console.getInstance().info(</span><span style="color: #000000">"</span><span style="color: #000000">复制成功</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />                        }</span></span><span style="color: #000000"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />                    }</span></span><span style="color: #000000">);<br /> <img id="Codehighlighter1_572_604_Open_Image" onclick="this.style.display='none'; Codehighlighter1_572_604_Open_Text.style.display='none'; Codehighlighter1_572_604_Closed_Image.style.display='inline'; Codehighlighter1_572_604_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_572_604_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_572_604_Closed_Text.style.display='none'; Codehighlighter1_572_604_Open_Image.style.display='inline'; Codehighlighter1_572_604_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" />                }</span></span><span style="color: #000000"> </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (InvocationTargetException e) </span><span id="Codehighlighter1_572_604_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_572_604_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />                    e.printStackTrace();<br /> <img id="Codehighlighter1_637_669_Open_Image" onclick="this.style.display='none'; Codehighlighter1_637_669_Open_Text.style.display='none'; Codehighlighter1_637_669_Closed_Image.style.display='inline'; Codehighlighter1_637_669_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_637_669_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_637_669_Closed_Text.style.display='none'; Codehighlighter1_637_669_Open_Image.style.display='inline'; Codehighlighter1_637_669_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" />                }</span></span><span style="color: #000000"> </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (InterruptedException e) </span><span id="Codehighlighter1_637_669_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_637_669_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />                    e.printStackTrace();<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />                }</span></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span></div> <p>    若允许用L止Q务执?则progress.run()W二个参Ctrue卛_Q?monitor.isCanceled()Ҏ判断当前是否被用户取?br /> <br />     2Q异步执?br />     在RCP中要在非UIU程中执行UIU程的操作,最单的方式是display.syncExec或者display.asyncExecQ如果UIU程所需的时间较长的话,则应该用display.asyncExec<br />        在执行异步线E的时候,我们一般应当承Job或者UIJobc:UIJob是在UIU程中运行的Q可以直接访问窗体组件。Job是在非UIU程中运行,如果在里面想讉KH体lgQ需要通过Display.asynExec()或者synExec方式来执行。UIJob要尽量的短,不要q多的占用UIU程的时间?br /> <br />         也脓上例子吧Q?br /> </p> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_28_645_Open_Image" onclick="this.style.display='none'; Codehighlighter1_28_645_Open_Text.style.display='none'; Codehighlighter1_28_645_Closed_Image.style.display='inline'; Codehighlighter1_28_645_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_28_645_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_28_645_Closed_Text.style.display='none'; Codehighlighter1_28_645_Open_Image.style.display='inline'; Codehighlighter1_28_645_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /><span style="color: #000000">Job job </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> Job(</span><span style="color: #000000">"</span><span style="color: #000000">执行异步U程</span><span style="color: #000000">"</span><span style="color: #000000">) </span><span id="Codehighlighter1_28_645_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_28_645_Open_Text"><span style="color: #000000">{<br /> <img id="Codehighlighter1_85_643_Open_Image" onclick="this.style.display='none'; Codehighlighter1_85_643_Open_Text.style.display='none'; Codehighlighter1_85_643_Closed_Image.style.display='inline'; Codehighlighter1_85_643_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_85_643_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_85_643_Closed_Text.style.display='none'; Codehighlighter1_85_643_Open_Image.style.display='inline'; Codehighlighter1_85_643_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">protected</span><span style="color: #000000"> IStatus run(</span><span style="color: #0000ff">final</span><span style="color: #000000"> IProgressMonitor monitor) </span><span id="Codehighlighter1_85_643_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_85_643_Open_Text"><span style="color: #000000">{    <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        monitor.beginTask(</span><span style="color: #000000">"</span><span style="color: #000000">开始Q?/span><span style="color: #000000">"</span><span style="color: #000000">, IProgressMonitor.UNKNOWN);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        monitor.setTaskName(</span><span style="color: #000000">"</span><span style="color: #000000">Step 1<img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        Console.getInstance().info(</span><span style="color: #000000">"</span><span style="color: #000000">开始第一?img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        dothing1();<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        monitor.setTaskName(</span><span style="color: #000000">"</span><span style="color: #000000">Step 2<img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        Console.getInstance().info(</span><span style="color: #000000">"</span><span style="color: #000000">开始第二步<img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        dothing2();<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        monitor.setTaskName(</span><span style="color: #000000">"</span><span style="color: #000000">Step 3<img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        Console.getInstance().info(</span><span style="color: #000000">"</span><span style="color: #000000">开始第三步<img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        dothing3();<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        Console.getInstance().info(</span><span style="color: #000000">"</span><span style="color: #000000">完毕</span><span style="color: #000000">"</span><span style="color: #000000">);                                                                            <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        monitor.done();    <br /> <img id="Codehighlighter1_541_611_Open_Image" onclick="this.style.display='none'; Codehighlighter1_541_611_Open_Text.style.display='none'; Codehighlighter1_541_611_Closed_Image.style.display='inline'; Codehighlighter1_541_611_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_541_611_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_541_611_Closed_Text.style.display='none'; Codehighlighter1_541_611_Open_Image.style.display='inline'; Codehighlighter1_541_611_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />        Display.getDefault().asyncExec(</span><span style="color: #0000ff">new</span><span style="color: #000000"> Runnable() </span><span id="Codehighlighter1_541_611_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_541_611_Open_Text"><span style="color: #000000">{                        <br /> <img id="Codehighlighter1_570_607_Open_Image" onclick="this.style.display='none'; Codehighlighter1_570_607_Open_Text.style.display='none'; Codehighlighter1_570_607_Closed_Image.style.display='inline'; Codehighlighter1_570_607_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_570_607_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_570_607_Closed_Text.style.display='none'; Codehighlighter1_570_607_Open_Image.style.display='inline'; Codehighlighter1_570_607_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />            </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> run() </span><span id="Codehighlighter1_570_607_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_570_607_Open_Text"><span style="color: #000000">{                                                                                    <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />                </span><span style="color: #008000">//</span><span style="color: #008000">UId</span><span style="color: #008000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" /></span><span style="color: #000000">            }</span></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />        }</span></span><span style="color: #000000">);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> Status.OK_STATUS;<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />}</span></span><span style="color: #000000">;<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />job.setUser(</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />job.schedule();    <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span></div> <img src ="http://www.tkk7.com/mydearvivian/aggbug/246028.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/mydearvivian/" target="_blank">自由</a> 2008-12-12 19:57 <a href="http://www.tkk7.com/mydearvivian/articles/246028.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从插?Rcp中获取文件\径的Ҏhttp://www.tkk7.com/mydearvivian/articles/241744.html自由自由Thu, 20 Nov 2008 11:39:00 GMThttp://www.tkk7.com/mydearvivian/articles/241744.htmlhttp://www.tkk7.com/mydearvivian/comments/241744.htmlhttp://www.tkk7.com/mydearvivian/articles/241744.html#Feedback0http://www.tkk7.com/mydearvivian/comments/commentRss/241744.htmlhttp://www.tkk7.com/mydearvivian/services/trackbacks/241744.html
AaaaPlugin.getDefault().getStateLocation().makeAbsolute().toFile().getAbsolutePath());  
通过文g得到ProjectQ?
IProject project = ((IFile)o).getProject();  
通过文g得到全\径:
String path = ((IFile)o).getLocation().makeAbsolute().toFile().getAbsolutePath();   
得到整个Workspace的根Q?br />
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();   
从根来查找资源:
IResource resource = root.findMember(new Path(containerName));   
从Bundle来查找资源:
Bundle bundle = Platform.getBundle(pluginId);    
URL fullPathString 
= BundleUtility.find(bundle, filePath);  
从编辑器来获得编辑文?br />
IEditorPart editor = ((DefaultEditDomain)(parent.getViewer().getEditDomain())).getEditorPart();    
IEditorInput input 
= editor.getEditorInput();    
if(input instanceof IFileEditorInput){    
  IFile file 
= ((IFileEditorInput)input).getFile();    
}
   
得到runtimeworkspaceQ?br />
Platform.getInstanceLocation().getURL().getPath();   
得到Appliaction workspaceQ?br />
Platform.asLocalURL(PRODUCT_BUNDLE.getEntry("")).getPath()).getAbsolutePath();   




自由 2008-11-20 19:39 发表评论
]]>
【{帖】BIRT Viewer 2.2 参数讄详解http://www.tkk7.com/mydearvivian/articles/240120.html自由自由Wed, 12 Nov 2008 08:42:00 GMThttp://www.tkk7.com/mydearvivian/articles/240120.htmlhttp://www.tkk7.com/mydearvivian/comments/240120.htmlhttp://www.tkk7.com/mydearvivian/articles/240120.html#Feedback0http://www.tkk7.com/mydearvivian/comments/commentRss/240120.htmlhttp://www.tkk7.com/mydearvivian/services/trackbacks/240120.html

【{帖?a target="_blank">http://www.javaeye.com/topic/117186

BIRT作ؓ一Ƒ֊能强大的开源报表工P其版本的升更新速度也非常快Q从1.0?.0Q一直到最新的 2.2.1版本Q无Z功能上还是性能上都得到了极大的提高和扩充。BIRT也提供了一个标准的J2EE实现lgQ可以发布到支持J2EE应用的web server服务器上Q可以对生成的报表进行预览等操作。在大家使用BIRT Viewer的时候,可能会对它日益纷J的参数讄如云里雾里,在网上论坛里也有很多人碰到这样哪L问题Q同时官方的文档也不l致不全。所以我对q些参数q行了一个简单系l的ȝQ希望能对大家的BIRT开发有所帮助。这些参C2.2.1版本为准Q请大家特别注意?/font>

1. Servlet模式说明

查看BIRT Viewer自带的web.xml文gQ可以看到有以下几个patternQ?/font>

frameset ---- 采用Ajax框架Q可以显C工hQ导航条和TOC面板Q实现复杂的操作Q如分页处理Q导出数据,导出报表Q打印等{。该模式下会自动生成report document文g(预览report design文g)到特定的目录(用户可以用参数指定,也可以定义在web.xml?。采用AjaxQ速度较慢?/font>

run ---- 也采用Ajax框架Q但不实现frameset的复杂功能,不会生成临时的report document文g(预览report design文g)Q也不支持分,q个主要是应用在BIRT Designer里的preview tab里,可以支持cancel操作Q其它不怎么常用。采用AjaxQ速度较慢?/font>

preview --- 没有用到Ajax框架Q直接调用底层Engine APIҎ表进行renderQ把生成的报表内容直接输出到览器。这U模式和run模式调用的是相同的Engine APIQ唯一区别在于run采用Ajax获取报表内容Q而preview直接输出到浏览器。如果要支持分页Q用户需要在URL上定义__page?__pagerange参数Q这两个参数也会在后面详l说明。需要特别说明的是,在这几种预览模式中,preview的速度是最快的?/font>

document --- 该模式主要是Z从report design文g生成report document文g。用户可以在URL上提定document文g生成存放的\?存放在server?Q如果未指定Q会直接生成 rptdocument发送到客户端浏览器Q用户可以下载到客户端?/font>

output --- 该模式类gframesetQ会自动生成report document文g(预览report design文g)Q区别在于output不采用AjaxQ而是生成的报表内容直接输出到浏览器?/font>

parameter --- 该模式主要用于生成一个参数对话框Q一般用户不常用Q用户可以直接通过提供的JSP Tag--parameterPaged现参数对话框Q不需要直接调用?/font>

download --- 用于导出报表数据为CSV格式Q当你用frameset工具条里的导出数据功能时Q会用到q个模式?/font>

2. web.xml里的参数讄
web.xml文g里有许多参数Q用户应该根据自已的需求出发对q些参数有一个深入的了解。下面我会对q些参数一一做以说明?/font>

[BIRT_VIEWER_LOCALE]
讄默认的Locale信息Q暂时没有太大意义。因为Locale的信息,首先以URL上定义的__locale为准Q如果没有定义,会找到当前浏览器的Locale信息Q最后才会用到这里定义的信息?/font>

[BIRT_VIEWER_WORKING_FOLDER]
讄BIRT Viewer的工作目录。用户可以把report design或是report document文g存放在这个目录下Q这样就可以在URL上采用相对\径去预览q些报表文g了。默认是当前根目录?br /> 当前支持三种形式Q?br /> 相对路径 --- q个相对当前的WEB应用的context root.
l对路径
JAVApȝ变量 --- 可以在启动服务器Ӟ定义JVM的系l变量,如java –Dmyworkingfolder=D:/reports。这样就可以在web.xml中用${myworkingfolder}q行引用了?/font>

[BIRT_VIEWER_DOCUMENT_FOLDER]
讄生成的document文g的存放\径。默认是documents目录。\径设|同上?/font>

[WORKING_FOLDER_ACCESS_ONLY]
单的报表讉K限制控制实现Q如果设为true,哪就只能预览存放在工作目录下的报表文件。默认值是false?/font>

[BIRT_VIEWER_IMAGE_DIR]
讄生成的时图片的存放路径。默认是report/images目录。\径设|同工作目录讄?/font>

[BIRT_VIEWER_LOG_DIR]
讄生成的日志文件存放\径。默认是logs目录。\径设|同工作目录讄?/font>

[BIRT_VIEWER_LOG_LEVEL]
讄日志的levelQ可选的值有QALL|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST|OFF。别由高到低?/font>

[BIRT_VIEWER_SCRIPTLIB_DIR]
讄用户script lib文g的存攄? 在报表中用到的Java Event Handler Class )。默认值是scriptlib。\径设|同工作目录讄?/font>

[BIRT_RESOURCE_PATH]
讄用户资源存放路径Q这些资源包括library文gQimage文g{。默认是当前根目录。\径设|同工作目录讄?/font>

[BIRT_VIEWER_MAX_ROWS]
讄获取dataset的最大记录数。主要应用于设计报表的时候,预览报表如果记录数太多,会花费很多的旉Q也可能会引起out of memory问题。默认是不限制?/font>

[BIRT_VIEWER_MAX_CUBE_LEVELS]
讄CUBE查询的最大数。和前面的参C用类伹{默认是不限制?/font>

[BIRT_VIEWER_CUBE_MEMORY_SIZE]
讄在生成CUBEӞ可以写在memory中的最大|单位是MB。可以提高效率,写在内存会比直接写在盘快很多。但同时也要注意内存占用的问题?/font>

[BIRT_OVERWRITE_DOCUMENT]
该参C要用于frameset/output模式Q它们会生成临时的document文g上。如果设为trueQ则每次h面Ӟ都会重新ȝ成document文gQ如果ؓfalseQ则不会重新生成Q只会用原来的document文gȝ成报表内宏V?/font>

[BIRT_VIEWER_CONFIG_FILE]
定义properties文g的\径,不可以修攏V?/font>

[BIRT_VIEWER_PRINT_SERVERSIDE]
在frameset工具条上Q提供有后台服务器打印的功能Q该参数可以讄是打开q是关闭后台打印的功能。默认是打开。可选gؓ: ON ?OFF?/font>

[HTML_ENABLE_AGENTSTYLE_ENGINE]
q个参数是会传递给Engine的,主要用于一些CSS的兼Ҏ方面的问题。默认值是true?/font>

3. viewer.properties参数讄
viewer.properties文g主要是定义一些扩展的参数?/font>

# configurable variable for JSP base href. Please uncomment the below line.
#base_url=http://127.0.0.1:8080
该设|主要应用于代理服务器的情况下,在用代理服务器后,从request里获取的URIq真正的URIQ需要在q里定义?/font>

# [EXTENSION SETTING]
viewer.extension.html=html
viewer.extension.pdf=pdf
viewer.extension.postscript=ps
viewer.extension.doc=doc
viewer.extension.xls=xls
viewer.extension.ppt=ppt
定义输出的报表文件的后缀名,和format相关联?/font>

# [OUTPUT FORMAT LABEL NAME]
viewer.label.html=HTML
viewer.label.pdf=PDF
viewer.label.postscript=PostScript
viewer.label.doc=Word
viewer.label.xls=Excel
viewer.label.ppt=PowerPoint
定义导出报表对话框里的报表格式列表,和format相关联,q样名字会更有意义?/font>

# [CSV SEPARATOR]
viewer.sep.0=,
viewer.sep.1=;
viewer.sep.2=:
viewer.sep.3=|
viewer.sep.4=\t
支持多种CSV分隔W,用户也可以增加新的分隔符(只支持charQ而不是string)。但同时需要修改JSP文g和Messages.properties文g?/font>

# [LOGGERS]
# "logger."+class=level
# if no level is specified or the text "DEFAULT",
# then the default level from the web.xml will be used
logger.org.eclipse.datatools.connectivity.oda=DEFAULT
logger.org.eclipse.datatools.enablement.oda=DEFAULT
当前的日志都是通过Engine输出的,如果需要其它组件的日志输出Q可以在q里定义。注意格式必Mؓlogger.org……。而且该组件必dCjava的logger?br /> 可以单独lg讄日志U别Q如果设为DEFAULTQ就会用web.xml里的讄?/font>

4. URL参数
下面是一些主要用到的URL参数?/font>

“__report”
定义要预览的rptdesign文g路径Q支持相对\径和l对路径Q相对\径是相对于web.xml中定义的工作目录?/font>

“__document”
定义要预览的rptdocument文g路径Q同h持相对和l对路径。相对\径是相对于web.xml中定义的工作目录。在同时定义了__report 和__document参数Ӟ以__documentZ先,如未扑ֈ相应的document文gQ才会从design文g生成document文g (frameset/output)或是直接去renderq个design文g(preview/run)?/font>

“__title”
定义报表昄的标题?/font>

“__showtitle”
是否昄frameset模式下上方的标题部分。true | false

“__toolbar”
是否昄frameset模式下的工具条。true | false

“__navigationbar”
是否昄frameset模式下的D条。true | false

“__parameterpage”
是否强制弹出或不弹出报表参数对话框。true | false

“__format”
输出报表的格式,默认为html。现在支持:pdf | doc | xls | postscript | ppt

“__locale”
讄Locale信息Q如 __locale=zh_CNQ?注意必须是国家加语言?/font>

“__svg”
讄chart输出是否以SVG格式输出。true | false
frameset和run模式下,会采用javascript判断客户端浏览器是否支持svgQ但qҎ有浏览器有效?/font>

“__bookmark”
讄面要定位的书签名字?/font>

“__istoc”
指定定位的书{是不是一个TOC名字。如为true,׃Ҏ__bookmark参数值去获取一个真正的书签名,从而实现正常的跌{。这个主要用于定位到一个TOC上?/font>

“__rtl”
指定HTML面输出是否需要right to left。支持不同国家的阅读习惯Q如阿拉伯国家是从右到左的?/font>

“__page”
指定要输出的报表|Q这个依赖于报表的分设?page break)?/font>

“__pagerange”
指定要输出的报表|范围。如1,3,5-9?/font>

“__resourceFolder”
定义资源目录路径。同web.xml中的BIRT_RESOURCE_PATH讄?/font>

“__asattachment”
是否以附件方式下载报表,如生成PDF或是其它格式里。默认是inline?/font>

“__masterpage”
是否要显Cmaster page。true | false

“__designer”
该参C要是应用在BIRT Designer环境下,如会dcache的报表参数等{,一般不用。true | false

“__overwrite”
该参数同web.xml定义的参敎ͼ不过web.xml里是全局讄Q在URL上通过参数可以定义本次操作的设|?/font>

“__imageID”
内部参数Q用于image的引用,一般不用?/font>

“__maxrows”
讄Dataset查询的最大记录数Q要注意q个讄是全局的,会媄响后面所有的h。主要用于BIRT Designer下,提高报表设计效率。同web.xml中的BIRT_VIEWER_MAX_ROWS讄?/font>

“__maxlevels”
讄查询获取Cube的最大数。同上面的__maxrowsQ也主要用于BIRT Designer设计环境?br /> 同web.xml中的BIRT_VIEWER_MAX_CUBE_LEVELS讄?/font>

“__cubememsize”
同web.xml中的BIRT_VIEWER_CUBE_MEMORY_SIZE参数讄?/font>

“__instanceid”
如果查看BIRT输出的HTML代码Q你可以看C些HTML Element会有一个iid的属?如table)Q这个就是instanceid。这个是Engine动态生成的Q不可提前预知。所以你需要从 HTML代码中得到这个倹{该参数主要是ؓ了获取reportlet(报表片断Q如只输出报表中的一个Table或是一个Chart)。需要配?__isreportlet参数?/font>

“__isreportlet”
指定当前输出是不是一个reportlet。true | false
特别说明Qؓ了输Z个reportletQBIRT现在提供两种方式?br /> 1Q?输出的对?表格或是Chart)定义一个bookmarkQ然后可以用下面的URL输出reportlet.
http://localhost:8080/birt/frameset?__report=test.rptdesign&__bookmark=bk&__isreportlet=true

2Q?采用instanceidQ但q个g先是无法预知的,需要预览一ơ后从HTML代码中得到。然后用下面的URL输出reportlet.
http://localhost:8080/birt/output?__report=test.rptdesign&__instanceid=iid&__isreportlet=true
q有是要注意,reportlet只支持document文档。如果是预览design文档去输出reportletQ就必须要用frameset/output(自动生成document文档)?/font>

“__clean”
BIRT里时生成的一些文仉是和session相关的,比如临时document文gQ还有image文g。这些文件也可以通过sessionq行理Q这个参数就是指定是否需要在session timeout的时候清除这些时文件。默认值是true?br /> true | false

“__dpi”
可以讄输出Chart的dpi数倹{?/font>

“__fittopage”
暂时q个参数只对PDF和postscript格式报表有效Q指定是否调整至适合面?/font>

“__pagebreakonly”
暂时q个参数只对PDF和postscript格式报表有效Q指定是否只采用BIRT报表内定的分设|。这个参C般需要和__fittopage联合使用?/font>

“__agentstyle”
同web.xml中的HTML_ENABLE_AGENTSTYLE_ENGINE参数讄?/font>

========================== 后台Server端打印相兛_?==========================
“__action”
定义执行的指令名U。当前只支持print指oQ用于后台服务器打印?/font>

“__printer”
后台打印机名U?/font>

“__printer_copies”
对应打印机的打印份数参数?/font>

“__printer_collate”
对应打印机的双面打印参数?/font>

“__printer_duplex”
对应打印机的duplex参数?/font>

“__printer_mode”
对应打印机的模式参数。是单色q是彩色?/font>

“__printer_pagesize”
对应打印机的U型参数。比如A4?br /> ===============================================================================

========================== JSP Tag相关参数 ===================================
“__id”
viewer的IDPq个参数一般不常用Q主要用于JSP Tag中,如在一个页面插入两个BIRT ViewerQ而且预览同一个报表文Ӟq时候因为在一个session下面Q所以需要用不同的IDȝ成单独的document文g。不至于都生成同一个document文g上,从而引发冲H?/font>

“__pattern”
在JSP Tag中用于指定要提交的Servlet Pattern名字Q如frameset/output/run/preview{。主要用于采用parameter模式生成parameter dialog对话框时?/font>

“__target”
可以指定提交到的H口名称。如_blank,_self{?/font>

“__nocache”
指定是否会用到cache的报表参数|q些cache的g般保存在rptconfig文g里。在设计报表q览的时候,可以保存输入的报表参数倹{这个在runtime的时候不常用?br /> ===============================================================================

========================== 报表参数相关 ===================================
“__isnull”
指定当前的报表参Cؓnull|后面是报表的参数名?/font>

“__islocale”
指定当前的报表参数值是和Locale/Format相关的,必须用特定的Locale/Format转化参数?从String转化为Object)。格式ؓ__islocale=paramName?/font>

“__isdisplay__”
指定报表参数的displayText?格式为__isdisplay__paramName=displayText。可以在报表中引用displayText|如params[“p1”].displayText?br /> 在URL上传displayText时如?报表参数名ؓp1)Q?br /> &__isdisplay__p1=hello

“__islocale__”
指定该报表参数值是Locale/Format相关的,同时l定了参数倹{格式ؓ__islocale__paramName=paramValue?br /> ===============================================================================

========================== Export Data参数 ===================================
“__exportEncoding”
该参数应用于导出数据为CSV中,可以指定导出的文件编码,如GBK或是GB2312{?/font>

“__sep”
该参数应用于导出数据为CSV中,可以指定数据分隔W,如逗号Q冒L?/font>

“__exportdatatype”
该参数应用于导出数据为CSV中,可以指定是否输出数据cd。true | false

“ResultSetName”
要导出数据的记录集名字?/font>

“SelectedColumnNumber”
要导出的栏位数?/font>

“SelectedColumn”
要导出的数据栏位名称?/font>

具体可以查看BirtSimpleExportDataDialog.js文g?br /> ===============================================================================

5. 其它参数讄
在BIRT Viewer里还有一个比较特D的参数应用Q就是用户可以自定义自已的servletQ然后传递对象到Application Context中,在报表中可以从全局的Application Context去获取到q个对象?br /> q里相关的有两个内定的参敎ͼAppContextKey和AppContextValue。下面是一个简单的CZ?br /> public void service( HttpServletRequest request,
    HttpServletResponse response ) throws ServletException,
    IOException, BirtException
{
   String myKeyName = "mykey";
   List values = new ArrayList();
   values.add( "hello" );
   values.add( new Date() );
   request.setAttribute( "AppContextKey", myKeyName );
   request.setAttribute( "AppContextValue", values );
   RequestDispatcher rd = request.getRequestDispatcher( "/frameset" );
   rd.include( request, response );
}


自由 2008-11-12 16:42 发表评论
]]>
System.getProperty()http://www.tkk7.com/mydearvivian/articles/238644.html自由自由Tue, 04 Nov 2008 09:09:00 GMThttp://www.tkk7.com/mydearvivian/articles/238644.htmlhttp://www.tkk7.com/mydearvivian/comments/238644.htmlhttp://www.tkk7.com/mydearvivian/articles/238644.html#Feedback0http://www.tkk7.com/mydearvivian/comments/commentRss/238644.htmlhttp://www.tkk7.com/mydearvivian/services/trackbacks/238644.html

?nbsp;

相关值的描述

java.version Java  q行时环境版?/td>
java.vendor Java  q行时环境供应商
java.vendor.url Java  供应商的 URL
java.home Java  安装目录
java.vm.specification.version Java  虚拟范版?/td>
java.vm.specification.vendor Java  虚拟范供应商
java.vm.specification.name Java  虚拟范名U?/td>
java.vm.version Java  虚拟机实现版?/td>
java.vm.vendor Java  虚拟机实C应商
java.vm.name Java 虚拟机实现名U?/td>
java.specification.version Java q行时环境规范版?/td>
java.specification.vendor Java  q行时环境规范供应商
java.specification.name Java  q行时环境规范名U?/td>
java.class.version Java  cL式版本号
java.class.path Java  c\?/td>
java.library.path  加蝲库时搜烦的\径列?/td>
java.io.tmpdir  默认的时文件\?/td>
java.compiler  要用的 JIT ~译器的名称
java.ext.dirs  一个或多个扩展目录的\?/td>
os.name  操作pȝ的名U?/td>
os.arch  操作pȝ的架?/td>
os.version  操作pȝ的版?/td>
file.separator  文g分隔W(?UNIX pȝ中是“/”Q?/td>
path.separator  路径分隔W(?UNIX pȝ中是“:”Q?/td>
line.separator  行分隔符Q在 UNIX pȝ中是“/n”Q?/td>
user.name  用户的̎户名U?/td>
user.home  用户的主目录
user.dir  用户的当前工作目?nbsp;


自由 2008-11-04 17:09 发表评论
]]>
为SourceViewerdUndo、Redo功能http://www.tkk7.com/mydearvivian/articles/231676.html自由自由Sun, 28 Sep 2008 06:41:00 GMThttp://www.tkk7.com/mydearvivian/articles/231676.htmlhttp://www.tkk7.com/mydearvivian/comments/231676.htmlhttp://www.tkk7.com/mydearvivian/articles/231676.html#Feedback0http://www.tkk7.com/mydearvivian/comments/commentRss/231676.htmlhttp://www.tkk7.com/mydearvivian/services/trackbacks/231676.html     单说回本文章的主题吧,Undo、Redo功能在代码编辑器中应该是最基本的也是必备的功能Q翻阅了一下SourceViewer的代码,发现它提供了一个setUndoManager(IUndoManager undoManager) ҎQ再详细的阅M下SourceViewer对Undo/Redo部分的相x持,要实现Undo/Redo功能q是相当单方便的Q还是闲话少_贴出代码片段大家看看很明白?br />
SourceViewer expressionViewer = new SourceViewer(viewerComposite, null
                    SWT.V_SCROLL 
| SWT.H_SCROLL | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
            expressionViewer.getTextWidget().setFont(JFaceResources.getFont(JFaceResources.TEXT_FONT));



//支持99?/span>
IUndoManager undoManager = new TextViewerUndoManager(99);
            undoManager.connect(expressionViewer);
            expressionViewer.setUndoManager(undoManager);
            
            Control styleTextWidget 
= expressionViewer.getTextWidget();
            expressionViewer.appendVerifyKeyListener(
new VerifyKeyListener() {
                
public void verifyKey(VerifyEvent event) {
                    
if ((event.stateMask & SWT.CTRL) != 0)
                        event.doit 
= false;
                }

            }
);
            styleTextWidget.addKeyListener(
new KeyAdapter() {
                
public void keyPressed(KeyEvent e) {
                    
// Only if CTRL was pressed
                    if ((e.stateMask & SWT.CTRL) == 0return;
                    
int operation = 0;
                    
if (e.character == ' '{
                        
// Ctrl + Spacebar: Content Assist
                        operation = SourceViewer.CONTENTASSIST_PROPOSALS;
                    }
 else if ((e.character | '\u0040'== 'Z'{
                        
// Ctrl + Z: Undo
                        operation = ITextOperationTarget.UNDO;
                    }
 else if ((e.character | '\u0040'== 'Y'{
                        
// Ctrl + Y: Redo
                        operation = ITextOperationTarget.REDO;
                    }

                    
// Check if operation is possible
                    if (operation != 0 && expressionViewer.canDoOperation(operation)) 
                        
// Perform operation
                        expressionViewer.doOperation(operation);
                }

            }
);
大家现在可以试试了,Ctrl+Z UndoQ?Ctrl+Y Redo

自由 2008-09-28 14:41 发表评论
]]>
SWT昄囄http://www.tkk7.com/mydearvivian/articles/210818.html自由自由Thu, 26 Jun 2008 06:13:00 GMThttp://www.tkk7.com/mydearvivian/articles/210818.htmlhttp://www.tkk7.com/mydearvivian/comments/210818.htmlhttp://www.tkk7.com/mydearvivian/articles/210818.html#Feedback1http://www.tkk7.com/mydearvivian/comments/commentRss/210818.htmlhttp://www.tkk7.com/mydearvivian/services/trackbacks/210818.html 1、新建CanvasQƈdPaintListener监听

canvas = new Canvas(composite, SWT.NONE);
canvas.addPaintListener(
new PaintListener() {
            
public void paintControl(PaintEvent e) {
                
if(image!=null)
                    e.gc.drawImage(image, 
00);
            }

        }
);
2、新建ImageQ调用canvas.redraw()Ҏ
Image image = new Image(display,"C:/eclipse/plugins/org.eclipse.platform_2.0.2/eclipse_lg.gif");
canvas.redraw();


另外q有一U更加简单的Ҏ可以昄囄Q通过讄Label的setImageҎ昄囄

Label label = new Label(shell, SWT.NONE);
label.setImage(
new Image(Display.getDefault(), "c:/abc.gif"));


自由 2008-06-26 14:13 发表评论
]]>
自定?CellEditorhttp://www.tkk7.com/mydearvivian/articles/205309.html自由自由Mon, 02 Jun 2008 05:46:00 GMThttp://www.tkk7.com/mydearvivian/articles/205309.htmlhttp://www.tkk7.com/mydearvivian/comments/205309.htmlhttp://www.tkk7.com/mydearvivian/articles/205309.html#Feedback2http://www.tkk7.com/mydearvivian/comments/commentRss/205309.htmlhttp://www.tkk7.com/mydearvivian/services/trackbacks/205309.html阅读全文

自由 2008-06-02 13:46 发表评论
]]>
GridLayout布局下Composite的隐?/title><link>http://www.tkk7.com/mydearvivian/articles/205256.html</link><dc:creator>自由</dc:creator><author>自由</author><pubDate>Mon, 02 Jun 2008 02:01:00 GMT</pubDate><guid>http://www.tkk7.com/mydearvivian/articles/205256.html</guid><wfw:comment>http://www.tkk7.com/mydearvivian/comments/205256.html</wfw:comment><comments>http://www.tkk7.com/mydearvivian/articles/205256.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/mydearvivian/comments/commentRss/205256.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/mydearvivian/services/trackbacks/205256.html</trackback:ping><description><![CDATA[    在SWT~程中,用GirdLayout布局好组件时Q有时候会到q种情况Q某些组件可能在q行态时需要根据选项被隐?昄。通常我们会把q组lg攄在同一个Composite中,q设|Composite.setVisible(false)可以了Q但是若该Composite位于GridLayout布局的中间位|,其隐藏后,仍然会留下空白区Q后面的lgq不会收~上去重新布局Q经q试验找C一个比较完的解决办法Q如以下的代码片D: <br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_18_655_Open_Image" onclick="this.style.display='none'; Codehighlighter1_18_655_Open_Text.style.display='none'; Codehighlighter1_18_655_Closed_Image.style.display='inline'; Codehighlighter1_18_655_Closed_Text.style.display='inline';" alt="" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_18_655_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_18_655_Closed_Text.style.display='none'; Codehighlighter1_18_655_Open_Image.style.display='inline'; Codehighlighter1_18_655_Open_Text.style.display='inline';" alt="" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #000000">        </span><span style="color: #0000ff">switch</span><span style="color: #000000"> (iIndex) </span><span id="Codehighlighter1_18_655_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_18_655_Open_Text"><span style="color: #000000">{<br /> <img id="Codehighlighter1_31_334_Open_Image" onclick="this.style.display='none'; Codehighlighter1_31_334_Open_Text.style.display='none'; Codehighlighter1_31_334_Closed_Image.style.display='inline'; Codehighlighter1_31_334_Closed_Text.style.display='inline';" alt="" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_31_334_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_31_334_Closed_Text.style.display='none'; Codehighlighter1_31_334_Open_Image.style.display='inline'; Codehighlighter1_31_334_Open_Text.style.display='inline';" alt="" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span style="color: #0000ff">case</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">: </span><span id="Codehighlighter1_31_334_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_31_334_Open_Text"><span style="color: #000000">{<br /> <img id="Codehighlighter1_91_285_Open_Image" onclick="this.style.display='none'; Codehighlighter1_91_285_Open_Text.style.display='none'; Codehighlighter1_91_285_Closed_Image.style.display='inline'; Codehighlighter1_91_285_Closed_Text.style.display='inline';" alt="" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_91_285_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_91_285_Closed_Text.style.display='none'; Codehighlighter1_91_285_Open_Image.style.display='inline'; Codehighlighter1_91_285_Open_Text.style.display='inline';" alt="" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span><span style="color: #0000ff">if</span><span style="color: #000000">(grpExpression.getLayoutData() </span><span style="color: #0000ff">instanceof</span><span style="color: #000000"> GridData) </span><span id="Codehighlighter1_91_285_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_91_285_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />                    GridData gd </span><span style="color: #000000">=</span><span style="color: #000000"> (GridData)grpExpression.getLayoutData();<br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />                    gd.heightHint </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">;<br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />                    grpExpression.setLayoutData(gd);<br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />                    grpExpression.layout(</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />                    rootComposit.layout(</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />                grpObject.setVisible(</span><span style="color: #0000ff">false</span><span style="color: #000000">);<br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />                </span><span style="color: #0000ff">break</span><span style="color: #000000">;<br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="color: #000000"> <br /> <img id="Codehighlighter1_348_651_Open_Image" onclick="this.style.display='none'; Codehighlighter1_348_651_Open_Text.style.display='none'; Codehighlighter1_348_651_Closed_Image.style.display='inline'; Codehighlighter1_348_651_Closed_Text.style.display='inline';" alt="" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_348_651_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_348_651_Closed_Text.style.display='none'; Codehighlighter1_348_651_Open_Image.style.display='inline'; Codehighlighter1_348_651_Open_Text.style.display='inline';" alt="" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span style="color: #0000ff">case</span><span style="color: #000000"> </span><span style="color: #000000">2</span><span style="color: #000000">: </span><span id="Codehighlighter1_348_651_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_348_651_Open_Text"><span style="color: #000000">{<br /> <img id="Codehighlighter1_408_603_Open_Image" onclick="this.style.display='none'; Codehighlighter1_408_603_Open_Text.style.display='none'; Codehighlighter1_408_603_Closed_Image.style.display='inline'; Codehighlighter1_408_603_Closed_Text.style.display='inline';" alt="" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_408_603_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_408_603_Closed_Text.style.display='none'; Codehighlighter1_408_603_Open_Image.style.display='inline'; Codehighlighter1_408_603_Open_Text.style.display='inline';" alt="" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span><span style="color: #0000ff">if</span><span style="color: #000000">(grpExpression.getLayoutData() </span><span style="color: #0000ff">instanceof</span><span style="color: #000000"> GridData) </span><span id="Codehighlighter1_408_603_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_408_603_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />                    GridData gd </span><span style="color: #000000">=</span><span style="color: #000000"> (GridData)grpExpression.getLayoutData();<br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />                    gd.heightHint </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">-</span><span style="color: #000000">22</span><span style="color: #000000">;  //设成?1的Q何小?的值即?br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />                    grpExpression.setLayoutData(gd);<br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />                    grpExpression.layout(</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />                    rootComposit.layout(</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />                grpObject.setVisible(</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />                </span><span style="color: #0000ff">break</span><span style="color: #000000">;<br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />        }</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" /></span></div> <br />     上例中grpExpression位于布局中段QgrpObject位于布局末尾 <img src ="http://www.tkk7.com/mydearvivian/aggbug/205256.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/mydearvivian/" target="_blank">自由</a> 2008-06-02 10:01 <a href="http://www.tkk7.com/mydearvivian/articles/205256.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>EMFQEcore模型 -- 属?/title><link>http://www.tkk7.com/mydearvivian/articles/201699.html</link><dc:creator>自由</dc:creator><author>自由</author><pubDate>Tue, 20 May 2008 09:06:00 GMT</pubDate><guid>http://www.tkk7.com/mydearvivian/articles/201699.html</guid><wfw:comment>http://www.tkk7.com/mydearvivian/comments/201699.html</wfw:comment><comments>http://www.tkk7.com/mydearvivian/articles/201699.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/mydearvivian/comments/commentRss/201699.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/mydearvivian/services/trackbacks/201699.html</trackback:ping><description><![CDATA[<h4>包(EPackageQ?br /> <span style="font-size: 10pt"><span style="font-family: 新宋?> <table style="font-size: 10pt; width: 495px; height: 114px" cellspacing="2" cellpadding="2" width="495" border="0"> <tbody> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?><span style="font-size: 10pt">name</span></span></td> <td><span style="font-size: 9pt; font-family: 新宋?><span style="font-family: 新宋?><span style="font-size: 10pt">字符?/span></span></span></td> <td><span style="font-size: 9pt; font-family: 新宋?><span style="font-size: 10pt">名称</span></span></td> </tr> <tr> <td><span style="font-family: 新宋?>nsURI</span></td> <td><span style="font-family: 新宋?>字符?/span></td> <td><span style="font-family: 新宋?>名字I间的URIQ与XML对应Q?/span></td> </tr> <tr> <td><span lang="EN-US" style="font-family: 新宋?>nsPrefix</span></td> <td><span style="font-family: 新宋?>字符?/span></td> <td><span style="font-family: 新宋?>名字I间的前~Q与XML对应Q?/span></td> </tr> <tr> <td><span lang="EN-US" style="font-family: 新宋?>eCLassifiers</span></td> <td></td> <td><span style="font-family: 新宋?>对包中的cȝ引用</span></td> </tr> <tr> <td><span lang="EN-US" style="font-family: 新宋?>Subpackages</span></td> <td></td> <td><span style="font-family: 新宋?>对子包的引用</span></td> </tr> </tbody> </table> </span></span></h4> <strong>c(EClass{)</strong><br /> <table cellspacing="2" cellpadding="2" width="500" border="0"> <tbody> <tr> <td colspan="3"> <p align="center"><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋?>ENameElement</span></p> </td> </tr> <tr> <td>name</td> <td><span style="font-size: 9pt; font-family: 新宋?><span style="font-family: 新宋?><span style="font-size: 10pt">字符?/span></span></span></td> <td><span style="font-size: 9pt; font-family: 新宋?><span style="font-size: 10pt">名称</span></span></td> </tr> <tr> <td colspan="3"> <p align="center"><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋?>ETypedElement</span></p> </td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>eType</span></td> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>EClassifier</span></td> <td><span style="font-size: 9pt; font-family: 新宋?>Ҏ的cd。对?span lang="EN-US">EAttribute</span>他是<span lang="EN-US">Attribute</span>的类型,对于<span lang="EN-US">EReference</span>他是<span lang="EN-US">Reference</span>所引用的类型?/span></td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>lowerBound</span></td> <td><span style="font-size: 9pt; font-family: 新宋?>整数?/span></td> <td><span style="font-size: 9pt; font-family: 新宋?>Ҏ的下限</span></td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>unique</span></td> <td><strong><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>true</span></strong><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>|false</span></td> <td><span style="font-size: 9pt; font-family: 新宋?>当特性含有多个值时Q值是否允讔R复出?/span></td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>upperBound</span></td> <td><span style="font-size: 9pt; font-family: 新宋?>整数?/span></td> <td><span style="font-size: 9pt; font-family: 新宋?>Ҏ的上限</span></td> </tr> <tr> <td colspan="3"> <p align="center"><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋?>EStructuralFeature</span></p> </td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>changeable</span></td> <td><strong><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>true</span></strong><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>|false</span></td> <td><span style="font-size: 9pt; font-family: 新宋?>Ҏ是否可修改</span></td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>transient</span></td> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>ture|<strong>false</strong></span></td> <td><span style="font-size: 9pt; font-family: 新宋?>在序列化ӞҎ是否被忽略</span></td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>unsettable</span></td> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>true|<strong>false</strong></span></td> <td><span style="font-size: 9pt; font-family: 新宋?>是否能够把特性设|ؓ“未设|?#8221;状?br /> <font face="Arial"><span style="color: #0000ff"><font face="Arial">注:</font></span>当设|了该属性的时候,我们q需要用另外一个属性|即unsetQ该属性就是用来告诉emfQ我们是否需要用unsetq个属性?/font></span></td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>volatie</span></td> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>true|<strong>false</strong></span></td> <td><span style="font-size: 9pt; font-family: 新宋?>是否不需要ؓҎ提供存储空_一般用于表C特性是从其他特性中导出<br /> <font face="Arial"><font face="Arial"><span style="color: #0000ff"><font face="Arial">注:</font></span></font>q种情况一般发生在当前属性值是由其他属性计而来的时候,此时该属性的setҎ可能需要我们自己实玎ͼ而不是由emf generator生成的?/font></span></td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>required</span></td> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>true|<strong>false</strong></span></td> <td><span style="font-size: 9pt; font-family: 新宋?>Ҏ是否必,如果是则{h于把下限D?span lang="EN-US">1</span></span></td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>many</span></td> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>true|<strong>false</strong></span></td> <td><span style="font-size: 9pt; font-family: 新宋?>Ҏ是否ؓ多|如果是则{h于把上限D?span lang="EN-US">-1</span></span></td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>defaultValueLiteral</span></td> <td><span style="font-size: 9pt; font-family: 新宋?>字符?/span></td> <td><span style="font-size: 9pt; font-family: 新宋?>Ҏ默认值的字符串表C?/span></td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>defaultValue</span></td> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>Java</span><span style="font-size: 9pt; font-family: 新宋?>c?/span></td> <td><span style="font-size: 9pt; font-family: 新宋?>默认值所对应?span lang="EN-US">Java</span>实例</span></td> </tr> <tr> <td colspan="3"> <p align="center"><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋?>EAttribute</span></p> </td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>ID</span></td> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>true|<strong>false</strong></span></td> <td><span style="font-size: 9pt; font-family: 新宋?>该属性是否全局唯一</span></td> </tr> <tr> <td colspan="3"> <p align="center"><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋?>EReference</span></p> </td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>containment</span></td> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>true|<strong>false</strong></span></td> <td><span style="font-size: 9pt; font-family: 新宋?>引用是否是按值引?/span></td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>container</span></td> <td><span style="font-size: 9pt; font-family: 新宋?>布尔?/span></td> <td><span style="font-size: 9pt; font-family: 新宋?>如果引用是双向的Q则该gؓ<span lang="EN-US">true</span></span></td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>resolveProxies</span></td> <td><strong><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>true</span></strong><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>|false</span></td> <td><span style="font-size: 9pt; font-family: 新宋?>当引用者与被引用者处于不同的文档Ӟ我们使用一个代理来代表被引用者,直到W一ơ访问被引用者时Q再装入被引用者的内容q进行解释。而当引用者与被引用者位于同一个文档时Q我们可以不用用这U代理的方式Q此时该值可以设|ؓ“<span lang="EN-US">false</span>”?/span></td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>eOpposite</span></td> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>EReference</span></td> <td><span style="font-size: 9pt; font-family: 新宋?>如果是双向的引用Q则该值指向另一个方向的引用</span></td> </tr> <tr> <td colspan="3"> <p align="center"><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋?>EClassifier</span></p> </td> </tr> <tr> <td> <p class="MsoNormal"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>instanceClassName</span></p> </td> <td><span style="font-size: 9pt; font-family: 新宋?>字符?/span></td> <td><span style="font-size: 9pt; font-family: 新宋?>用于表示该类型的<span lang="EN-US">Java</span>cd</span></td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>instanceClass</span></td> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>Java</span><span style="font-size: 9pt; font-family: 新宋?>c?/span></td> <td><span style="font-size: 9pt; font-family: 新宋?>?span lang="EN-US">instanceClassName</span>指定的类</span></td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>defaultValue</span></td> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>Java</span><span style="font-size: 9pt; font-family: 新宋?>实例</span></td> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>instanceClass</span><span style="font-size: 9pt; font-family: 新宋?>所对应的一个实?/span></td> </tr> <tr> <td colspan="3"> <p align="center"><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋?>EClass</span></p> </td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>abstract</span></td> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>true|<strong>false</strong></span></td> <td><span style="font-size: 9pt; font-family: 新宋?>如果?span lang="EN-US">true</span>Q则该类是一抽象c?/span></td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>interface</span></td> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>true|<strong>false</strong></span></td> <td><span style="font-size: 9pt; font-family: 新宋?>如果?span lang="EN-US">true</span>Q则该类是一接口</span></td> </tr> <tr> <td colspan="3"> <p align="center"><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋?>EDataType</span></p> </td> </tr> <tr> <td><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>serializable</span></td> <td><strong><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>true</span></strong><span lang="EN-US" style="font-size: 9pt; font-family: 新宋?>|false</span></td> <td><span style="font-size: 9pt; font-family: 新宋?>标识该类型是否需要进行序列化</span></td> </tr> </tbody> </table> <img src ="http://www.tkk7.com/mydearvivian/aggbug/201699.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/mydearvivian/" target="_blank">自由</a> 2008-05-20 17:06 <a href="http://www.tkk7.com/mydearvivian/articles/201699.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://nmcytsi.com" target="_blank">ڵɫƵѹۿɫ</a>| <a href="http://xxyy66.com" target="_blank">72paoƵ</a>| <a href="http://dqcjlb.com" target="_blank">Ʒ༤þþ</a>| <a href="http://97aimeili.com" target="_blank">žѾƷƵ</a>| <a href="http://99999pp.com" target="_blank">44rt</a>| <a href="http://gnebs.com" target="_blank">Ƶ</a>| <a href="http://4794d.com" target="_blank">ձѸ</a>| <a href="http://ninidian.com" target="_blank">Ļ99</a>| <a href="http://dzhankong.com" target="_blank">ѴƬavֻƬ</a>| <a href="http://bobostrong31.com" target="_blank">һ㽶</a>| <a href="http://airou08.com" target="_blank">߹ۿƵ</a>| <a href="http://yulongfilm.com" target="_blank">һŮȫƾþƬ</a>| <a href="http://gift1town.com" target="_blank">Ӱַ</a>| <a href="http://a666999.com" target="_blank">Ѹ߹ۿ</a>| <a href="http://mottool.com" target="_blank">AVƬ߹ۿ </a>| <a href="http://igo98.com" target="_blank">AVһȾþ</a>| <a href="http://yctbhb.com" target="_blank">þþƷվѹۿ</a>| <a href="http://qestest.com" target="_blank">aػëƬѹۿ</a>| <a href="http://93qsgy.com" target="_blank">޾Ʒר</a>| <a href="http://www99xyxy.com" target="_blank">ĻƵվ</a>| <a href="http://ww11axax.com" target="_blank">ĻƵ߹ۿ</a>| <a href="http://32-k.com" target="_blank">aĻ</a>| <a href="http://nn227.com" target="_blank">þù޵Ӱ</a>| <a href="http://www-kj5799.com" target="_blank">һѹۿ</a>| <a href="http://ystchem.com" target="_blank">þaѹۿ</a>| <a href="http://ghiearning.com" target="_blank">ҹ븣Ƶ</a>| <a href="http://440878.com" target="_blank">լоƷһ߹ۿ</a>| <a href="http://adcadm.com" target="_blank">ۺպ </a>| <a href="http://shaonvfushi.com" target="_blank">߹ۿ</a>| <a href="http://35469642.com" target="_blank">91Ʒ߹ۿ</a>| <a href="http://sczssc.com" target="_blank">ձWWWѰ</a>| <a href="http://bbby6.com" target="_blank">߹ۿ޵Ӱ</a>| <a href="http://51nianyefan.com" target="_blank">ؼaaaaaaëƬ</a>| <a href="http://my77789.com" target="_blank">޾ƷŮþþþ99</a>| <a href="http://binz132.com" target="_blank">AVվ</a>| <a href="http://trio2003.com" target="_blank">Ƶ</a>| <a href="http://siminglighting.com" target="_blank">ˬִ̼߳</a>| <a href="http://alankell.com" target="_blank">ۺƵ</a>| <a href="http://xiamenwave.com" target="_blank">2018av</a>| <a href="http://lyczyb.com" target="_blank">޸һ</a>| <a href="http://520xiang.com" target="_blank">þۺͼۺͼ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>