com.esri.arcgis.carto
Class AnnotationFeatureClassExtension

java.lang.Object
  extended by com.esri.arcgis.carto.AnnotationFeatureClassExtension
All Implemented Interfaces:
IAnnoClass, IAnnoClassAdmin, IAnnoClassAdmin2, IAnnoClassAdmin3, IAnnotationClassExtension, IAnnotationClassExtension2, IClassExtension, IConfirmSendRelatedObjectEvents, IFeatureClassEdit, IFeatureClassExtension, IObjectClassEvents, IObjectClassExtension, IPersistCustomFeaturesExtension, IRelatedObjectClassEvents, com.esri.arcgis.interop.RemoteObjRef, ISupportErrorInfo, Serializable, EventListener

public class AnnotationFeatureClassExtension
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IClassExtension, IAnnoClass, IAnnotationClassExtension, IAnnotationClassExtension2, IAnnoClassAdmin, IConfirmSendRelatedObjectEvents, IAnnoClassAdmin2, IAnnoClassAdmin3, IFeatureClassEdit, IFeatureClassExtension, IObjectClassExtension, IPersistCustomFeaturesExtension, IRelatedObjectClassEvents, IObjectClassEvents, ISupportErrorInfo

An ESRI annotation feature class extension.

Remarks

The AnnotationFeatureClassExtension CoClass manages the drawing of annotation features.

The AnnotationFeatureClassExtension is used to configure the drawing properties and symbology for annoation features. The IAnnoClass interface is used to access the AnnotationLayerProperties and GroupSymbols. The IAnnoClassAdmin interface is used to update the properties of the class. ArcMap and ArcCatalog primarily use these interfaces.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
AnnotationFeatureClassExtension()
          Constructs a AnnotationFeatureClassExtension using ArcGIS Engine.
AnnotationFeatureClassExtension(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
AnnotationFeatureClassExtension theAnnotationFeatureClassExtension = (AnnotationFeatureClassExtension) obj;
 
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.
 void draw(IAnnotationFeature annoFeature, IDisplay display, ISymbol symbol)
          Draws the given annotation feature.
 boolean equals(Object o)
          Compare this object with another
 IAnnotateLayerPropertiesCollection getAnnoProperties()
          The labeling properties annotation classes.
 int getAnnotationClassIDFieldIndex()
          The label class ID field index.
static String getClsid()
          getClsid.
 int getCustomSplitPolicyForRelationship(IRow row, IRelationshipClass relClass)
          The custom split policy for handling relationships.
 IDisplay getDisplay()
          The display.
 IDisplay getDisplay(IElement pElement)
          The display based on the given element.
 int getElementFieldIndex()
          The element field index.
 IFeatureClass getFeatureClass()
          The feature class.
 int getFeatureIDFieldIndex()
          The feature ID field index.
 IFeatureClass getLinkedFeatureClass()
          The feature class to which the annotation class is feature linked.
 IOverposterProperties getOverposterProperties()
          The overposter properties.
 double getReferenceScale()
          The reference scale.
 int getReferenceScaleUnits()
          The units of the reference scale.
 int getStatusFieldIndex()
          The status field index.
 ISymbol getSymbol(int symbolID)
          The symbol associated with the given ID.
 ISymbolCollection getSymbolCollection()
          The symbol collection.
 short getVersion()
          The version of the annotation class.
 boolean hasCustomSplitPolicyForRelationship()
          True if the feature class has a custom split policy for handling relationships.
 int hashCode()
          the hashcode for this object
 void init(IClassHelper classHelper, IPropertySet extensionProperties)
          Initializes the extension, passing in a reference to its class helper.
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 boolean isAllowSymbolOverrides()
          Indicates if an annotation may override a symbol property even though it references the symbol collection.
 boolean isAutoCreate()
          Indicates if an annotation is to be automatically created when a feature is created.
 boolean isCanEditWithProjection()
          Indicates if the associated feature class can be edited in projected spaces.
 boolean isRequireSymbolID()
          Indicates if an annotation must belong to a symbol in the symbol collection.
 boolean isUpdateOnShapeChange()
          Indicates if an annotation is to be automatically recreated when a feature's shape is changed.
 void loadClass(IStream stream, boolean[] canLoad)
          Looks at the class information and determines if it can load the features.
 void loadFeature(IStream stream, IFeature feature)
          Loads the feature information and updates the feature.
 void onChange(IObjectClassEventsOnChangeEvent theEvent)
          This event is fired when an object's attributes or geometry is updated.
 void onCreate(IObjectClassEventsOnCreateEvent theEvent)
          This event is fired when a new object is created in the object class.
 void onDelete(IObjectClassEventsOnDeleteEvent theEvent)
          This event is fired when an object is deleted from the object class.
 void relatedObjectCreated(IRelationshipClass relationshipClass, IObject objectThatWasCreated)
          Notifies this object class that a related object was created.
 void saveClass(IStream stream)
          Writes out to the stream, class information used to aid loading.
 void saveFeature(IStream stream, IFeature feature)
          Writes out to the stream, feature infomation used to aid loading.
 void setAllowSymbolOverrides(boolean rhs1)
          Indicates if an annotation may override a symbol property even though it references the symbol collection.
 void setAnnoProperties(IAnnotateLayerPropertiesCollection rhs1)
          The labeling properties annotation class.
 void setAutoCreate(boolean flag)
          Indicates if an annotation is to be automatically created when a feature is created.
 void setOverposterProperties(IOverposterProperties rhs1)
          The overposter properties.
 void setReferenceScale(double rhs1)
          The reference scale.
 void setReferenceScaleUnits(int rhs1)
          The units of the reference scale.
 void setRequireSymbolID(boolean rhs1)
          Indicates an annotation must belong to a symbol in the symbol collection.
 void setSymbolCollectionByRef(ISymbolCollection rhs1)
          The symbol collection.
 void setUpdateOnShapeChange(boolean flag)
          Indicates if an annotation is to be automatically recreated when a feature's shape is changed.
 void shutdown()
          Informs the extension that its class helper is going away.
 void synchronizeAttributes(ITextElement pTextElement, IAnnotationFeature pAnnoFeature)
          Sync the attributes.
 void updateFieldIndexes()
          Updates the indexes of the fields that expose the annotation properties.
 void updateProperties()
          Updates the property set.
 
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

AnnotationFeatureClassExtension

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

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

AnnotationFeatureClassExtension

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

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

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

init

public void init(IClassHelper classHelper,
                 IPropertySet extensionProperties)
          throws IOException,
                 AutomationException
Initializes the extension, passing in a reference to its class helper.

Remarks

If a reference to the class is required by other class extension members, the class helper should be stored in a member variable. Storing an object or feature class directly within a class extension is strongly discouraged.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
init in interface IClassExtension
Parameters:
classHelper - A reference to a com.esri.arcgis.geodatabase.IClassHelper (in)
extensionProperties - 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.

shutdown

public void shutdown()
              throws IOException,
                     AutomationException
Informs the extension that its class helper is going away.

Remarks

Shutdown is called when the extension's class is cleared from the client's memory, or when the extension is removed from the class. Note that if a class is deleted from a geodatabase, it may remain in memory, so this should not be relied upon for behavior that should be triggered by a class' deletion.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getFeatureClass

public IFeatureClass getFeatureClass()
                              throws IOException,
                                     AutomationException
The feature class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getAnnoProperties

public IAnnotateLayerPropertiesCollection getAnnoProperties()
                                                     throws IOException,
                                                            AutomationException
The labeling properties annotation classes.

Remarks

Returns Nothing if no labeling properties set. This occurs when the annotation feature class is created by converting labels to annotation or when created as an annotation target containing graphics.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getSymbol

public ISymbol getSymbol(int symbolID)
                  throws IOException,
                         AutomationException
The symbol associated with the given ID.

Product Availability

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

Specified by:
getSymbol in interface IAnnoClass
Parameters:
symbolID - The symbolID (in)
Returns:
A reference to a com.esri.arcgis.display.ISymbol
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getReferenceScale

public double getReferenceScale()
                         throws IOException,
                                AutomationException
The reference scale.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getReferenceScale in interface IAnnoClass
Returns:
The referenceScale
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getReferenceScaleUnits

public int getReferenceScaleUnits()
                           throws IOException,
                                  AutomationException
The units of the reference scale.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getReferenceScaleUnits in interface IAnnoClass
Returns:
A com.esri.arcgis.system.esriUnits constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSymbolCollection

public ISymbolCollection getSymbolCollection()
                                      throws IOException,
                                             AutomationException
The symbol collection.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getVersion

public short getVersion()
                 throws IOException,
                        AutomationException
The version of the annotation class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getVersion in interface IAnnoClass
Returns:
The version
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

draw

public void draw(IAnnotationFeature annoFeature,
                 IDisplay display,
                 ISymbol symbol)
          throws IOException,
                 AutomationException
Draws the given annotation feature.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
draw in interface IAnnoClass
Parameters:
annoFeature - A reference to a com.esri.arcgis.carto.IAnnotationFeature (in)
display - A reference to a com.esri.arcgis.display.IDisplay (in)
symbol - A reference to a com.esri.arcgis.display.ISymbol (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getElementFieldIndex

public int getElementFieldIndex()
                         throws IOException,
                                AutomationException
The element field index.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getElementFieldIndex in interface IAnnoClass
Returns:
The elementFieldIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFeatureIDFieldIndex

public int getFeatureIDFieldIndex()
                           throws IOException,
                                  AutomationException
The feature ID field index.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFeatureIDFieldIndex in interface IAnnoClass
Returns:
The featureIDFieldIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDisplay

public IDisplay getDisplay()
                    throws IOException,
                           AutomationException
The display.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

synchronizeAttributes

public void synchronizeAttributes(ITextElement pTextElement,
                                  IAnnotationFeature pAnnoFeature)
                           throws IOException,
                                  AutomationException
Sync the attributes.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
synchronizeAttributes in interface IAnnotationClassExtension
Parameters:
pTextElement - A reference to a com.esri.arcgis.carto.ITextElement (in)
pAnnoFeature - A reference to a com.esri.arcgis.carto.IAnnotationFeature (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAnnotationClassIDFieldIndex

public int getAnnotationClassIDFieldIndex()
                                   throws IOException,
                                          AutomationException
The label class ID field index.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getAnnotationClassIDFieldIndex in interface IAnnotationClassExtension
Returns:
The annotationClassIDFieldIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStatusFieldIndex

public int getStatusFieldIndex()
                        throws IOException,
                               AutomationException
The status field index.

Product Availability

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

Specified by:
getStatusFieldIndex in interface IAnnotationClassExtension
Returns:
The statusFieldIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isUpdateOnShapeChange

public boolean isUpdateOnShapeChange()
                              throws IOException,
                                     AutomationException
Indicates if an annotation is to be automatically recreated when a feature's shape is changed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isUpdateOnShapeChange in interface IAnnoClassAdmin2
Specified by:
isUpdateOnShapeChange in interface IAnnotationClassExtension
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isAutoCreate

public boolean isAutoCreate()
                     throws IOException,
                            AutomationException
Indicates if an annotation is to be automatically created when a feature is created.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isAutoCreate in interface IAnnoClassAdmin
Specified by:
isAutoCreate in interface IAnnoClassAdmin2
Specified by:
isAutoCreate in interface IAnnotationClassExtension
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isRequireSymbolID

public boolean isRequireSymbolID()
                          throws IOException,
                                 AutomationException
Indicates if an annotation must belong to a symbol in the symbol collection.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isRequireSymbolID in interface IAnnotationClassExtension
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isAllowSymbolOverrides

public boolean isAllowSymbolOverrides()
                               throws IOException,
                                      AutomationException
Indicates if an annotation may override a symbol property even though it references the symbol collection.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isAllowSymbolOverrides in interface IAnnotationClassExtension
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOverposterProperties

public IOverposterProperties getOverposterProperties()
                                              throws IOException,
                                                     AutomationException
The overposter properties.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getLinkedFeatureClass

public IFeatureClass getLinkedFeatureClass()
                                    throws IOException,
                                           AutomationException
The feature class to which the annotation class is feature linked.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getDisplay

public IDisplay getDisplay(IElement pElement)
                    throws IOException,
                           AutomationException
The display based on the given element.

Product Availability

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

Specified by:
getDisplay in interface IAnnotationClassExtension2
Parameters:
pElement - A reference to a com.esri.arcgis.carto.IElement (in)
Returns:
A reference to a com.esri.arcgis.display.IDisplay
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAutoCreate

public void setAutoCreate(boolean flag)
                   throws IOException,
                          AutomationException
Indicates if an annotation is to be automatically created when a feature is created.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setAutoCreate in interface IAnnoClassAdmin
Specified by:
setAutoCreate in interface IAnnoClassAdmin2
Specified by:
setAutoCreate in interface IAnnoClassAdmin3
Parameters:
flag - The flag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAnnoProperties

public void setAnnoProperties(IAnnotateLayerPropertiesCollection rhs1)
                       throws IOException,
                              AutomationException
The labeling properties annotation class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setAnnoProperties in interface IAnnoClassAdmin
Specified by:
setAnnoProperties in interface IAnnoClassAdmin2
Specified by:
setAnnoProperties in interface IAnnoClassAdmin3
Parameters:
rhs1 - A reference to a com.esri.arcgis.carto.IAnnotateLayerPropertiesCollection (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setReferenceScale

public void setReferenceScale(double rhs1)
                       throws IOException,
                              AutomationException
The reference scale.

Remarks

The reference scale describes the scale at which the annotation text is displayed at the font size specified. As you zoom out, the text will get smaller, and as you zoom in, the text will get larger.

The reference scale should always be in the same units as the horizontal coordinate system (geographic or projected) of the annotation class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setReferenceScale in interface IAnnoClassAdmin
Specified by:
setReferenceScale in interface IAnnoClassAdmin2
Specified by:
setReferenceScale in interface IAnnoClassAdmin3
Parameters:
rhs1 - The rhs1 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setReferenceScaleUnits

public void setReferenceScaleUnits(int rhs1)
                            throws IOException,
                                   AutomationException
The units of the reference scale.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setReferenceScaleUnits in interface IAnnoClassAdmin
Specified by:
setReferenceScaleUnits in interface IAnnoClassAdmin2
Specified by:
setReferenceScaleUnits in interface IAnnoClassAdmin3
Parameters:
rhs1 - A com.esri.arcgis.system.esriUnits constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolCollectionByRef

public void setSymbolCollectionByRef(ISymbolCollection rhs1)
                              throws IOException,
                                     AutomationException
The symbol collection.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSymbolCollectionByRef in interface IAnnoClassAdmin
Specified by:
setSymbolCollectionByRef in interface IAnnoClassAdmin2
Specified by:
setSymbolCollectionByRef in interface IAnnoClassAdmin3
Parameters:
rhs1 - A reference to a com.esri.arcgis.display.ISymbolCollection (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

updateProperties

public void updateProperties()
                      throws IOException,
                             AutomationException
Updates the property set.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
updateProperties in interface IAnnoClassAdmin
Specified by:
updateProperties in interface IAnnoClassAdmin2
Specified by:
updateProperties in interface IAnnoClassAdmin3
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

confirmSendRelatedObjectChanged

public 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

Specified by:
confirmSendRelatedObjectChanged in interface IConfirmSendRelatedObjectEvents
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

public 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

Specified by:
confirmSendRelatedObjectMoved in interface IConfirmSendRelatedObjectEvents
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

public 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

Specified by:
confirmSendRelatedObjectSetMoved in interface IConfirmSendRelatedObjectEvents
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

public 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

Specified by:
confirmSendRelatedObjectRotated in interface IConfirmSendRelatedObjectEvents
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

public 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

Specified by:
confirmSendRelatedObjectSetRotated in interface IConfirmSendRelatedObjectEvents
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

setUpdateOnShapeChange

public void setUpdateOnShapeChange(boolean flag)
                            throws IOException,
                                   AutomationException
Indicates if an annotation is to be automatically recreated when a feature's shape is changed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setUpdateOnShapeChange in interface IAnnoClassAdmin2
Specified by:
setUpdateOnShapeChange in interface IAnnoClassAdmin3
Parameters:
flag - The flag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRequireSymbolID

public void setRequireSymbolID(boolean rhs1)
                        throws IOException,
                               AutomationException
Indicates an annotation must belong to a symbol in the symbol collection.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setAllowSymbolOverrides

public void setAllowSymbolOverrides(boolean rhs1)
                             throws IOException,
                                    AutomationException
Indicates if an annotation may override a symbol property even though it references the symbol collection.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setOverposterProperties

public void setOverposterProperties(IOverposterProperties rhs1)
                             throws IOException,
                                    AutomationException
The overposter properties.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setOverposterProperties in interface IAnnoClassAdmin3
Parameters:
rhs1 - A reference to a com.esri.arcgis.carto.IOverposterProperties (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

updateFieldIndexes

public void updateFieldIndexes()
                        throws IOException,
                               AutomationException
Updates the indexes of the fields that expose the annotation properties.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isCanEditWithProjection

public boolean isCanEditWithProjection()
                                throws IOException,
                                       AutomationException
Indicates if the associated feature class can be edited in projected spaces.

Remarks

ArcMap supports the editing of simple features in a different spatial reference than that of the feature dataset. If the associated feature class is of type esriFTSimple, editing of the feature class in different spatial reference can be prevented by implementing the CanEditWithProjection property and returning False.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isCanEditWithProjection in interface IFeatureClassEdit
Returns:
The isEditable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.editor.IShortTransactionObjectInspector

hasCustomSplitPolicyForRelationship

public boolean hasCustomSplitPolicyForRelationship()
                                            throws IOException,
                                                   AutomationException
True if the feature class has a custom split policy for handling relationships.

Remarks

When a feature with related objects is split, the relationships are modified depending on the type (simple or composite) and cardinality of the relationship class. If the default behavior is not appropriate for a class, return True for the HasCustomSplitPolicy method. Through the CustomSplitPolicyForRelationship property, a custom split policy can be specified according to subtype and relationship.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
hasCustomSplitPolicyForRelationship in interface IFeatureClassEdit
Returns:
The hasCustomPolicy
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.editor.IShortTransactionObjectInspector

getCustomSplitPolicyForRelationship

public int getCustomSplitPolicyForRelationship(IRow row,
                                               IRelationshipClass relClass)
                                        throws IOException,
                                               AutomationException
The custom split policy for handling relationships.

Product Availability

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

Specified by:
getCustomSplitPolicyForRelationship in interface IFeatureClassEdit
Parameters:
row - A reference to a com.esri.arcgis.geodatabase.IRow (in)
relClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
Returns:
A com.esri.arcgis.geodatabase.esriRelationshipSplitPolicy constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

saveClass

public void saveClass(IStream stream)
               throws IOException,
                      AutomationException
Writes out to the stream, class information used to aid loading.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
saveClass in interface IPersistCustomFeaturesExtension
Parameters:
stream - 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.

loadClass

public void loadClass(IStream stream,
                      boolean[] canLoad)
               throws IOException,
                      AutomationException
Looks at the class information and determines if it can load the features.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

saveFeature

public void saveFeature(IStream stream,
                        IFeature feature)
                 throws IOException,
                        AutomationException
Writes out to the stream, feature infomation used to aid loading.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
saveFeature in interface IPersistCustomFeaturesExtension
Parameters:
stream - A reference to a com.esri.arcgis.system.IStream (in)
feature - A reference to a com.esri.arcgis.geodatabase.IFeature (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

loadFeature

public void loadFeature(IStream stream,
                        IFeature feature)
                 throws IOException,
                        AutomationException
Loads the feature information and updates the feature.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
loadFeature in interface IPersistCustomFeaturesExtension
Parameters:
stream - A reference to a com.esri.arcgis.system.IStream (in)
feature - A reference to a com.esri.arcgis.geodatabase.IFeature (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

relatedObjectCreated

public void relatedObjectCreated(IRelationshipClass relationshipClass,
                                 IObject objectThatWasCreated)
                          throws IOException,
                                 AutomationException
Notifies this object class that a related object was created.

Remarks

The RelationshipClass argument is useful for establishing new relationships. Since an object class may often participate in many relationships, the properties of RelationshipClass can be used to modify behavior of this method.

In order for this method to be called, the relationship class must have messaging set. If the object class which this class extension is associated with is the origin class in the relationship class, then the messaging should be set to Backward or Both. If the object class is the destination class in the relationship, then messaging should be set to Forward or Both.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
relatedObjectCreated in interface IRelatedObjectClassEvents
Parameters:
relationshipClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
objectThatWasCreated - 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.
See Also:
com.esri.arcgis.editor.IShortTransactionObjectInspector

onCreate

public void onCreate(IObjectClassEventsOnCreateEvent theEvent)
              throws IOException,
                     AutomationException
This event is fired when a new object is created in the object class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
onCreate in interface IObjectClassEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onDelete

public void onDelete(IObjectClassEventsOnDeleteEvent theEvent)
              throws IOException,
                     AutomationException
This event is fired when an object is deleted from the object class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
onDelete in interface IObjectClassEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onChange

public void onChange(IObjectClassEventsOnChangeEvent theEvent)
              throws IOException,
                     AutomationException
This event is fired when an object's attributes or geometry is updated.

Remarks

In the event that a feature should be deleted due to an OnChange event, it is not recommended that the event handler delete the feature itself. Instead, an exception should be thrown to the application, where it can be made responsible for deleting the feature.

The OnChange event is not fired during a Topology Validation for performance reasons as a large number of features may be changed during a Validate. In addition, features may be changed many times.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
onChange in interface IObjectClassEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.