com.esri.arcgis.geodatabasedistributed
Class GDSData

java.lang.Object
  extended by com.esri.arcgis.geodatabasedistributed.GDSData
All Implemented Interfaces:
IGDSData, com.esri.arcgis.interop.RemoteObjRef, IClone, IPersist, IPersistStream, IXMLSerialize, IXMLVersionSupport, Externalizable, Serializable

public class GDSData
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IGDSData, IXMLSerialize, IPersistStream, IPersist, IClone, IXMLVersionSupport, Externalizable

An object that transports GeoDataServer data.

Remarks

A GDSData instance is used whenever you need to export data from or import data into a GeoDataServer object. The GDSData class acts as a data carrier. Export operations, such as ExportReplicaDataChanges or CreateReplica, will return a GDSData instance. Import operations, such as ImportReplicaSchemaChanges or ImportAcknowledgement, will take a GDSData instance as an argument. These types of operations are normally performed when you are working in a disconnected environment. When working in a connected envronment, use the methods from the ReplicationAgent coclass.

When exporting, use the IGDSData::TransportType property to determine how the data was exported. If it was exported embedded (esriGDSTransportTypeEmbedded), the data exists in memory as a byte array. You can then use the IGDSData::EmbeddedData property to get the byte array and write it to a file. If it was exported to a URL (esriGDSTransportTypeURL), an export file with the data has been written to the virtual directory of the GIS server. The IGDSData::URL property returns the virtual directory location. The IGDSData::Compressed property returns whether or not the data has been compressed. The IGDSData::ConnectionProperties will contain the connection information for the GeoDataServer.

When importing, you must initialize the GDSData coclass appropriately by setting the properties of the IGDSData interface. If importing from a file at a URL or in a local directory, you need to set the IGDSData::URL property to the file location. You must also set the IGDSData::TransportType to URL. If importing from a byte array, you need to set the IGDSData::EmbeddedData property with the byte array and set IGDSData::TransportType to Embedded.

If using a URL, note that the GeoDataServer must be able to access the file location. For example, if importing from a local file into a GeoDataServer accessed through ArcGIS for Server, you must use embedded. This is because the GeoDataServer will not be able to access the local file directory as specified by the URL property.

When importing, you must also set IGDSData::Compressed to true if the data is compressed, or false if the data is not compressed. If importing from a secure server, you also need to set the IGDSData::ConnectionProperties with the proper credentials to access the data.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
GDSData()
          Constructs a GDSData using ArcGIS Engine.
GDSData(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
GDSData theGDSData = (GDSData) obj;
 
Method Summary
 void assign(IClone src)
          Assigns the properties of src to the receiver.
 void deserialize(IXMLSerializeData data)
          Deserializes an object from XML.
 boolean equals(Object o)
          Compare this object with another
 IClone esri_clone()
          Clones the receiver and assigns the result to *clone.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 IPropertySet getConnectionProperties()
          The properties to be used when downloading the data (if transport type is URL).
 byte[] getEmbeddedData()
          The embedded replica data.
 String getMinNamespaceSupported()
          The minimum namespace the class can serialize to (eg the 90 namespace).
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 int getTransportType()
          The transport type used to transfer the replica data.
 String getURL()
          The url where the replica data is located.
 int hashCode()
          the hashcode for this object
 boolean isCompressed()
          Indicates whether the data has been compressed.
 void isDirty()
          isDirty
 boolean isEqual(IClone other)
          Indicates if the receiver and other have the same properties.
 boolean isIdentical(IClone other)
          Indicates if the receiver and other are the same object.
 void load(IStream pstm)
          load
 void readExternal(ObjectInput in)
           
 void save(IStream pstm, int fClearDirty)
          save
 void serialize(IXMLSerializeData data)
          Serializes an object to XML.
 void setCompressed(boolean comp)
          Indicates whether the data has been compressed.
 void setConnectionPropertiesByRef(IPropertySet connProps)
          The properties to be used when downloading the data (if transport type is URL).
 void setEmbeddedData(byte[] data)
          The embedded replica data.
 void setTransportType(int pTransport)
          The transport type used to transfer the replica data.
 void setURL(String uRL)
          The url where the replica data is located.
 void writeExternal(ObjectOutput out)
           
 
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

GDSData

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

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

GDSData

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

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

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

isCompressed

public boolean isCompressed()
                     throws IOException,
                            AutomationException
Indicates whether the data has been compressed.

Remarks

The get_Compressed method returns whether the data has been compressed. Compressed data is stored in the .zip format.

Product Availability

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

Specified by:
isCompressed in interface IGDSData
Returns:
The comp
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCompressed

public void setCompressed(boolean comp)
                   throws IOException,
                          AutomationException
Indicates whether the data has been compressed.

Product Availability

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

Specified by:
setCompressed in interface IGDSData
Parameters:
comp - The comp (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTransportType

public int getTransportType()
                     throws IOException,
                            AutomationException
The transport type used to transfer the replica data.

Product Availability

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

Specified by:
getTransportType in interface IGDSData
Returns:
A com.esri.arcgis.geodatabasedistributed.esriGDSTransportType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTransportType

public void setTransportType(int pTransport)
                      throws IOException,
                             AutomationException
The transport type used to transfer the replica data.

Remarks

The TransportType method returns a compression type. The CompressionType enumeration is used to specify the type of compression.

esriTransportType include the following:

0 - esriGDSTransportTypeEmbedded

1 - esriGDSTransportTypeUrl

2 - esriGDSTransportTypeFile

Product Availability

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

Specified by:
setTransportType in interface IGDSData
Parameters:
pTransport - A com.esri.arcgis.geodatabasedistributed.esriGDSTransportType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getURL

public String getURL()
              throws IOException,
                     AutomationException
The url where the replica data is located.

Remarks

The URL is used to specify the location of the local or virtual directory where the data is located. This is not set when the TransportType of embedded.

Product Availability

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

Specified by:
getURL in interface IGDSData
Returns:
The uRL
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setURL

public void setURL(String uRL)
            throws IOException,
                   AutomationException
The url where the replica data is located.

Remarks

The URL method returns a string. The URL is used to specify the location of the actual or virtual directory. Note: The default directory location is the Temp folder.

Product Availability

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

Specified by:
setURL in interface IGDSData
Parameters:
uRL - The uRL (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getEmbeddedData

public byte[] getEmbeddedData()
                       throws IOException,
                              AutomationException
The embedded replica data.

Remarks

The EmbeddedData property returns a byte array with the actual data if the transport type is embedded.

Product Availability

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

Specified by:
getEmbeddedData in interface IGDSData
Returns:
An unsigned byte
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setEmbeddedData

public void setEmbeddedData(byte[] data)
                     throws IOException,
                            AutomationException
The embedded replica data.

Remarks

The EmbeddedData property returns a Byte. The EmbeddedData has a byte array with the actual data. The client needs to create a file with this array. This property is valid for GeoDataServer and GDSData coclasses. Note: The default directory location is the Temp folder.

Product Availability

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

Specified by:
setEmbeddedData in interface IGDSData
Parameters:
data - An unsigned byte (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setConnectionPropertiesByRef

public void setConnectionPropertiesByRef(IPropertySet connProps)
                                  throws IOException,
                                         AutomationException
The properties to be used when downloading the data (if transport type is URL).

Product Availability

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

Specified by:
setConnectionPropertiesByRef in interface IGDSData
Parameters:
connProps - 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.

getConnectionProperties

public IPropertySet getConnectionProperties()
                                     throws IOException,
                                            AutomationException
The properties to be used when downloading the data (if transport type is URL).

Remarks

The connection properties needed to connect to the URL specified in the IGDSData::URL property.

This property does not need to be set if the data is embedded or if the URL allows anonymous access. If the URL has http authentication enabled, then it is recommended you use an encrypted communication channel which can be enabled through ssl.

Product Availability

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

Specified by:
getConnectionProperties in interface IGDSData
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.

serialize

public void serialize(IXMLSerializeData data)
               throws IOException,
                      AutomationException
Serializes an object to XML.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
serialize in interface IXMLSerialize
Parameters:
data - A reference to a com.esri.arcgis.system.IXMLSerializeData (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deserialize

public void deserialize(IXMLSerializeData data)
                 throws IOException,
                        AutomationException
Deserializes an object from XML.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
deserialize in interface IXMLSerialize
Parameters:
data - A reference to a com.esri.arcgis.system.IXMLSerializeData (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDirty

public void isDirty()
             throws IOException,
                    AutomationException
isDirty

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDirty in interface IPersistStream
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

load

public void load(IStream pstm)
          throws IOException,
                 AutomationException
load

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
load in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

save

public void save(IStream pstm,
                 int fClearDirty)
          throws IOException,
                 AutomationException
save

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
save in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
fClearDirty - The fClearDirty (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeMax

public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
                throws IOException,
                       AutomationException
getSizeMax

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSizeMax in interface IPersistStream
Parameters:
pcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassID

public void getClassID(GUID[] pClassID)
                throws IOException,
                       AutomationException
getClassID

Description

IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClassID in interface IPersist
Parameters:
pClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

esri_clone

public IClone esri_clone()
                  throws IOException,
                         AutomationException
Clones the receiver and assigns the result to *clone.

Product Availability

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

Specified by:
esri_clone in interface IClone
Returns:
A reference to a com.esri.arcgis.system.IClone
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

assign

public void assign(IClone src)
            throws IOException,
                   AutomationException
Assigns the properties of src to the receiver.

Description

Use Assign method to assign the properties of source object to receiver object. Both objects need to have the same CLSIDs. Both source and receiver objects need to be instantiated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
assign in interface IClone
Parameters:
src - A reference to a com.esri.arcgis.system.IClone (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isEqual

public boolean isEqual(IClone other)
                throws IOException,
                       AutomationException
Indicates if the receiver and other have the same properties.

Description

IsEqual returns True if the receiver and the source have the same properties. Note, this does not imply that the receiver and the source reference the same object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isEqual in interface IClone
Parameters:
other - A reference to a com.esri.arcgis.system.IClone (in)
Returns:
The equal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isIdentical

public boolean isIdentical(IClone other)
                    throws IOException,
                           AutomationException
Indicates if the receiver and other are the same object.

Description

IsIdentical returns true if the receiver and the source reference the same object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isIdentical in interface IClone
Parameters:
other - A reference to a com.esri.arcgis.system.IClone (in)
Returns:
The identical
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMinNamespaceSupported

public String getMinNamespaceSupported()
                                throws IOException,
                                       AutomationException
The minimum namespace the class can serialize to (eg the 90 namespace).

Product Availability

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

Specified by:
getMinNamespaceSupported in interface IXMLVersionSupport
Returns:
The namespaceURI
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException