ArcFM Solution Developer Guide
Miner.Interop Namespace (Miner.Interop.Geodatabase)
Inheritance Hierarchy
Classes
 ClassDescription
ClassMMArcFMDatabaseUpgradeInfoClass  
ClassMMArcFMDisconnectClass  
ClassMMComplexEdgeFeatureExtensionClass  
ClassMMDuctBankConfigClass  
ClassMMTableUtilsClass  
ClassMMWorkspaceManagerClass  
Interfaces
 InterfaceDescription
InterfaceID8EnumListItem  
InterfaceID8List The D8List functions as a container for list items, which are objects that implement the ID8ListItem interface.
InterfaceID8List2 This interface is implemented on anything that implements ID8List2. It returns all of the children in a list as an enumeration.
InterfaceID8ListCancelSort You can create an object implementing the IMMCancelCallback interface, and pass this object into the SortWithCancel method. During the sorting process, you can call Stopped with a value of true and the sort will discontinue the sorting process.
 
It does not undo a sort that has already completed.
InterfaceID8ListEx  
InterfaceID8ListItem This interface allows you to create list items which are contained by D8List objects.
InterfaceID8ListItemEx Assigns a bitmap to a specific list item.
InterfaceID8ListSortProperties  
InterfaceIMMAbandonAUStrategy This interface passes in two objects. You may pass in the original object (before it was abandoned) and the abandoned (or destination) object. The related objects associated with the original object may be transferred to the abandoned (destination) object.
InterfaceIMMAdoConnection Implement this interface on a custom login object. The IMMAdoConnection::Connection property returns the ADO connection that is used by the Open Session Manager and Open Workflow Manager tools to bypass the Process Framework login. If this ADO connection is not set or the custom login object doesn't implement this interface, the user will be prompted to login to Process Framework tools (Session Manager, Workflow Manager) separately.
InterfaceIMMArcFMCGO This interface distinguishes ArcFM Custom GeoObjects from Esri's. This interface does not contain any properties or methods.
InterfaceIMMArcFMDatabaseUpgradeInfo  
InterfaceIMMArcFMDatabaseUpgradeInfo2  
InterfaceIMMArcFMDisconnect  
InterfaceIMMAttrAUStrategy

This interface is used to create custom attribute autoupdate objects. An attribute AU is a quick way to add event-based attribute updates for field data.

Remember, these are applied to individual attributes in ArcFM Properties Field Info tab. Compare this to the IMMSpecialAUStrategy that are applied to the entire feature/object class under the ArcFM Properties Object Info tab in ArcCatalog.

InterfaceIMMAttrAUStrategy2  
InterfaceIMMAttrAUStrategyEx  
InterfaceIMMAutoUpdater  
InterfaceIMMAutoUpdater2  
InterfaceIMMAutoUpdater3  
InterfaceIMMAutoUpdaterInternal  
InterfaceIMMAutoUpdaterRowFunctions Use this interface to determine whether an object is currently being processed by another autoupdater. This information can be used to avoid circular updates between autoupdaters.
InterfaceIMMAutoValue

This interface stores ArcFM configurations such as autoupdaters, custom field editors, and validation rules. The type of configuration stored is determined in the EditEvent property. The mmEditEvent value set in the EditEvent property determines which IMMAutoValue properties are applicable.

In the example below, the code goes through all of the ID8ListItems that are children of the IMMSubtype to find those that are IMMAutoValue. These list items represent the autoupdaters in the order they are assigned.

//Example Implementation of IMMAutoValue
// Specify ObjectClass and SubtypeCode, remember all field properties are by subtype
   IMMSubtype subtype = configTopLevel.GetSubtypeForEdit(objectClass, 1);
            
   // IMMSubtype is an ID8List, with IMMAutoValues (among other things)
   ID8List subtypeList = subtype as ID8List;
   subtypeList.Reset();

   ID8ListItem listItem = subtypeList.Next(false);
   while (listItem != null)
   {
      if (listItem is IMMAutoValue)
      {
         IMMAutoValue autoValue = listItem as IMMAutoValue;
         if (autoValue.AutoGenID != null)
         {
            switch (autoValue.EditEvent)
            {
               case mmEditEvent.mmEventFeatureCreate:
               // Compare AutoValue to some value you are searching for
               if (String.Compare(autoValue.AutoGenID.Value.ToString(), 
                                    "{1B6A3EBD-BE25-4FA0-8818-91C843601B1D}",true) == 0)
                {
                    // Remove the AU
                    autoValue.AutoGenID = null;
                    autoValue = null;
                }
                break;
            case mmEditEvent.mmEventFeatureUpdate:
                break;
            case mmEditEvent.mmEventFeatureDelete:
                break;
          }
        }
     }
     listItem = subtypeList.Next(false);
   }
   configTopLevel.SaveFeatureClassToDB(objectClass);
InterfaceIMMCancelCallback
InterfaceIMMChangeDefaultVersion This interface is required when creating a custom login object. IMMChangeDefaultVersion sets the connection parameters and synchronizes the default connection information, leading to additional performance and scalability (e.g., opening a stored display doesn't require two SDE connections).
InterfaceIMMClassExtension  
InterfaceIMMCompliantClassExtension  
InterfaceIMMConfigTopLevel Use this interface to return features, relationship objects, and subtype information.
InterfaceIMMCoreEvents_Event  
InterfaceIMMDefaultConnection  
InterfaceIMMDefaultLoginObject The login object provided with ArcFM implements this interface to allow implementers to override the login object's settings.
InterfaceIMMDefaultLoginObject2 This interface provides a means to validate whether the ArcFM System Tables exist in the geodatabase.
InterfaceIMMDisplayNamer

Use this interface to create custom display name objects. These objects allow you to include multiple attribute values in a feature's display name.

IMMDisplayNamer returns the source row only. If you need the fully joined row for your display name object, use IMMJoinDisplayNamer.

InterfaceIMMDuctBankConfig This interface provides a description of the layout of a duct bank.
InterfaceIMMDuctBankConfig2 Extends the IMMDuctBankConfig interface.
InterfaceIMMDuctDefinition Describes the basic properties associated with a duct.
InterfaceIMMEditLogEntry3  
InterfaceIMMEnumField  
InterfaceIMMEnumObjectClass This interface allows you to navigate an enumeration of object classes.
InterfaceIMMEnumTable  
InterfaceIMMExportEdits2  
InterfaceIMMFeatureClass This MMConfigTopLevel object can be used to iterate for subtypes, which contain fields and settings. It also provides easy access to specific subtypes as needed.
InterfaceIMMFeatureClass3  
InterfaceIMMFeatureSplittingUtils This interface provides a single method for splitting linear features (in Miner.Interop.Geodatabase).
InterfaceIMMFeederWorkspace  
InterfaceIMMField This interface returns the fields on a feature class.
InterfaceIMMImportEdits4  
InterfaceIMMJoinDisplayNamer

Use this interface to create custom display name objects. These objects allow you to include multiple attribute values in a feature's display name.

IMMJoinDisplayNamer returns the fully joined row for your display name object, as opposed to IMMDisplayNamer, which returns only the source table row.

InterfaceIMMListItemConversion  
InterfaceIMMLoginObject Custom login objects can be written to handle special tasks that you might require when the user logs in to ArcFM. All login objects, including the MMDefaultLoginObject, must implement the IMMLoginObject interface.
InterfaceIMMModelNameManager ArcFM Solution components need the ability to manipulate model names for feature classes, fields, and tables. The Model Name Manager provides methods to programmatically retrieve or identify objects based on the model name, as well as modify the model names.
InterfaceIMMOrderedList This interface allows you to determine the way a list is ordered and sorted.
InterfaceIMMOrderedListItem This interface provides information about list items and allows you to determine the order in which they appear.
InterfaceIMMOrderedListProperties  
InterfaceIMMPersistentListItem Use this interface to store a list into a geodatabase. It contains all of the routines found in IMMSimplePersistentListItem in addition to a few others.
InterfaceIMMPersistentListItemEx This interface extends the IMMPersistentListItem interface.
InterfaceIMMPersistentXML This interface allows you to translate a list to or from XML.
InterfaceIMMPersistentXML2 This interface allows you to translate a list to or from XML. It differs from IMMPersistentXML in that it includes a property set that may be used to pass additional information to components that require more information (e.g., Network Adapter) before XML can be imported or exported.
InterfaceIMMPlugInVersion  
InterfaceIMMRelationshipAUStrategy This interface allows you to create custom relationship autoupdate objects. The relationship AU is a quick way to add event-based attribute updates for relationship classes.
InterfaceIMMRelationshipAUStrategyEx This interface provides an Enabled method which offers a quicker way to access the relationship's origin and destination classes and determine if the autoupdater should be enabled for the relationship. This is used to create custom relationship autoupdate objects.
InterfaceIMMRelationshipClass This interface accesses information about a relationship class.
InterfaceIMMSimplePersistentListItem A list may be stored in a COM persistence IStream if it implements this interface.
InterfaceIMMSpecialAUStrategy

IMMSpecialAUStrategy is obsolete. While this interface is still available for use (and custom code using this interface does still work), it may be deprecated in the future. It is recommended that you use IMMSpecialAUStrategyEx instead.

This interface allows you to create custom special autoupdate objects. A special AU differs from an attribute AU in that it is not associated with a field/event combination, but rather a feature/event combination.

InterfaceIMMSpecialAUStrategyEx This interface allows you to create custom special autoupdate objects. It provides the same functionality as the IMMSpecialAUStrategy interface. In addition, it offers the Enabled method and the ability to pass in additional information in the Execute method.
InterfaceIMMSubtype This interface provides access to fields within a specific subtype of a feature class.
InterfaceIMMSyncFeederFields  
InterfaceIMMTableResolver  
InterfaceIMMTableResolver2  
InterfaceIMMTableUtils  
InterfaceIMMWorkspaceManager The Workspace Manager operates as an IExtension object in both ArcMap and ArcCatalog. It will accept a number of properties to determine its behavior (e.g., create interactive mode, return edit workspace, include login workspace).
InterfaceIMMWorkspaceManagerMap  
InterfaceIModelNameManager Obsolete interface; use IMMModelNameManager instead.
InterfaceMMArcFMDatabaseUpgradeInfo  
InterfaceMMArcFMDisconnect  
InterfaceMMComplexEdgeFeatureExtension This class is used internally only.
InterfaceMMDuctBankConfig This is the topmost object in the blob field. It can have an MMDuctView attached to it.
InterfaceMMFeatureSplitUtils  
InterfaceMMTableUtils  
InterfaceMMWorkspaceManager  
Enumerations
 EnumerationDescription
EnumerationmmAutoUpdaterMode This enumeration is used by special autoupdaters and relationship autoupdaters. Use the enumeration in IMMSpecialAUStrategyEx::Execute and IMMRelationshipAUStrategy::Execute to specify the mode in which an autoupdater will be executed. For example, if an autoupdater should be executed only when Feeder Manager is running, the developer should check the eAUMode value for mmAUMFeederManager.
EnumerationmmAutoUpdaterSettings  
EnumerationmmCustomFieldEditorType This category allows the user to assign a specific type to custom field editors.
Enumerationmmd8ItemType This enumeration lists the types of ID8ListItem objects.
Enumerationmmd8ListItemType Indicates the type of CU: symbolized, non-symbolized, or non-GIS.
EnumerationmmEditEvent

This enumeration is used by: IMMSpecialAUStrategyEx::Enabled, IMMSpecialAUStrategyEx::Execute, IMMRelationshipAUStrategyEx::Enabled, and IMMRelationshipAUStrategy::Execute. This enumeration provides a list of edit events that may determine when an autoupdater is fired.

EnumerationmmSortType

This enumeration contains various values (algorithms) that can be used to determine how to sort an ID8LIst.

EnumerationmmWorkspaceOptions This enumeration allows users to pass options to IMMWorkspaceManager. There is no limit to the number of options that may be passed in. Use the sum of the values as a long integer to pass in to IMMWorkspaceManager::GetWorkspace as the Options argument.
EnumerationmmXMLFormat This enumeration lists the types of XML format that may be used during an export.
Remarks

See Also

Reference

Miner.Interop.Geodatabase Assembly

 

 


Send Comment