快速业务通道

探索Eclipse的OSGi控制台 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
Exception { this.context = context; Hashtable properties = new Hashtable(); context.registerService\ (CommandProvider.class.getName(), this, properties); } public String getHelp() { StringBuffer buffer = new StringBuffer(); buffer.append("\tuname - returns framework information\n"); return buffer.toString(); } public void stop(BundleContext context) throws Exception {} public void _uname(CommandInterpreter ci) throws Exception { String vendor = context.getProperty(Constants.FRAMEWORK_VENDOR); String version = context.getProperty(Constants.FRAMEWORK_VERSION); String osName = context.getProperty(Constants.FRAMEWORK_OS_NAME); String osVersion = context.getProperty(Constants.FRAMEWORK_OS_VERSION); System.out.println("\n " + vendor + " " + version + " (" + osName + " " + osVersion + ")"); } }

包和存在主义

包本身可能从未质疑过自己的存在,这里提供了一个简单示例,它将打印出一个包是 vanilla 包还是 Eclipse 插件。(记住,两者都还是包!)清单 2 通过添加新方法并修改 getHelp() 方法来构建先前的示例。

清单 2. 修改 getHelp()

... public String getHelp() { StringBuffer buffer = new StringBuffer(); buffer.append("\twhatami - \ returns whether the bundle is a plug-in or not\n"); buffer.append("\tuname - returns framework information\n"); return buffer.toString(); } public void _whatami(CommandInterpreter ci) throws Exception { try { long id = Long.parseLong(ci.nextArgument()); Bundle bundle = context.getBundle(id); URL url = bundle.getEntry("plugin.xml"); if(url != null) { System.out.println("\n I''m \ (" + bundle.getSymbolicName() + ") a plug-in"); } else { System.out.println("\n I''m \ (" + bundle.getSymbolicName() + ") not a plug-in"); } } catch (NumberFormatException nfe) { System.out.println("\n Error processing command"); } } ...

图 9 中显示了我们的工作结果。

探索Eclipse的OSGi控制台 - 编程入门网

图 9. 扩展控制台的结果

结束语

本文演示了如何使用 OSGi 控制台以及如何扩展控制台。在此过程中,我们查看了控制台以及如何扩展控制台的几个示例。您现在已经更加熟悉控制台并且知道了如何在日常的 Eclipse 开发中使用控制台。使用控制台可能甚至会让您回想起玩 Doom and Quake 时的情景。

探索Eclipse的OSGi控制台 - 编程入门网

图 10. Quake 控制台

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号