com.esri.arcgis.geodatabase
Interface ISynchronizationHelper

All Superinterfaces:
Serializable
All Known Implementing Classes:
FGDCSynchronizationHelper

public interface ISynchronizationHelper
extends Serializable

Provides access to helper functions for metadata synchronization.

Remarks

ISynchronizationHelper may still be used to write FGDC format metadata, if desired. You may use any of the Populate or Extract methods to force specific aspects of the metadata to be synchronized. The methods
whose names begin Populate… write information into the metadata that relates to the processing environment, such as the version of ArcGIS software that is being used. The Extract… methods take an input object such as IRelationshipClass and write properties of this object into the metadata. Calls to the Extract or Populate methods should be preceded by StartSynchronization and proceeded by FinishSynchronization.

Most ArcObjects code will not need to use this interface, as it's already called by other ArcObjects components when needed.

Product Availability

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


Method Summary
 void extractBriefEntityAttrProperties(IClass geoDataset, int index, IPropertySet propertySet)
          Extracts brief entity attribute properties from a Feature Class.
 void extractBriefRelationshipProperties(IRelationshipClass relationshipClass, int index, IPropertySet propertySet)
          Extracts brief entity attribute properties from a Relationship Class.
 void extractEntityAttrProperties(IClass geoDataset, int index, IPropertySet propertySet)
          Extracts entity attribute properties from a Feature Class.
 void extractFeatureClassProperties(IFeatureClass geoDataset, int index, IPropertySet propertySet)
          Extracts properties from a Feature Class.
 void extractRelationshipProperties(IRelationshipClass relationshipClass, int index, IPropertySet propertySet)
          Extracts entity attribute properties from a Relationship Class.
 void extractSpatialProperties(IGeoDataset geoDataset, IPropertySet propertySet)
          Extracts spatial properties from a GeoDataset.
 void finishSynchronization(IPropertySet propertySet)
          Call this after synchronizing.
 void populateDistributionProperties(String fileName, String fileType, IPropertySet propertySet)
          Populates distribution properties given a filename.
 void populateDistributionPropertiesForDatabase(IDataset dataset, IPropertySet propertySet)
          Populates distribution properties given a filename.
 void populateStaticProperties(IPropertySet propertySet)
          Fills in required properties.
 void startSynchronization(IPropertySet propertySet, int action, int interval, boolean[] ok)
          Call this before synchronizing.
 

Method Detail

startSynchronization

void startSynchronization(IPropertySet propertySet,
                          int action,
                          int interval,
                          boolean[] ok)
                          throws IOException,
                                 AutomationException
Call this before synchronizing.

Remarks

As with the IMetadata::Synchronize method, StartSynchronization uses the options defined in esriMetadataSyncAction to specify whether metadata will be created and elements will be modified based on whether or not the metadata already exists.

The interval parameter allows a minimum time (in seconds) to be provided between modifications. For example, if the interval parameter is set to 1000 when this method is called, the modification time of the property set will be checked, and if the difference between it and the current time is less than 1000 seconds, the synchronization "helping" will not begin (and the outbound Ok parameter will be set to false).

Ok indicates whether or not the synchronization helper was able to begin successfully.

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.system.IPropertySet (in)
action - A com.esri.arcgis.geodatabase.esriMetadataSyncAction constant (in)
interval - The interval (in)
ok - The ok (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

finishSynchronization

void finishSynchronization(IPropertySet propertySet)
                           throws IOException,
                                  AutomationException
Call this after synchronizing.

Remarks

FinishSynchronization indicates that the synchronization process is complete. Changes to the XML property set that occurred during synchronization are saved in the metadata document.

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.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

populateStaticProperties

void populateStaticProperties(IPropertySet propertySet)
                              throws IOException,
                                     AutomationException
Fills in required properties.

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.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

extractSpatialProperties

void extractSpatialProperties(IGeoDataset geoDataset,
                              IPropertySet propertySet)
                              throws IOException,
                                     AutomationException
Extracts spatial properties from a GeoDataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
geoDataset - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
propertySet - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

extractFeatureClassProperties

void extractFeatureClassProperties(IFeatureClass geoDataset,
                                   int index,
                                   IPropertySet propertySet)
                                   throws IOException,
                                          AutomationException
Extracts properties from a Feature Class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
geoDataset - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
index - The index (in)
propertySet - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

extractEntityAttrProperties

void extractEntityAttrProperties(IClass geoDataset,
                                 int index,
                                 IPropertySet propertySet)
                                 throws IOException,
                                        AutomationException
Extracts entity attribute properties from a Feature Class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
geoDataset - A reference to a com.esri.arcgis.geodatabase.IClass (in)
index - The index (in)
propertySet - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

extractRelationshipProperties

void extractRelationshipProperties(IRelationshipClass relationshipClass,
                                   int index,
                                   IPropertySet propertySet)
                                   throws IOException,
                                          AutomationException
Extracts entity attribute properties from a Relationship Class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
relationshipClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
index - The index (in)
propertySet - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

populateDistributionProperties

void populateDistributionProperties(String fileName,
                                    String fileType,
                                    IPropertySet propertySet)
                                    throws IOException,
                                           AutomationException
Populates distribution properties given a filename.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
fileName - The fileName (in)
fileType - The fileType (in)
propertySet - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

populateDistributionPropertiesForDatabase

void populateDistributionPropertiesForDatabase(IDataset dataset,
                                               IPropertySet propertySet)
                                               throws IOException,
                                                      AutomationException
Populates distribution properties given a filename.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
dataset - A reference to a com.esri.arcgis.geodatabase.IDataset (in)
propertySet - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

extractBriefEntityAttrProperties

void extractBriefEntityAttrProperties(IClass geoDataset,
                                      int index,
                                      IPropertySet propertySet)
                                      throws IOException,
                                             AutomationException
Extracts brief entity attribute properties from a Feature Class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
geoDataset - A reference to a com.esri.arcgis.geodatabase.IClass (in)
index - The index (in)
propertySet - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

extractBriefRelationshipProperties

void extractBriefRelationshipProperties(IRelationshipClass relationshipClass,
                                        int index,
                                        IPropertySet propertySet)
                                        throws IOException,
                                               AutomationException
Extracts brief entity attribute properties from a Relationship Class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
relationshipClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
index - The index (in)
propertySet - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.