com.esri.arcgis.carto
Class RelateDescription

java.lang.Object
  extended by com.esri.arcgis.carto.RelateDescription
All Implemented Interfaces:
IRelateDescription, com.esri.arcgis.interop.RemoteObjRef, IPersist, IPersistStream, IXMLSerialize, IXMLVersionSupport, Externalizable, Serializable

public class RelateDescription
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IRelateDescription, IXMLSerialize, IXMLVersionSupport, IPersistStream, IPersist, Externalizable

A colcass that describes a relate for QueryRelatedRows.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
RelateDescription()
          Constructs a RelateDescription using ArcGIS Engine.
RelateDescription(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
RelateDescription theRelateDescription = (RelateDescription) obj;
 
Method Summary
 void deserialize(IXMLSerializeData data)
          Deserializes an object from XML.
 boolean equals(Object o)
          Compare this object with another
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 IGeometryResultOptions getGeometryResultOptions()
          Indicates whether we need to modify Geometry.
 IGeoTransformation getGeoTransformation()
          Geo transformation required to transform the geometry if the requested GCS is different from the source.
 String getMinNamespaceSupported()
          The minimum namespace the class can serialize to (eg the 90 namespace).
 ISpatialReference getOutputSpatialReference()
          Spatial reference of the output geometry in the related records.
 ITimeReference getOutputTimeReference()
          Output time reference for the time fields.
 String getRelatedTableDefinitionExpression()
          Definition expression of the related table for which related records are being requested.
 String getRelatedTableFields()
          Table fields that need to be returned as a part of the relate results.
 int getRelationshipID()
          Relationship ID that uniquely idenentifies a relate to a table.
 int getResultFormat()
          Result format that indicates the type of content in the result.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 int hashCode()
          the hashcode for this object
 void isDirty()
          isDirty
 boolean isIncludeGeometry()
          Indicates whether we should include Geometry.
 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 setGeometryResultOptionsByRef(IGeometryResultOptions geometryOptions)
          Indicates whether we need to modify Geometry.
 void setGeoTransformationByRef(IGeoTransformation geotransform)
          Geo transformation required to transform the geometry if the requested GCS is different from the source.
 void setIncludeGeometry(boolean includeGeometry)
          Indicates whether we should include Geometry.
 void setOutputSpatialReferenceByRef(ISpatialReference spatialReference)
          Spatial reference of the output geometry in the related records.
 void setOutputTimeReferenceByRef(ITimeReference timeReference)
          Output time reference for the time fields.
 void setRelatedTableDefinitionExpression(String expression)
          Definition expression of the related table for which related records are being requested.
 void setRelatedTableFields(String tablefields)
          Table fields that need to be returned as a part of the relate results.
 void setRelationshipID(int relationshipID)
          Relationship ID that uniquely idenentifies a relate to a table.
 void setResultFormat(int resultFormat)
          Result format that indicates the type of content in the result.
 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

RelateDescription

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

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

RelateDescription

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

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

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

getRelationshipID

public int getRelationshipID()
                      throws IOException,
                             AutomationException
Relationship ID that uniquely idenentifies a relate to a table.

Description

A unique id for a relationship between the source and destination table/layer. You may get this from IRelateInfo::RelationshipID.

Product Availability

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

Specified by:
getRelationshipID in interface IRelateDescription
Returns:
The relationshipID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRelationshipID

public void setRelationshipID(int relationshipID)
                       throws IOException,
                              AutomationException
Relationship ID that uniquely idenentifies a relate to a table.

Product Availability

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

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

getRelatedTableDefinitionExpression

public String getRelatedTableDefinitionExpression()
                                           throws IOException,
                                                  AutomationException
Definition expression of the related table for which related records are being requested.

Remarks

In case your related StandaloneTable/layer has definition expression and you want that to be honored, or you want to restrict your search within a subset of the related StandaloneTable/layer, you need to explicitly set that to this property. You may get the default definition expression set to that layer/StandaloneTable in the source document from IMapTableDescription::DefinitionExpression.

For example, LayerA is related to TableB. Records in that table in the source map document restricted not to include information beyond 1990 [i.e. "Year" <= 1990]. If RelatedTableDefinitionExpression is not set, the related results may contain information beyond 1990.

When this property is empty, the search will be performed on all the records/features on the StandaloneTable/layer.

Product Availability

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

Specified by:
getRelatedTableDefinitionExpression in interface IRelateDescription
Returns:
The expression
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRelatedTableDefinitionExpression

public void setRelatedTableDefinitionExpression(String expression)
                                         throws IOException,
                                                AutomationException
Definition expression of the related table for which related records are being requested.

Product Availability

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

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

getRelatedTableFields

public String getRelatedTableFields()
                             throws IOException,
                                    AutomationException
Table fields that need to be returned as a part of the relate results.

Remarks

Pass in “*” to RelatedTableFields if you want to have all visible fields returned, or specify a list of field name if you want a subset of field list. You may get the list of all visible fields from IMapTableInfo::Fields. It throws exception when the field list contains an invalid field name or invisible field name.

Product Availability

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

Specified by:
getRelatedTableFields in interface IRelateDescription
Returns:
The tablefields
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRelatedTableFields

public void setRelatedTableFields(String tablefields)
                           throws IOException,
                                  AutomationException
Table fields that need to be returned as a part of the relate results.

Product Availability

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

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

setOutputSpatialReferenceByRef

public void setOutputSpatialReferenceByRef(ISpatialReference spatialReference)
                                    throws IOException,
                                           AutomationException
Spatial reference of the output geometry in the related records.

Product Availability

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

Specified by:
setOutputSpatialReferenceByRef in interface IRelateDescription
Parameters:
spatialReference - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOutputSpatialReference

public ISpatialReference getOutputSpatialReference()
                                            throws IOException,
                                                   AutomationException
Spatial reference of the output geometry in the related records.

Product Availability

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

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

getGeoTransformation

public IGeoTransformation getGeoTransformation()
                                        throws IOException,
                                               AutomationException
Geo transformation required to transform the geometry if the requested GCS is different from the source.

Product Availability

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

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

setGeoTransformationByRef

public void setGeoTransformationByRef(IGeoTransformation geotransform)
                               throws IOException,
                                      AutomationException
Geo transformation required to transform the geometry if the requested GCS is different from the source.

Product Availability

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

Specified by:
setGeoTransformationByRef in interface IRelateDescription
Parameters:
geotransform - A reference to a com.esri.arcgis.geometry.IGeoTransformation (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getResultFormat

public int getResultFormat()
                    throws IOException,
                           AutomationException
Result format that indicates the type of content in the result.

Product Availability

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

Specified by:
getResultFormat in interface IRelateDescription
Returns:
A com.esri.arcgis.carto.esriRelateResultFormat constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setResultFormat

public void setResultFormat(int resultFormat)
                     throws IOException,
                            AutomationException
Result format that indicates the type of content in the result.

Product Availability

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

Specified by:
setResultFormat in interface IRelateDescription
Parameters:
resultFormat - A com.esri.arcgis.carto.esriRelateResultFormat constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIncludeGeometry

public void setIncludeGeometry(boolean includeGeometry)
                        throws IOException,
                               AutomationException
Indicates whether we should include Geometry.

Product Availability

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

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

isIncludeGeometry

public boolean isIncludeGeometry()
                          throws IOException,
                                 AutomationException
Indicates whether we should include Geometry.

Remarks

IncludeGeometry flags whether records from a related layer will contain geometry. Unless you need geometry, setting is false will improve the performance.

Product Availability

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

Specified by:
isIncludeGeometry in interface IRelateDescription
Returns:
The includeGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setGeometryResultOptionsByRef

public void setGeometryResultOptionsByRef(IGeometryResultOptions geometryOptions)
                                   throws IOException,
                                          AutomationException
Indicates whether we need to modify Geometry.

Product Availability

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

Specified by:
setGeometryResultOptionsByRef in interface IRelateDescription
Parameters:
geometryOptions - A reference to a com.esri.arcgis.geodatabase.IGeometryResultOptions (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGeometryResultOptions

public IGeometryResultOptions getGeometryResultOptions()
                                                throws IOException,
                                                       AutomationException
Indicates whether we need to modify Geometry.

Remarks

GeometryResultOptions can be used to generalize or densify geometry of related features. When a geometry is need to flash or highlight those features, you may consider reducing number of vertices in those returned geometry by generalizing which will improve the performance. Some time a feature may be made of arc(s), in case the client application can’t process those arcs, geometry can be densified to return geometry made of a series of vertices.

Product Availability

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

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

setOutputTimeReferenceByRef

public void setOutputTimeReferenceByRef(ITimeReference timeReference)
                                 throws IOException,
                                        AutomationException
Output time reference for the time fields.

Product Availability

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

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

getOutputTimeReference

public ITimeReference getOutputTimeReference()
                                      throws IOException,
                                             AutomationException
Output time reference for the time fields.

Product Availability

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

Specified by:
getOutputTimeReference in interface IRelateDescription
Returns:
A reference to a com.esri.arcgis.system.ITimeReference
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.

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.

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.

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