com.esri.arcgis.geodatabase
Interface IMetadataSynchronizer

All Superinterfaces:
Serializable
All Known Implementing Classes:
FGDCSynchronizer, GNSynchronizer, MetadataSynchronizer

public interface IMetadataSynchronizer
extends Serializable

Provides access to members that control what happens when synchronization occurs.

Description

Allowing ArcCatalog to automate the metadata process both minimizes work when creating metadata and ensures that metadata is current with changes in the data set properties

With the automatic updating option enabled (available at the Tools > Options > Metadata Tab), metadata is updated when a user selects a dataset in the ArcCatalog tree view while the Metadata Tab is active. In cases where metadata does not exist, metadata will be created rather than updated. Metadata may also be updated for a currently selected dataset when the Create/Update metadata button is clicked or programmatically by calling the IMetadata::Synchronize method.

Since the 9.0 release, ArcCatalog has shipped with three default metadata synchronizers, the FGDCSynchronizer, the ISOSynchronizer and the GNSynchronizer metadata synchronizer. It is also possible to develop a custom metadata synchronizer. Custom synchronizers must be registered before they can be used. The collection of registered metadata synchronization objects is managed by the synchronization manager. When metadata is synchronized, the synchronization manager passes the data property set to the Update method of each active metadata synchronizer. Each active metadata synchronizer then writes to the data set's metadata. Writing instructions are held within the code for each specific metadata synchronizer.

Remarks

The IMetadataSynchronizer Interface is available from the MetadataSynchronizer CoClass. The interface defines the properties of a metadata synchronizer and is used to develop a custom synchronizer.

When creating a custom metadata synchronizer, two read-only properties (Name and ClassID) and one method (Update) must be supported.

Additional information on this subject can be found in the Technical Paper "Creating a Custom Metadata Synchronizer", May 2001.

When To Use

The IMetadataSynchronizer defines the properties of a metadata synchronizer and is used to develop a custom synchronizer. The IMetadataSynchronizer interface and the IMetadataSynchronizerManager are the two interfaces that must be created when developing a custom metadata synchronizer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 IUID getClassID()
          The class ID of the metadata synchronizer.
 String getName()
          The name of the metadata synchronizer.
 void update(IXmlPropertySet propertySet, String itemDesc, Object value)
          Updates the metadata item using the value passed in.
 

Method Detail

getName

String getName()
               throws IOException,
                      AutomationException
The name of the metadata synchronizer.

Description

A string that identifies the synchronizer. The Name is used when managing metadata synchronizers through the IMetadataSynchronizationManager interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassID

IUID getClassID()
                throws IOException,
                       AutomationException
The class ID of the metadata synchronizer.

Description

A UID object that must be unique to the synchronizer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.system.IUID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

update

void update(IXmlPropertySet propertySet,
            String itemDesc,
            Object value)
            throws IOException,
                   AutomationException
Updates the metadata item using the value passed in.

Description

This method is used to define the structure of the metadata that is written during synchronization. It is called once for each property of the dataset during synchronization. The method requires three parameters; pPropertySet, itemDesc, and Value.

Remarks

The pPropertySet parameter is an XML property set representing the metadata of the dataset being synchronized.

The itemDesc string parameter describes what object is being passed in the Value parameter.

The Value parameter is an object of the data sets whose metadata is being synchronized.

The different objects passed to the Update method, the Value parameter, vary from type of data set that is being synchronized. Not all itemDesc are supported for all data types. For instance CoverageEntity objects only apply to ArcInfo coverages and ArcInfo tables.

A complete list of the expected Values for the supported itemDesc items is available in the Technical Paper "Creating a Custom Metadata Synchronizer", May 2001.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
propertySet - A reference to a com.esri.arcgis.geodatabase.IXmlPropertySet (in)
itemDesc - The itemDesc (in)
value - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.