Difference between revisions of "Documentation/DevGuide/WritingUNO/Write Registration Info Using a Helper Method"

From Apache OpenOffice Wiki
Jump to: navigation, search
(dropped Java RegComp)
m (FINAL VERSION FOR L10N)
Line 5: Line 5:
 
|NextPage=Documentation/DevGuide/WritingUNO/Implementing without Helpers
 
|NextPage=Documentation/DevGuide/WritingUNO/Implementing without Helpers
 
}}
 
}}
[[zh:Zh/Documentation/DevGuide/WritingUNO/Write Registration Info Using a Helper Method]]
+
{{Documentation/DevGuideLanguages|Documentation/DevGuide/WritingUNO/{{SUBPAGENAME}}}}
 
{{DISPLAYTITLE:Write Registration Info Using Helper Method}}
 
{{DISPLAYTITLE:Write Registration Info Using Helper Method}}
 
UNO components have to be registered with the registry database of a service manager. In an office installation, this is the file ''types.rdb'' (up through {{OO1.1.0}}, ''applicat.rdb'') for all predefined services. A service manager can use this database to find the implementations for a service. For instance, if an instance of your component is created using the following call.
 
UNO components have to be registered with the registry database of a service manager. In an office installation, this is the file ''types.rdb'' (up through {{OO1.1.0}}, ''applicat.rdb'') for all predefined services. A service manager can use this database to find the implementations for a service. For instance, if an instance of your component is created using the following call.

Revision as of 08:50, 13 May 2009



UNO components have to be registered with the registry database of a service manager. In an office installation, this is the file types.rdb (up through 1.1.0, applicat.rdb) for all predefined services. A service manager can use this database to find the implementations for a service. For instance, if an instance of your component is created using the following call.

  Object imageShrink = 
  xRemoteServiceManager.createInstance("org.openoffice.test.ImageShrink");

Using the given service or implementation name, the service manager looks up the location of the corresponding jar file in the registry and instantiates the component.

Template:Documentation/Note

During the registration, a component writes the necessary information into the registry. The process to write the information is triggered externally when a client calls the __writeRegistryServiceInfo() method at the component.

  public static boolean __writeRegistryServiceInfo(XRegistryKey regKey)

The caller passes an com.sun.star.registry.XRegistryKey interface that is used by the method to write the registry entries. Again, the FactoryHelper class offers a way to implement the method:

  ...
 
  // static __writeRegistryServiceInfo implementation
  public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) {
 
      return FactoryHelper.writeRegistryServiceInfo( ImageShrink.class.getName(), 
      __serviceName, regKey); 
  }

The writeRegistryServiceInfo method takes three arguments:

  • implementation name
  • service name
  • XRegistryKey

Use tools such as regcomp to register a component. This tool takes the path to the jar file containing the component as an argument. Since the jar can contain several classes, the class that implements the __writeRegistryServiceInfo() method must be pointed out by means of the manifest. Again, the RegistrationClassName entry determines the correct class. For example:

 RegistrationClassName: org.openoffice.comp.test.ImageShrink

The above entry is also necessary to locate the class that provides __getServiceFactory(), therefore the functions __writeRegistryServiceInfo() and __getServiceFactory() have to be in the same class.

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