com.esri.arcgis.geodatabase
Interface IConfirmSendRelatedObjectEvents

All Superinterfaces:
Serializable
All Known Implementing Classes:
AnnotationFeatureClassExtension

public interface IConfirmSendRelatedObjectEvents
extends Serializable

Provides access to events that occur when related objects change, move or rotate and confirms that the event be sent.

Description

The IConfirmSendRelatedObjectEvents is an optional interface for class extensions used to confirm the reception of notifications from related objects.

Remarks

Each property on IConfirmSendRelatedObjectEvents corresponds to a method on IRelatedObjectClassEvents2 and IRelatedObjectEvents (for example, ConfirmSendRelatedObjectChanged corresponds to RelatedObjectChanged on both interfaces).

The decision to confirm the sending of messages could be based on criteria such as a particular field having been changed. An object can be analyzed for which fields have been modified by accessing the IRowChanges interface or the IFeatureChanges interface for shape information. By eliminating unnecessary calls to IRelatedObjectClassEvents2 and IRelatedObjectEvents, editing performance can be optimized.

ConfirmSendRelatedObjectMoved and ConfirmSendRelatedObjectRotated are currently reserved, and should not define any functionality. ConfirmSendRelatedObjectSetMoved and ConfirmSendRelatedObjectSetRotated will be always be called, even if the sets only contain a single object.

When To Use

This interface can be implemented by a class extension to filter the notifications from a related class.

When an object that participates in a relationship is modified, moved, or rotated (alone or in a set), its related objects and their classes will be notified if relationship notification is set in that direction. Typically, related objects and classes are only interested in certain changes on an object. The methods of this interface allow an object class extension to prevent or confirm that notifications should be handled.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
com.esri.arcgis.editor.IShortTransactionObjectInspector

Method Summary
 boolean confirmSendRelatedObjectChanged(IRelationshipClass relationshipClass, IObject objectThatChanged)
          Notifies this object that a related object changed and asks if events should be sent.
 boolean confirmSendRelatedObjectMoved(IRelationshipClass relationshipClass, IObject objectThatChanged, ILine moveVector)
          Notifies this object that a related object moved and asks if events should be sent.
 boolean confirmSendRelatedObjectRotated(IRelationshipClass relationshipClass, IObject objectThatChanged, IPoint origin, double angle)
          Notifies this object that a related object rotated and asks if events should be sent.
 boolean confirmSendRelatedObjectSetMoved(IRelationshipClass relationshipClass, ISet objectsThatChanged, ILine moveVector)
          Notifies this object that a set of objects with relationships to the input set of objects moved and asks if events should be sent.
 boolean confirmSendRelatedObjectSetRotated(IRelationshipClass relationshipClass, ISet objectsThatChanged, IPoint origin, double angle)
          Notifies this object that a set of objects with relationships to the input set of objects rotated and asks if events should be sent.
 

Method Detail

confirmSendRelatedObjectChanged

boolean confirmSendRelatedObjectChanged(IRelationshipClass relationshipClass,
                                        IObject objectThatChanged)
                                        throws IOException,
                                               AutomationException
Notifies this object that a related object changed and asks if events should be sent.

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)
Returns:
The doSend
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.editor.IShortTransactionObjectInspector

confirmSendRelatedObjectMoved

boolean confirmSendRelatedObjectMoved(IRelationshipClass relationshipClass,
                                      IObject objectThatChanged,
                                      ILine moveVector)
                                      throws IOException,
                                             AutomationException
Notifies this object that a related object moved and asks if events should be sent.

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)
Returns:
The doSend
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.editor.IShortTransactionObjectInspector

confirmSendRelatedObjectSetMoved

boolean confirmSendRelatedObjectSetMoved(IRelationshipClass relationshipClass,
                                         ISet objectsThatChanged,
                                         ILine moveVector)
                                         throws IOException,
                                                AutomationException
Notifies this object that a set of objects with relationships to the input set of objects moved and asks if events should be sent.

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

confirmSendRelatedObjectRotated

boolean confirmSendRelatedObjectRotated(IRelationshipClass relationshipClass,
                                        IObject objectThatChanged,
                                        IPoint origin,
                                        double angle)
                                        throws IOException,
                                               AutomationException
Notifies this object that a related object rotated and asks if events should be sent.

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)
Returns:
The doSend
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.editor.IShortTransactionObjectInspector

confirmSendRelatedObjectSetRotated

boolean confirmSendRelatedObjectSetRotated(IRelationshipClass relationshipClass,
                                           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 and asks if events should be sent.

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)
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)
Returns:
The doSend
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.editor.IShortTransactionObjectInspector