com.esri.arcgis.geodatabasedistributed
Class DataChangesExporter

java.lang.Object
  extended by com.esri.arcgis.geodatabasedistributed.DataChangesExporter
All Implemented Interfaces:
IExportDataChanges, IExportDataChanges2, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class DataChangesExporter
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IExportDataChanges, IExportDataChanges2

Exports edits in a check-out geodatabase or modified rows in versions to a delta file.

Remarks

The DataChangesExporter coclass allows you to export edits in a replica, or edits between source and target versions, or edits defined in geodatabase tables and feature classes to a delta file.

Delta Files

A delta file contains data edits that can be exchanged between geodatabases or between geodatabases and non-geodatabase data stores. The edits can come from a check-out geodatabase, modified rows between source and target versions or a custom application. In additon to edits, delta files created from a check-out geodatabase store the ID and GUID of the check-out.

You can export edits from one geodatabase to a delta file and then send the file to another location where the edits can be imported into another geodatabase. Other components can be used to transfer changes directly without using delta files. However, direct transfer requires connectivity to both geodatabases at once. Also, since delta files contain only edits, they are relatively small in size and easy to transport.

Supported delta file formats are XML (Delta XML file) and delta database (.mdb file). The delta XML format is a published format while the delta database format is a proprietary format.

A delta file can be a full model type or a simple model type .

A full model type delta file indicates that all reactive geodatabase behavior was executed at edit time. This requires a full geodatabase editor like the one provided in ArcMap. With the full model, no additional geodatabase behavior is applied when the edits are imported because it has already been applied with the geodatabase editor. These types of delta files can be used in systems where all data sources involved are geodatabases.

A simple model type delta file assumes that the edits were not made by a reactive geodatabase editor. When importing from a simple model type, the reactive behavior is applied during the import. These types of delta files are useful in systems where some of the data sources involved are not geodatabases. For example, you may want to apply edits made in a shapefile or a non-ArcGIS data format to your geodatabase.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
DataChangesImporter, DeltaDataChanges, Serialized Form

Constructor Summary
DataChangesExporter()
          Constructs a DataChangesExporter using ArcGIS Engine.
DataChangesExporter(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
DataChangesExporter theDataChangesExporter = (DataChangesExporter) obj;
 
Method Summary
 boolean equals(Object o)
          Compare this object with another
 void exportDataChanges(String exportFileName, int exportOption, IDataChanges dataChanges, boolean overwriteIfExists)
          Exports the edits to a delta file.
 void exportDataChanges2(String exportFileName, int exportOption, IDataChanges dataChanges, boolean overwriteIfExists, boolean compressed, boolean binaryGeometry, boolean lastSend)
          Exports the edits to a delta file.
static String getClsid()
          getClsid.
 int hashCode()
          the hashcode for this object
 void reExportDataChanges(String exportFileName, int exportOption, IReplica2 sourceReplica, int genOption, boolean overwriteIfExists, boolean compressed, boolean binaryGeometry)
          Exports the edits to a delta file.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

DataChangesExporter

public DataChangesExporter()
                    throws IOException,
                           UnknownHostException
Constructs a DataChangesExporter using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

DataChangesExporter

public DataChangesExporter(Object obj)
                    throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
DataChangesExporter theDataChangesExporter = (DataChangesExporter) obj;

Construct a DataChangesExporter using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to DataChangesExporter.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

exportDataChanges

public void exportDataChanges(String exportFileName,
                              int exportOption,
                              IDataChanges dataChanges,
                              boolean overwriteIfExists)
                       throws IOException,
                              AutomationException
Exports the edits to a delta file.

Remarks

The ExportDataChanges method exports the edits from a check-out/check-in replica or source and target version to a delta file. To export edits from a two way or one way replica use the methods available of the IExportDataChanges2 interface.

The exportoption parameter controls whether the result will be XML, a delta database, or a delta file geodatabase. The datachanges parameter must reference a CheckoutDataChanges object to export edits in a check-out or a VersionDataChanges object to export edits between source and target versions. The overwriteexists parameter indicates if the target database will be overwritten during the export.


Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
exportDataChanges in interface IExportDataChanges
Parameters:
exportFileName - The exportFileName (in)
exportOption - A com.esri.arcgis.geodatabasedistributed.esriExportDataChangesOption constant (in)
dataChanges - A reference to a com.esri.arcgis.geodatabasedistributed.IDataChanges (in)
overwriteIfExists - The overwriteIfExists (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

exportDataChanges2

public void exportDataChanges2(String exportFileName,
                               int exportOption,
                               IDataChanges dataChanges,
                               boolean overwriteIfExists,
                               boolean compressed,
                               boolean binaryGeometry,
                               boolean lastSend)
                        throws IOException,
                               AutomationException
Exports the edits to a delta file.

Remarks

The ExportDataChanges2 method exports data changes from a two way or one way replica to a data changes file.

The exportFileName parameter is the name of the file that will be generated. The exportoption parameter takes a member of the esridatachangesexportoption enumeration to determine whether the data changes file created will be XML, delta database, or a delta file geodatabase format.

The datachanges parameter must reference a ReplicaDataChanges object to export edits from a mult-generation replica. The overwriteexists parameter indicates if the target data changes file will be overwritten during the export. Setting this to TRUE will overwrite the data changes file if it already exists. If you set this to FALSE and the data changes file already exists, the file will not be overwritten, and the export will not succeed.

The Compressed parameter is TRUE the edits will be exported in compressed format.

The Binarygeometry parameter is used to specify binary or normalized geometry. If set to TRUE, binary format will be used.

The LastSend parameter indicates whether there will be a change in the directionality of the data change flow between the replica pair. The lastsend parameter should be set to TRUE if you no longer want to send data change messages to the relative, but instead want to receive edits from the relative. If the lastsend parameter is set to TRUE, the source replica will transition from a Sending Data state to a Receiving Data state upon export of the data change message. When the relative replica successfully imports this delta file, the relative replica will transition from a Receiving Data state to a Sending Data state.

The ExportDataChanges2 method only applies to replicas in the Sending Data state. The replica state can be determined by using the IReplica2::ReplicaState property.

Product Availability

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

Specified by:
exportDataChanges2 in interface IExportDataChanges2
Parameters:
exportFileName - The exportFileName (in)
exportOption - A com.esri.arcgis.geodatabasedistributed.esriExportDataChangesOption constant (in)
dataChanges - A reference to a com.esri.arcgis.geodatabasedistributed.IDataChanges (in)
overwriteIfExists - The overwriteIfExists (in)
compressed - The compressed (in)
binaryGeometry - The binaryGeometry (in)
lastSend - The lastSend (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reExportDataChanges

public void reExportDataChanges(String exportFileName,
                                int exportOption,
                                IReplica2 sourceReplica,
                                int genOption,
                                boolean overwriteIfExists,
                                boolean compressed,
                                boolean binaryGeometry)
                         throws IOException,
                                AutomationException
Exports the edits to a delta file.

Remarks

The ReExportDataChanges method exports previously sent edits (unacknowledged edits) from a two-way or one-way replica to a delta file (data change message). New edits performed since sending the most recent data change message will not be included. To export both unacknowledged and new data changes you must use the ExportDataChanges2 method. See the DataChangesExporter and the ReplicaDataChanges coclasses for more information.

The exportfilename parameter is the name of the data changes file to create. The exportoption parameter takes a member of the esridatachangesexportoption enumeration to determine whether the data changes file created will be XML, delta database, or a delta file geodatabase format. The sourcereplica parameter identifies the replica which is the source of the data changes.

The genoption parameter takes an esriReExportGenerationsOption to indicate what data changes will be reexported. If esriReExportGenerationsAllUnAcknowledged is specified, all unacknowledged edits from all previously sent data change messages will be reexported. If esriReExportGenerationsLastUnAcknowledged is specified, only those unacknowledged edits from the most recently exported data change message will be reexported. See the esriReExportGenerationsOption enumeration for more information.

The overwriteexists parameter indicates if the target delta file will be overwritten during the export.

The Compressed parameter is TRUE the edits will be exported in compressed format.

The Binarygeometry parameter is used to specify binary or normalized geometry. If set to TRUE, binary format will be used.

The ReExportDataChanges2 method only applies to replicas which have sent data change messages which have not been acknowledged. This can include replicas in the Sending Data state, which have previously sent a data change message, as well as replicas who have just transitioned into a Receiving Data state after exporting a data change switch message (lastsend parameter = TRUE). See the ExportDataChanges2 method for more information.

Product Availability

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

Specified by:
reExportDataChanges in interface IExportDataChanges2
Parameters:
exportFileName - The exportFileName (in)
exportOption - A com.esri.arcgis.geodatabasedistributed.esriExportDataChangesOption constant (in)
sourceReplica - A reference to a com.esri.arcgis.geodatabase.IReplica2 (in)
genOption - A com.esri.arcgis.geodatabasedistributed.esriReExportGenerationsOption constant (in)
overwriteIfExists - The overwriteIfExists (in)
compressed - The compressed (in)
binaryGeometry - The binaryGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.