com.esri.arcgis.geodatabase
Interface IMetadata

All Superinterfaces:
Serializable
All Known Implementing Classes:
CadastralFabric, CadastralFabricName, CadDrawingName, CoverageFeatureClassName, CoverageName, DEAddressLocator, DEArcInfoTable, DECadastralFabric, DECadDrawingDataset, DECatalogRoot, DECoverage, DECoverageFeatureClass, DEDbaseTable, DEDiskConnection, DEFeatureClass, DEFeatureDataset, DEFile, DEFolder, DEGeoDataServer, DEGeometricNetwork, DEGlobeServer, DEGPServer, DEImageServer, DELayer, DEMapDocument, DEMapServer, DENetworkDataset, DEPrjFile, DERasterBand, DERasterCatalog, DERasterDataset, DERelationshipClass, DERemoteDatabaseFolder, DERepresentationClass, DEShapeFile, DESpatialReferencesFolder, DETable, DETextFile, DETin, DETool, DEToolbox, DETopology, DEVPFCoverage, DEVPFTable, DEWCSCoverage, DEWorkspace, FeatureClassName, FeatureDatasetName, FgdbFeatureClassName, FgdbTableName, GeometricNetwork, GeometricNetworkName, IMetadataProxy, IMSMetadataServiceName, IMSServiceName, LocatorName, NetCDFRasterDatasetName, NetworkDataset, NetworkDatasetName, ObjectClassName, RasterBand, RasterBandName, RasterCatalogName, RasterDataset, RasterDatasetName, RelationshipClassName, SchematicDataset, SchematicDatasetName, SchematicDiagram, SchematicFolder, SchematicFolderName, TableName, Terrain, TerrainName, Tin, TinName, Topology, TopologyName, WorkspaceDefinition

public interface IMetadata
extends Serializable

Provides access to members that manage and update metadata.

Remarks

The IMetadata interface is implemented by the GxMetadata object and all other objects that support metadata (the bulk of GxObject types). Use this interface when you want to access the set of metadata associated with an object or you want to create new metadata for the object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux


Method Summary
 IPropertySet getMetadata()
          The PropertySet containing metadata.
 void setMetadata(IPropertySet ppPropertySet)
          The PropertySet containing metadata.
 void synchronize(int action, int interval)
          Updates metadata with the current properties; may create metadata if it doesn't already exist.
 

Method Detail

getMetadata

IPropertySet getMetadata()
                         throws IOException,
                                AutomationException
The PropertySet containing metadata.

Remarks

The variable to hold the data must be of IPropertySet data type.

The metadata property is frequently used to save, or update, changes to metadata documents that have taken place through methods available on the IPropertySet, IXmlPropertySet, and/or IXmlPropertySet2 interfaces.

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

setMetadata

void setMetadata(IPropertySet ppPropertySet)
                 throws IOException,
                        AutomationException
The PropertySet containing metadata.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
ppPropertySet - 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.

synchronize

void synchronize(int action,
                 int interval)
                 throws IOException,
                        AutomationException
Updates metadata with the current properties; may create metadata if it doesn't already exist.

Description

The Synchronize method is used to extract metadata properties from an object and write those properties to the metadata .xml. Depending on the value of the esriMetaSyncAction, the Synchronize method may generate a new set of metadata if it doesn't already exist.

Remarks

The following actions will result in synchronization given each of the listed conditions:

Action Metadata status Esri/Sync element Interval parameter
esriMSAAccessed Doesn't matter Must not be FALSE Must be less than actual interval
esriMSAAlways Doesn't matter Doesn't matter Doesn't matter
esriMSACreated Must not exist Must not be FALSE Must be less than actual interval
esriMSANotCreated Must exist Must not be FALSE Must be less than actual interval
esriMSAOverwrite Doesn't matter Doesn't matter Doesn't matter

The difference between esriMSAAlways and esriMSAOverwrite lies in which elements are synchronized. esriMSAAlways will honor the removal or value change of an element's Sync attribute (to disable synchronization), whereas using esriMSAOverwrite is equivalent to setting the IXmlPropertySet2.OverwriteSyncAttribute to true for the metadata's property set, meaning that even elements without a Sync attribute of TRUE will be synchronized.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
action - A com.esri.arcgis.geodatabase.esriMetadataSyncAction constant (in)
interval - The interval (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.