com.esri.arcgis.geodatabase
Interface IRelatedObjectEvents

All Superinterfaces:
Serializable
All Known Implementing Classes:
AnnotationFeature, ComplexEdgeFeature, ComplexJunctionFeature, CoverageAnnotationFeature, DimensionFeature, esri_Object, Feature, GeocodedFeature, GeocodingIndexObject, IRelatedObjectEventsProxy, NALocationFeature, NALocationObject, NATraversalResultElement, RasterCatalogItem, Row, SchematicDiagram, SchematicDrawing, SchematicLink, SchematicNode, SchematicNodeOnLink, SchematicSubLink, SimpleEdgeFeature, SimpleJunctionFeature, TopologyErrorFeature

public interface IRelatedObjectEvents
extends Serializable

Provides access to events that occur when related objects change, move or rotate.

Remarks

The IRelatedObjectEvents interface is relevant only to developers of custom objects and features. It is similar to IRowEvents except that the methods are called by the geodatabase in response to events on a related object.

A custom object can implement this interface in order to respond to these events, for example, if a change in the attribute of a related object needs to trigger a change in the attributes of this object.

RelatedObjectMoved and RelatedObjectRotated are currently reserved. A custom feature implementing this interface must include these two methods, but since they will not be called, the methods should remain empty. Feature movement and rotation triggers the RelatedObjectSetMoved and RelatedObjectSetRotated methods, where functionality should be defined.

In most cases, a class extension that implements the IRelatedObjectClassEvents2 interface should be used instead of a custom feature that implements this interface, as class extensions are generally more stable and more efficient.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux


Method Summary
 void relatedObjectChanged(IRelationshipClass relationshipClass, IObject objectThatChanged)
          Notifies this object that a related object changed.
 void relatedObjectMoved(IRelationshipClass relationshipClass, IObject objectThatChanged, ILine moveVector)
          Notifies this object that a related object moved.
 void relatedObjectRotated(IRelationshipClass relationshipClass, IObject objectThatChanged, IPoint origin, double angle)
          Notifies this object that a related object rotated.
 void relatedObjectSetMoved(IRelationshipClass relationshipClass, ISet objectsThatNeedToChange, ISet objectsThatChanged, ILine moveVector)
          Notifies this object that a set of objects with relationships to the input set of objects moved.
 void relatedObjectSetRotated(IRelationshipClass relationshipClass, ISet objectsThatNeedToChange, ISet objectsThatChanged, IPoint origin, double angle)
          Notifies this object that a set of objects with relationships to the input set of objects rotated.
 

Method Detail

relatedObjectChanged

void relatedObjectChanged(IRelationshipClass relationshipClass,
                          IObject objectThatChanged)
                          throws IOException,
                                 AutomationException
Notifies this object that a related object changed.

Remarks

The RelatedObjectChanged method is called when a related object has changed.

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)
objectThatChanged - A reference to a com.esri.arcgis.geodatabase.IObject (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

relatedObjectMoved

void relatedObjectMoved(IRelationshipClass relationshipClass,
                        IObject objectThatChanged,
                        ILine moveVector)
                        throws IOException,
                               AutomationException
Notifies this object that a related object moved.

Remarks

This method is currently reserved and implementations should not define any behavior.

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)
objectThatChanged - A reference to a com.esri.arcgis.geodatabase.IObject (in)
moveVector - A reference to a com.esri.arcgis.geometry.ILine (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

relatedObjectSetMoved

void relatedObjectSetMoved(IRelationshipClass relationshipClass,
                           ISet objectsThatNeedToChange,
                           ISet objectsThatChanged,
                           ILine moveVector)
                           throws IOException,
                                  AutomationException
Notifies this object that a set of objects with relationships to the input set of objects moved.

Remarks

The RelatedObjectSetMoved method is called when a set of objects in the related object class has moved. The objectsThatChanged argument represents the set of objects in the related object classes that have moved.

The objectsThatNeedToChange argument is a set of objects in this object's class that are related to the objects that moved. The object executing this method will itself be a member of the objectsThatNeedToChange set.

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)
objectsThatNeedToChange - A reference to a com.esri.arcgis.system.ISet (in)
objectsThatChanged - A reference to a com.esri.arcgis.system.ISet (in)
moveVector - A reference to a com.esri.arcgis.geometry.ILine (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

relatedObjectRotated

void relatedObjectRotated(IRelationshipClass relationshipClass,
                          IObject objectThatChanged,
                          IPoint origin,
                          double angle)
                          throws IOException,
                                 AutomationException
Notifies this object that a related object rotated.

Remarks

This method is currently reserved and implementations should not define any behavior.

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)
objectThatChanged - A reference to a com.esri.arcgis.geodatabase.IObject (in)
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
angle - The angle (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

relatedObjectSetRotated

void relatedObjectSetRotated(IRelationshipClass relationshipClass,
                             ISet objectsThatNeedToChange,
                             ISet objectsThatChanged,
                             IPoint origin,
                             double angle)
                             throws IOException,
                                    AutomationException
Notifies this object that a set of objects with relationships to the input set of objects rotated.

Remarks

The RelatedObjectSetRotated method is called when a set of objects in the related object class has moved. Its arguments are similar to the arguments for RelatedObjectSetMoved.

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)
objectsThatNeedToChange - A reference to a com.esri.arcgis.system.ISet (in)
objectsThatChanged - A reference to a com.esri.arcgis.system.ISet (in)
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
angle - The angle (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.