Difference between revisions of "Zh/Documentation/DevGuide/ProUNO/Java/Mapping of Services"

From Apache OpenOffice Wiki
Jump to: navigation, search
(New page: {{Documentation/DevGuide/ProUNOTOC/Zh |ProUNO2c=block |ProUNO2cJava=block |ProUNO2cJavaTM=block |ShowPrevNext=block |PrevPage=Zh/Documentation/DevGuide/ProUNO/Java/Mapping of UNOIDL |NextP...)
 
m
 
(One intermediate revision by the same user not shown)
Line 7: Line 7:
 
|NextPage=Zh/Documentation/DevGuide/ProUNO/Java/Mapping of Singletons
 
|NextPage=Zh/Documentation/DevGuide/ProUNO/Java/Mapping of Singletons
 
}}
 
}}
[[en:Documentation/DevGuide/ProUNO/Java/Mapping of Services]]
+
{{Documentation/DevGuideLanguages|Documentation/DevGuide/ProUNO/Java/{{SUBPAGENAME}}}}
 
{{DISPLAYTITLE:服务的映射}}
 
{{DISPLAYTITLE:服务的映射}}
  
Line 43: Line 43:
  
  
''没有将旧式服务映射成 Java 语言绑定。''
+
没有将旧式服务映射成 Java 语言绑定。
  
 
{{PDL1}}
 
{{PDL1}}
  
 
[[Category:文档/开发者指南/专业 UNO]]
 
[[Category:文档/开发者指南/专业 UNO]]

Latest revision as of 02:46, 14 May 2009




新式服务被映射成同名的公共 Java 类。该类有一个或多个公共静态方法,这些方法与服务的显式或隐式构造函数相对应。


对于具有给定接口类型 XIfc 的新式服务,以下形式的显式构造函数

 name([in] Type1 arg1, [in] Type2 arg2) raises (Exception1, ..., ExceptionN);

用以下 Java 方法表示

 public   static XIfc name(com.sun.star.uno.XComponentContext context, 
 Type1 arg1, Type2 arg2) 
    throws Exception1, ..., ExceptionN { ... }

UNO rest 参数 (any...) 在 Java 1.5 中被映射成 Java rest 参数 (java.lang.Object...),在 Java 的 旧版本中被映射成 java.lang.Object[]

如果新式服务有隐式构造函数,则对应的 Java 方法的形式为

 public static XIfc create(com.sun.star.uno.XComponentContext context) { ... }


Java 中显式和隐式服务构造函数的语义如下:

  • 服务构造函数的第一个参数始终为 com.sun.star.uno.XComponentContext,且不得为空。其他所有参数都用于初始化创建的服务(见下文)。
  • 如果以上任何步骤因服务构造函数可能抛出(根据其异常规范)的异常而失败,则服务构造函数也会抛出该异常并以失败告终。否则,如果以上任何步骤因不可能由服务构造函数抛出的异常而失败,则服务构造函数会抛出 com.sun.star.uno.DeploymentException 并以失败告终。最后,如果没有创建任何服务实例(由于给定的组件上下文无服务管理器,或者由于服务管理器不支持请求的服务),则服务构造函数会抛出 com.sun.star.uno.DeploymentException 并以失败告终。实际结果是服务构造函数或者返回所请求服务的非空实例,或者抛出异常;服务构造函数决不会返回空实例。


没有将旧式服务映射成 Java 语言绑定。

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages