com.corticon.eclipse.core

## Interface IModelAPI

- All Known Subinterfaces:
    IAmbiguityCheckAPI, ICompletenessCheckAPI, IDatabaseAccessAPI, IDatabaseMappingAPI, IDatabaseMetadataAPI, IExpandCollapseAPI, IJavaMappingAPI, IJavaMetadataAPI, IOperationsModelAPI, IRuleflowDiagramModelAPI, IRuleflowModelAPI, IRulesheetModelAPI, IRulesheetTableModelAPI, IRuletestModelAPI, IRuletestTabFolderModelAPI, ITestsheetModelAPI, ITestsheetTreeSetModelAPI, IVocabularyModelAPI, IVocabularyTreeModelAPI

      public interface IModelAPI

  A Model API is a standardized interface for querying and manipulating a set of EMF model objects. The set of model objects are maintained in an editing domain.

  This is an abstract interface and must be extended for each specific model API. These model APIs are specified in other plug-ins.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `activate()` Activate the API's primary resource.
    `com.corticon.rulesemf.common.Annotation` | `addAnnotation(com.corticon.rulesemf.common.Annotatable aObject, java.lang.String aName, java.lang.String aValue)` Add annotation to given object.
    `void` | `addBatchedModelListener(IBatchedChangeListener aIBatchedChangedListener)` Add a batched EMF model listener (i.e., subscribe).
    `void` | `addLowLevelModelListener(org.eclipse.emf.edit.provider.INotifyChangedListener aINotifyChangedListener)` Add a low-level EMF model listener (i.e., subscribe).
    `void` | `addModelListener(org.eclipse.emf.edit.provider.INotifyChangedListener aINotifyChangedListener)` Add a low-level EMF model listener (i.e., subscribe).
    `void` | `addResourceListener(IResourceListener aIResourceListener)` Add a Resource listener (i.e., subscribe).
    `boolean` | `addView()` Add a new presentation metaphor (view) to the asset (API context object) represented by this API.
    `boolean` | `beginTransaction()` Method to begin a new transaction using a ChangeRecorder.
    `boolean` | `cancelTransaction()` Method to cancel a transaction.
    `boolean` | `canSetSupportedLocales(java.util.Locale[] aLocaleArray)` Returns `true` if the client program could successfully execute method setSupportedLocales using the supplied array of Locale instances.
    `void` | `closeResource(org.eclipse.emf.ecore.resource.Resource aResource)` Close the specified resource.
    `org.eclipse.emf.ecore.resource.Resource` | `createResource(org.eclipse.emf.common.util.URI aURIResource)` Using the specified URI, create a new Resource in the editing domain and return that Resource to the caller.
    `void` | `deleteAnnotation(com.corticon.rulesemf.common.Annotatable aObject, com.corticon.rulesemf.common.Annotation aAnnotation)` Delete given annotation from object
    `void` | `deleteAnnotation(com.corticon.rulesemf.common.Annotatable aObject, java.lang.String aName)` Delete annotation(s) with specific name
    `void` | `deleteAnnotation(com.corticon.rulesemf.common.Annotatable aObject, java.lang.String aName, java.lang.String aValue)` Delete annotation(s) with specific name and value
    `void` | `deleteResource(org.eclipse.emf.ecore.resource.Resource aResource)` Delete the specified Resource.
    `int` | `displayMessageBox(java.lang.String astrTitle, java.lang.String astrMessage, int aiStyleBits)` Display a message box to the user bearing the title, message and style characteristics specified.
    `void` | `dispose()` Dispose of this API to free up resources.
    `void` | `doPostLoadValidation()` Perform postLoad validation.
    `void` | `doSmartValidation()` Perform validation in a special way that compares the "before" and "after" messages associated with the asset.
    `boolean` | `endTransaction()` Method to end the current transaction.
    `boolean` | `endTransaction(boolean abRecord)` Method to end the current transaction.
    `void` | `flushCommandStack()` Flush the command stack, removing any undoable change events.
    `java.lang.String` | `formatValidationMessageLocation(com.corticon.rulesemf.common.InternationalValidationMessage aInternationalValidationMessage)` This method will return the appropriate message location text based on the current locale.
    `java.lang.String` | `formatValidationMessageText(com.corticon.rulesemf.common.InternationalValidationMessage aInternationalValidationMessage)` This method will return the appropriate message text based on the current locale.
    `java.util.List` | `getAllLocalesProvidingCompleteLocalization()` Returns a collection of Locale instances for locales which have complete localizations (i.e., that every localizable element has a localization in the specified locale).
    `java.lang.String` | `getAnnotation(com.corticon.rulesemf.common.Annotatable aObject, java.lang.String aName)` Return annotation value of a first annotation with given name
    `java.util.Collection` | `getAnnotations(com.corticon.rulesemf.common.Annotatable aObject)` Get all annotations for a given object.
    `java.util.Collection` | `getAnnotations(com.corticon.rulesemf.common.Annotatable aObject, java.lang.String aName)` Get all annotations with specific name for given object.
    `java.util.Collection` | `getAnnotations(com.corticon.rulesemf.common.Annotatable aObject, java.lang.String aName, java.lang.String aValue)` Get all annotations with specific name and value for given object.
    `org.eclipse.emf.ecore.EObject` | `getAPIContextObject()` Get the API context object, namely the root object of the primary Resource.
    `com.corticon.rulesemf.common.Asset` | `getAsset()` Get the asset object, which is normally the same as the API context object.
    `java.lang.Object` | `getBaseAttribute(java.util.List aListMultiValuedAttribute)` Given a multi-valued attribute, return the "base" value (index zero) if it exists in the specified list; otherwise, return `null`.
    `java.lang.String` | `getBaseAttributeString(java.util.List aListMultiValuedAttribute)` Given a multi-valued attribute, return the "base" value (index zero) if it exists in the specified list; otherwise, return `null`.
    `java.util.List` | `getBatchedModelListeners()` Returns the list of "batched" model listeners.
    `int` | `getBuildNumber()` Get the Build Number of the asset.
    `int` | `getBuildNumberOfLastValidationRulesChange()` Return the build number of the latest code change that affected the validation rules of this API.
    `org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain` | `getEditingDomain()` Getter for the editing domain.
    `java.util.List` | `getErrors(java.lang.Object aObject)` Get all validation errors for given object.
    `java.util.List` | `getErrors(java.lang.Object aObject, boolean abDemotion)` Get all validation errors for given object.
    `int` | `getIndexByLocale(java.util.Locale aLocale)` Return the index of the specified locale in the list of locales supported by this asset.
    `java.util.Locale` | `getLocale()` Get API Locale.
    `java.lang.Object` | `getLocalizedAttribute(java.util.List aListMultiValuedAttribute)` Return the best matching localization according to localization priorities.
    `java.lang.String` | `getLocalizedAttributeString(java.util.List aListMultiValuedAttribute)` Return the best matching localization according to localization priorities.
    `java.util.List` | `getLowLevelModelListeners()` Returns the list of low-level model listeners.
    `int` | `getMajorServiceNumber()` Get the Major Service Number of the asset.
    `int` | `getMajorVersionNumber()` Get the Major Version Number of the asset.
    `java.lang.String` | `getMessage(java.lang.String astrBundleKey)` Return the localized message corresponding to the specified bundle key.
    `java.lang.String` | `getMessage(java.lang.String astrBundleKey, java.util.Locale aLocale)` Return the localized message corresponding to the specified bundle key and locale.
    `java.lang.String` | `getMessageBase(java.lang.String astrKeyPrefix, java.lang.String astrLocalizedString)` Return the base message corresponding to the specified bundle key.
    `IMessageBoxDelegate` | `getMessageBoxDelegate()` Get the message box delegate for this API.
    `int` | `getMinorServiceNumber()` Get the Minor Service Number of the asset.
    `int` | `getMinorVersionNumber()` Get the Minor Version Number of the asset.
    `IModelAPIState` | `getModelAPIState()` Getter for model API state instance.
    `java.util.List` | `getModelListeners()` Returns the list of model listeners.
    `java.lang.String` | `getNewResourceName(org.eclipse.emf.common.util.URI aURIContainer, java.lang.String astrFileName, java.lang.String astrFileExtension)` Given the relative path of a container in the file system (project or folder), a "base" filename and a file extension, return a new unique filename (within that container) appending sequence numbers if needed to ensure uniqueness.
    `IPersistenceServicesDelegate` | `getPersistenceServicesDelegate()` Get the persistence services delegate for this API.
    `IPreferences` | `getPreferences()` Return the preferences service for this API.
    `org.eclipse.emf.ecore.resource.Resource` | `getPrimaryResource()` Get the "primary" resource of this API.
    `org.eclipse.emf.common.util.URI` | `getPrimaryResourceURI()` Return the "primary" resource URI.
    `IScrollableMessageDelegate` | `getScrollableMessageDelegate()` Get the scrollable message delegate for this API.
    `java.util.Locale[]` | `getSupportedLocales()` Return an array consisting of the Locales supported by this asset.
    `boolean` | `getSuppressBrokenLinkValidation()` Get the suppress broken link validation boolean of this Model
    `boolean` | `getSuppressValidation()` Returns the current validation suppress state.
    `java.lang.String` | `getToolTip(com.corticon.rulesemf.common.ValidatableObject aValidatableObject)` All validation messages are anchored in type ValidatableObject.
    `java.lang.String` | `getUpdateStamp()` Return the update stamp of the asset.
    `IUserInterfaceInfoDelegate` | `getUserInterfaceInfoDelegate()` Get the user interface info delegate for this API.
    `int` | `getValidationMessageCount(java.util.List aListValidationMessages, com.corticon.rulesemf.common.ValidationMessageSeverity aValidationMessageSeverity)` Return a count of the number of validation messages that have the specified severity level.
    `int` | `getValidationMessageCount(java.util.List aListValidationMessages, com.corticon.rulesemf.common.ValidationMessageSeverity aValidationMessageSeverity, boolean abDemotion)` Return a count of the number of validation messages that have the specified severity level.
    `int` | `getValidationMessageCount(com.corticon.rulesemf.common.ValidationMessageSeverity aValidationMessageSeverity)` Return a count of the number of validation messages that have the specified severity level.
    `int` | `getValidationMessageCount(com.corticon.rulesemf.common.ValidationMessageSeverity aValidationMessageSeverity, boolean abDemotion)` Return a count of the number of validation messages that have the specified severity level.
    `java.util.List` | `getValidationMessages()` Return a list of all validation messages associated with this API.
    `java.util.List<com.corticon.rulesemf.common.InternationalValidationMessage>` | `getValidationMessages(java.lang.String astrTextKey)` Return a list of all validation messages that have a given text key (message ID).
    `java.util.List` | `getWarnings(java.lang.Object aObject)` Get all validation warnings for given object.
    `java.util.List` | `getWarnings(java.lang.Object aObject, boolean abDemotion)` Get all validation warnings for given object.
    `void` | `handleException(java.lang.Throwable e)` This method will fire when an Exception occurs during a setter/getter method.
    `boolean` | `hasErrors()` Return `true` if the asset has any errors.
    `boolean` | `hasErrors(boolean abDemotion)` Return `true` if the asset has any errors.
    `boolean` | `hasErrors(java.util.List alistValidatableObject)` Determine if any of a list of ValidatableObject instance has any errors.
    `boolean` | `hasErrors(java.util.List alistValidatableObject, boolean abDemotion)` Determine if any of a list of ValidatableObject instance has any errors.
    `boolean` | `hasErrors(java.lang.Object aObject)` Check if a given object has validation errors.
    `boolean` | `hasErrors(java.lang.Object aObject, boolean abDemotion)` Check if a given object has validation errors.
    `boolean` | `hasErrorsOrWarnings()` Return `true` if the asset has any errors or warnings.
    `boolean` | `hasErrorsOrWarnings(boolean abDemotion)` Return `true` if the asset has any errors or warnings.
    `boolean` | `hasErrorsOrWarnings(java.util.List alistValidatableObject)` Determine if any of a list of ValidatableObject instance has any errors or warnings.
    `boolean` | `hasErrorsOrWarnings(java.util.List alistValidatableObject, boolean abDemotion)` Determine if any of a list of ValidatableObject instance has any errors or warnings.
    `boolean` | `hasErrorsOrWarnings(java.lang.Object aObject)` Return `true` if the object has any errors or warnings.
    `boolean` | `hasErrorsOrWarnings(java.lang.Object aObject, boolean abDemotion)` Return `true` if the object has any errors or warnings.
    `boolean` | `hasWarnings()` Return `true` if the asset has any warnings.
    `boolean` | `hasWarnings(boolean abDemotion)` Return `true` if the asset has any warnings.
    `boolean` | `hasWarnings(java.util.List alistValidatableObject)` Determine if any of a list of ValidatableObject instance has any warnings.
    `boolean` | `hasWarnings(java.util.List alistValidatableObject, boolean abDemotion)` Determine if any of a list of ValidatableObject instance has any warnings.
    `boolean` | `hasWarnings(java.lang.Object aObject)` Check if a given object has validation warnings.
    `boolean` | `hasWarnings(java.lang.Object aObject, boolean abDemotion)` Check if a given object has validation warnings.
    `boolean` | `isAPIStateEstablished()` Return `true` if the API state has been established.
    `boolean` | `isEnabledRedo()` Determine whether redo function should be enabled.
    `boolean` | `isEnabledUndo()` Determine whether undo function should be enabled.
    `boolean` | `isInhibitNotification()` Accessor method for indicator that controls EMF model change notification.
    `boolean` | `isLoaded()` Determine whether the primary resource has been specified and whether it is currently loaded.
    `boolean` | `isOperationModeNormal()` Determine whether operation mode is normal (i.e., no undo/redo in progress).
    `boolean` | `isOperationModeRedo()` Determine whether redo is in progress.
    `boolean` | `isOperationModeUndo()` Determine whether undo is in progress.
    `boolean` | `isPassive()` Determine whether the API is operating in passive mode.
    `boolean` | `isPostLoadInProgress()` Determine whether post load processing is currently in progress.
    `boolean` | `isPrimaryResourceSet()` Determine whether the primary resource has been explicitly set.
    `boolean` | `isReadOnly()` Get the ReadOnly flag for the asset.
    `boolean` | `isResourceActivated(org.eclipse.emf.ecore.resource.Resource aResource)` Check to determine whether the specified resource is activated.
    `boolean` | `isResourceConflict(org.eclipse.emf.ecore.resource.Resource aResource)` Determine whether the given Resource has a modification stamp on disk that differs from that which is recorded in the API.
    `boolean` | `isResourceDemandLoaded(org.eclipse.emf.ecore.resource.Resource aResource)` Check to determine whether the specified resource was demand-loaded via loadResource as opposed to lazy-loaded.
    `boolean` | `isResourceLoaded(org.eclipse.emf.ecore.resource.Resource aResource)` Determine whether the specified resource is loaded.
    `boolean` | `isScrollableMessageDelegateAvailable()` Check to determine whether scrollable message delegate is available.
    `boolean` | `isShowCanonicalValidationMessages()` Return an indication of whether canonical validation messages should be shown to the user.
    `boolean` | `isSuppressModifiedFlagUpdates()` Check to determine whether updates to the resource modified flag are being suppressed.
    `boolean` | `isSuppressPostLoad()` Returns the current postLoad suppression state.
    `boolean` | `isTransactionInProgress()` Return `true` if a transaction is currently in progress.
    `boolean` | `isValid()` Test the validity state of this asset.
    `boolean` | `isValid(boolean abDemotion)` Test the validity state of this asset.
    `org.eclipse.emf.ecore.resource.Resource` | `loadResource(java.lang.String astrResource)` Convenience method to load the the editing domain's resource set with the contents of the specified file.
    `org.eclipse.emf.ecore.resource.Resource` | `loadResource(org.eclipse.emf.common.util.URI aURIResource)` Convenience method to load the the editing domain's resource set with the contents of the specified file.
    `org.eclipse.emf.ecore.resource.Resource` | `loadResource(org.eclipse.emf.common.util.URI aURIResource, boolean abDemandLoad)` Convenience method to load the the editing domain's resource set with the contents of the specified file.
    `IModelAPI` | `newInstance()` A generic method that will return a new instance of a IModelAPI of the calling descendent class.
    `boolean` | `noOperation()` Execute no-operation command.
    `void` | `postLoad()` Perform any necessary functions after loading a resource.
    `void` | `postMethod()` This method will fire after any setter/getter will execute.
    `void` | `postMethod(boolean abRecord)` This method will fire after any setter/getter will execute.
    `void` | `postsave()` Perform any necessary functions after saving.
    `void` | `preMethod()` This method will fire before any setter/getter will execute.
    `void` | `presave()` Perform any necessary functions prior to saving.
    `void` | `redo()` Redo current changes.
    `org.eclipse.emf.ecore.resource.Resource` | `reloadResource(org.eclipse.emf.ecore.resource.Resource aResource)` Reload the specified resource (unload/load).
    `boolean` | `remapResource(org.eclipse.emf.common.util.URI aURIOld, org.eclipse.emf.common.util.URI aURINew)` Given an old URI, a new URI can unload the old Resource and load the new Resource.
    `boolean` | `remapResource(org.eclipse.emf.common.util.URI aURIOld, org.eclipse.emf.common.util.URI aURINew, IModelAPI aIModelAPIReferenced)` Deprecated. Third positional parameter is not used.
    `void` | `removeBatchedModelListener(IBatchedChangeListener aIBatchedChangedListener)` Remove an batched EMF model listener (i.e., un-subscribe).
    `void` | `removeLowLevelModelListener(org.eclipse.emf.edit.provider.INotifyChangedListener aINotifyChangedListener)` Remove a low-level EMF model listener (i.e., un-subscribe).
    `void` | `removeModelListener(org.eclipse.emf.edit.provider.INotifyChangedListener aINotifyChangedListener)` Remove an EMF model listener (i.e., un-subscribe).
    `void` | `removeResource(org.eclipse.emf.ecore.resource.Resource aResource)` Remove the specified resource from the resource set.
    `void` | `removeResourceListener(IResourceListener aIResourceListener)` Remove a resource listener (i.e., un-subscribe).
    `boolean` | `removeView()` Remove the presentation metaphor (view) from the asset (API context object) represented by this API.
    `boolean` | `renameResource(org.eclipse.emf.ecore.resource.Resource aResource, org.eclipse.emf.common.util.URI aURIResourceNew)` Rename the Resource identified by the specified URI.
    `boolean` | `rollbackTransaction()` Rollback the current transaction essentially leaving the API in it state as of the first beginTransaction.
    `void` | `saveAll()` Save all resource changes.
    `void` | `saveResource(org.eclipse.emf.ecore.resource.Resource aResource)` Save the contents of the specified resource to the file system with no special options.
    `void` | `setAnnotation(com.corticon.rulesemf.common.Annotatable aObject, java.lang.String aName, java.lang.String aValue)` Set annotation value.
    `void` | `setAPIContextObject(org.eclipse.emf.ecore.EObject aEObjectAPIContext)` Set the API context object, namely the root object of the primary Resource.
    `void` | `setAPIState(IModelAPI aIModelAPI)` Set this API's internal state identically to another API's state.
    `void` | `setBuildNumber(int aiBuildNumber)` Set the Build Number of the asset.
    `void` | `setEditingDomain(org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain aAdapterFactoryEditingDomain)` Setter for the editing domain.
    `void` | `setInhibitNotification(boolean abInhibitNotification)` Setter for indicator that controls EMF model change notification.
    `void` | `setLocale(java.util.Locale aLocale)` Set API Locale.
    `void` | `setMajorServiceNumber(int aiMajorServiceNumber)` Set the Major Service Number of the asset.
    `void` | `setMajorVersionNumber(int aiMajorVersionNumber)` Set the Major Version Number of the asset.
    `void` | `setMessageBoxDelegate(IMessageBoxDelegate aIMessageBoxDelegate)` Set the optional message box delegate for the API.
    `void` | `setMinorServiceNumber(int aiMinorServiceNumber)` Set the Minor Service Number of the asset.
    `void` | `setMinorVersionNumber(int aiMinorVersionNumber)` Set the Minor Version Number of the asset.
    `void` | `setModelAPIState(IModelAPIState aIModelAPIState)` Setter for model API state instance.
    `void` | `setModelListeners(java.util.List aListModelListeners)` Set the list of model listeners.
    `void` | `setPassive(boolean abPassive)` Set the passive mode indicator of this API.
    `void` | `setPersistenceServicesDelegate(IPersistenceServicesDelegate aIPersistenceServicesDelegate)` Set the optional persistence services delegate for the API.
    `void` | `setPostLoadInProgress(boolean abPostLoadInProgress)` Setter for post load in progress indicator.
    `void` | `setPreferencesDelegate(IPreferencesDelegate aIPreferencesDelegate)` Set the optional preferences delegate for the API.
    `void` | `setPrimaryResource(org.eclipse.emf.ecore.resource.Resource aResourcePrimary)` Set the primary resource of the API, typically the resource being maintained by an editor.
    `void` | `setReadOnly(boolean abReadOnly)` Set the ReadOnly flag for the asset.
    `void` | `setScrollableMessageDelegate(IScrollableMessageDelegate aIScrollableMessageDelegate)` Set the optional scrollable messages delegate for the API.
    `boolean` | `setSupportedLocales(java.util.Locale[] aLocaleArray)` Specify the set of locales supported by this asset using an array of Locale instances.
    `void` | `setSuppressBrokenLinkValidation(boolean abSuppressBrokenLinkValidation)` Set the suppress broken link validation boolean of this Model
    `void` | `setSuppressModifiedFlagUpdates(boolean abSuppressModifiedFlagUpdates)` Setter for suppress modified flag updates indicator.
    `void` | `setSuppressPostLoad(boolean abSuppressPostLoad)` Set this indicator to `true` to inhibit postLoad processing.
    `void` | `setSuppressValidation(boolean abSuppressValidation)` By setting this to true, the API will "validate" the Model when a change is made.
    `void` | `setUserInterfaceInfoDelegate(IUserInterfaceInfoDelegate aIUserInterfaceInfoDelegate)` Set the optional user interface info delegate for the API.
    `void` | `undo()` Undo current changes.
    `void` | `unloadResource(org.eclipse.emf.ecore.resource.Resource aResource)` Unload the specified resource.
    `void` | `validate()` Validate the asset contained within this API.
    `void` | `validateLicense()` This method will validate the License.

- - ### Method Detail

    - #### activate

          void activate()

      Activate the API's primary resource.

    - #### addAnnotation

          com.corticon.rulesemf.common.Annotation addAnnotation(com.corticon.rulesemf.common.Annotatable aObject,
                                                              java.lang.String aName,
                                                              java.lang.String aValue)

      Add annotation to given object. Annotation is a name/value pair where both name and value are strings.
      Parameters:
        `aObject` - Annotatable object
        `aName` - Annotation name
        `aValue` - Annotation value
      Returns:
        Annotation.

    - #### addBatchedModelListener

          void addBatchedModelListener(IBatchedChangeListener aIBatchedChangedListener)

      Add a batched EMF model listener (i.e., subscribe).
      Parameters:
        `aIBatchedChangedListener` - Batched listener instance to add to subscription list.

    - #### addLowLevelModelListener

          void addLowLevelModelListener(org.eclipse.emf.edit.provider.INotifyChangedListener aINotifyChangedListener)

      Add a low-level EMF model listener (i.e., subscribe).
      Parameters:
        `aINotifyChangedListener` - Listener instance to add to subscription list.

    - #### addModelListener

          void addModelListener(org.eclipse.emf.edit.provider.INotifyChangedListener aINotifyChangedListener)

      Add a low-level EMF model listener (i.e., subscribe).
      Parameters:
        `aINotifyChangedListener` - Listener instance to add to subscription list.

    - #### addResourceListener

          void addResourceListener(IResourceListener aIResourceListener)

      Add a Resource listener (i.e., subscribe).
      Parameters:
        `aIResourceListener` - Listener instance to add to subscription list.

    - #### addView

          boolean addView()

      Add a new presentation metaphor (view) to the asset (API context object) represented by this API.
      Returns:
        `true` if the command was successful.

    - #### beginTransaction

          boolean beginTransaction()

      Method to begin a new transaction using a ChangeRecorder. This method will automatically create a new ChangeRecorder if one has not yet been created. This method also manages the usage count, allowing multiple transactions to begin that share a single recorder.
      Returns:
        `true` if transaction successfully started.

    - #### cancelTransaction

          boolean cancelTransaction()

      Method to cancel a transaction. This method will reduce the usage count by 1 but will not record the transaction in the command stack.
      Returns:
        `true` if transaction successfully cancelled.

    - #### canSetSupportedLocales

          boolean canSetSupportedLocales(java.util.Locale[] aLocaleArray)

      Returns `true` if the client program could successfully execute method setSupportedLocales using the supplied array of Locale instances.
      Parameters:
        `aLocaleArray` - Array of proposed Locale instances.
      Returns:
        `true` if setSupportedLocales operation would be successful.

    - #### closeResource

          void closeResource(org.eclipse.emf.ecore.resource.Resource aResource)

      Close the specified resource.
      Parameters:
        `aResource` - Resource to be closed.

    - #### createResource

          org.eclipse.emf.ecore.resource.Resource createResource(org.eclipse.emf.common.util.URI aURIResource)

      Using the specified URI, create a new Resource in the editing domain and return that Resource to the caller.
      Parameters:
        `aURIResource` - URI of Resource to be created.
      Returns:
        Reference to new Resource.

    - #### deleteAnnotation

          void deleteAnnotation(com.corticon.rulesemf.common.Annotatable aObject,
                              com.corticon.rulesemf.common.Annotation aAnnotation)

      Delete given annotation from object
      Parameters:
        `aObject` - Annotatable object
        `aAnnotation` - Annotation to remove

    - #### deleteAnnotation

          void deleteAnnotation(com.corticon.rulesemf.common.Annotatable aObject,
                              java.lang.String aName)

      Delete annotation(s) with specific name
      Parameters:
        `aObject` - Annotatable object
        `aName` - Name of annotations that are to be removed

    - #### deleteAnnotation

          void deleteAnnotation(com.corticon.rulesemf.common.Annotatable aObject,
                              java.lang.String aName,
                              java.lang.String aValue)

      Delete annotation(s) with specific name and value
      Parameters:
        `aObject` - Annotatable object
        `aName` - Name of annotations that are to be removed
        `aValue` - Value of annotations that are to be removed

    - #### deleteResource

          void deleteResource(org.eclipse.emf.ecore.resource.Resource aResource)

      Delete the specified Resource. This involves removing the Resource from the ResourceSet and any other steps required by the persistence store.
      Parameters:
        `aResource` - Resource to be deleted.

    - #### displayMessageBox

          int displayMessageBox(java.lang.String astrTitle,
                              java.lang.String astrMessage,
                              int aiStyleBits)

      Display a message box to the user bearing the title, message and style characteristics specified. The style flags can be combined using the bitwise "or" operator to combine effects using the constants specified in this interface. Example:
      IMessageBoxDelegate.ICON_QUESTION | IMessageBoxDelegate.YES | IMessageBoxDelegate.NO
      Parameters:
        `astrTitle` - Title (typically appears at the top of the dialog window).
        `astrMessage` - Message to display in the body of the message box.
        `aiStyleBits` - Style specification.
      Returns:
        Integer number indicating which button was pressed.

    - #### dispose

          void dispose()

      Dispose of this API to free up resources.

    - #### doPostLoadValidation

          void doPostLoadValidation()

      Perform postLoad validation.

    - #### doSmartValidation

          void doSmartValidation()

      Perform validation in a special way that compares the "before" and "after" messages associated with the asset. If the set of validation messages is unchanged, the Resource is considered to be unmodified, even though technically it has been modified due to clearing/reinstating precisely the same messages.

    - #### endTransaction

          boolean endTransaction()

      Method to end the current transaction. This method will decrement the ChangeRecorder usage count; when the count reaches zero, this method will add a new command to the command stack, allowing the entire transaction to be subject to undo.
      Returns:
        `true` if transaction successfully completed.

    - #### endTransaction

          boolean endTransaction(boolean abRecord)

      Method to end the current transaction. This method will either record the transaction or discard the recorded data.
      Parameters:
        `abRecord` - `true` to record transaction in command stack.
      Returns:
        `true` if transaction successfully completed.

    - #### flushCommandStack

          void flushCommandStack()

      Flush the command stack, removing any undoable change events.

    - #### formatValidationMessageLocation

          java.lang.String formatValidationMessageLocation(com.corticon.rulesemf.common.InternationalValidationMessage aInternationalValidationMessage)

      This method will return the appropriate message location text based on the current locale.
      Parameters:
        `aInternationalValidationMessage` - International validation message.
      Returns:
        Localized message location text.

    - #### formatValidationMessageText

          java.lang.String formatValidationMessageText(com.corticon.rulesemf.common.InternationalValidationMessage aInternationalValidationMessage)

      This method will return the appropriate message text based on the current locale.
      Parameters:
        `aInternationalValidationMessage` - International validation message.
      Returns:
        Localized message text.

    - #### getAllLocalesProvidingCompleteLocalization

          java.util.List getAllLocalesProvidingCompleteLocalization()

      Returns a collection of Locale instances for locales which have complete localizations (i.e., that every localizable element has a localization in the specified locale). Any locale that has complete localizations may be designated as the "base" locale via method setSupportedLocales.
      Returns:
        List of Locale instances for which all elements have localizations.

    - #### getAnnotation

          java.lang.String getAnnotation(com.corticon.rulesemf.common.Annotatable aObject,
                                       java.lang.String aName)

      Return annotation value of a first annotation with given name
      Parameters:
        `aObject` - Annotatable object
        `aName` - Annotation name
      Returns:
        Annotation value.

    - #### getAnnotations

          java.util.Collection getAnnotations(com.corticon.rulesemf.common.Annotatable aObject)

      Get all annotations for a given object.
      Parameters:
        `aObject` - Annotatable object
      Returns:
        Collection of annotations.

    - #### getAnnotations

          java.util.Collection getAnnotations(com.corticon.rulesemf.common.Annotatable aObject,
                                            java.lang.String aName)

      Get all annotations with specific name for given object.
      Parameters:
        `aObject` - Annotatable object
        `aName` - Annotation name
      Returns:
        Collection of annotations.

    - #### getAnnotations

          java.util.Collection getAnnotations(com.corticon.rulesemf.common.Annotatable aObject,
                                            java.lang.String aName,
                                            java.lang.String aValue)

      Get all annotations with specific name and value for given object.
      Parameters:
        `aObject` - Annotatable object
        `aName` - Annotation name
        `aValue` - Annotation value
      Returns:
        Collection of annotations.

    - #### getAPIContextObject

          org.eclipse.emf.ecore.EObject getAPIContextObject()

      Get the API context object, namely the root object of the primary Resource.
      Returns:
        Reference to API context object.

    - #### getAsset

          com.corticon.rulesemf.common.Asset getAsset()

      Get the asset object, which is normally the same as the API context object. APIs may override this method if needed.
      Returns:
        Asset instance.

    - #### getBaseAttribute

          java.lang.Object getBaseAttribute(java.util.List aListMultiValuedAttribute)

      Given a multi-valued attribute, return the "base" value (index zero) if it exists in the specified list; otherwise, return `null`.
      Parameters:
        `List` - Multi-valued attribute list.
      Returns:
        Base value or `null` if no base value exists.

    - #### getBaseAttributeString

          java.lang.String getBaseAttributeString(java.util.List aListMultiValuedAttribute)

      Given a multi-valued attribute, return the "base" value (index zero) if it exists in the specified list; otherwise, return `null`.
      Parameters:
        `List` - Multi-valued attribute list.
      Returns:
        Base value or `null` if no base value exists.

    - #### getBatchedModelListeners

          java.util.List getBatchedModelListeners()

      Returns the list of "batched" model listeners.
      Returns:
        List of "batched" model listeners

    - #### getBuildNumber

          int getBuildNumber()

      Get the Build Number of the asset.
      Returns:
        Build number.

    - #### getBuildNumberOfLastValidationRulesChange

          int getBuildNumberOfLastValidationRulesChange()

      Return the build number of the latest code change that affected the validation rules of this API.
      Returns:
        Build number of last code change affecting validation rules in this API.

    - #### getEditingDomain

          org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain getEditingDomain()

      Getter for the editing domain.
      Returns:
        EditingDomain instance.

    - #### getErrors

          java.util.List getErrors(java.lang.Object aObject)

      Get all validation errors for given object.
      Parameters:
        `aObject` - Object to be tested.
      Returns:
        List of validation errors.

    - #### getErrors

          java.util.List getErrors(java.lang.Object aObject,
                                 boolean abDemotion)

      Get all validation errors for given object.
      Parameters:
        `aObject` - Object to be tested.
        `abDemotion` - `true` to take demotion into account.
      Returns:
        List of validation errors.

    - #### getIndexByLocale

          int getIndexByLocale(java.util.Locale aLocale)

      Return the index of the specified locale in the list of locales supported by this asset.
      Parameters:
        `aLocale` - Locale to be found in list.
      Returns:
        Index of specified locale, or -1 if locale is not supported.

    - #### getLocale

          java.util.Locale getLocale()

      Get API Locale.
      Returns:
        Locale in effect for this API.

    - #### getLocalizedAttribute

          java.lang.Object getLocalizedAttribute(java.util.List aListMultiValuedAttribute)

      Return the best matching localization according to localization priorities.
      Parameters:
        `aListMultiValuedAttribute` - Multi-valued attribute containing localized text.
      Returns:
        Best possible match, taking into account the localization priorities.

    - #### getLocalizedAttributeString

          java.lang.String getLocalizedAttributeString(java.util.List aListMultiValuedAttribute)

      Return the best matching localization according to localization priorities.
      Parameters:
        `aListMultiValuedAttribute` - Multi-valued attribute containing localized text.
      Returns:
        Best possible match, taking into account the localization priorities.

    - #### getLowLevelModelListeners

          java.util.List getLowLevelModelListeners()

      Returns the list of low-level model listeners.
      Returns:
        List of low-level model listeners

    - #### getMajorServiceNumber

          int getMajorServiceNumber()

      Get the Major Service Number of the asset.
      Returns:
        Major service number.

    - #### getMajorVersionNumber

          int getMajorVersionNumber()

      Get the Major Version Number of the asset.
      Returns:
        Major version number.

    - #### getMessage

          java.lang.String getMessage(java.lang.String astrBundleKey)

      Return the localized message corresponding to the specified bundle key.
      Parameters:
        `astrBundleKey` - Bundle key.
      Returns:
        Localized message from i18n bundle.

    - #### getMessage

          java.lang.String getMessage(java.lang.String astrBundleKey,
                                    java.util.Locale aLocale)

      Return the localized message corresponding to the specified bundle key and locale.
      Parameters:
        `astrBundleKey` - Bundle key.
        `aLocale` - Locale to retrieve.
      Returns:
        Localized message from i18n bundle.

    - #### getMessageBase

          java.lang.String getMessageBase(java.lang.String astrKeyPrefix,
                                        java.lang.String astrLocalizedString)

      Return the base message corresponding to the specified bundle key.
      Parameters:
        `astrKeyPrefix` - Bundle key prefix.
        `astrLocalizedString` - Localized String.
      Returns:
        Base message from i18n bundle.

    - #### getMessageBoxDelegate

          IMessageBoxDelegate getMessageBoxDelegate()

      Get the message box delegate for this API.
      Returns:
        Message box delegate or `null` if none has been specified.

    - #### getMinorServiceNumber

          int getMinorServiceNumber()

      Get the Minor Service Number of the asset.
      Returns:
        Minor service number.

    - #### getMinorVersionNumber

          int getMinorVersionNumber()

      Get the Minor Version Number of the asset.
      Returns:
        Minor version number.

    - #### getModelAPIState

          IModelAPIState getModelAPIState()

      Getter for model API state instance.
      Returns:
        Instance of IModelAPIState.

    - #### getModelListeners

          java.util.List getModelListeners()

      Returns the list of model listeners.
      Returns:
        List of model listeners

    - #### getNewResourceName

          java.lang.String getNewResourceName(org.eclipse.emf.common.util.URI aURIContainer,
                                            java.lang.String astrFileName,
                                            java.lang.String astrFileExtension)

      Given the relative path of a container in the file system (project or folder), a "base" filename and a file extension, return a new unique filename (within that container) appending sequence numbers if needed to ensure uniqueness.
      Parameters:
        `aURIContainer` - EMF URI of container.
        `astrFileName` - File name.
        `astrFileExtension` - File extension.
      Returns:
        New Ruleflow name.

    - #### getPersistenceServicesDelegate

          IPersistenceServicesDelegate getPersistenceServicesDelegate()

      Get the persistence services delegate for this API.
      Returns:
        Persistence services delegate or `null` if none has been specified.

    - #### getPreferences

          IPreferences getPreferences()

      Return the preferences service for this API.
      Returns:
        IPreferences instance.

    - #### getPrimaryResource

          org.eclipse.emf.ecore.resource.Resource getPrimaryResource()

      Get the "primary" resource of this API.
      Returns:
        Primary Resource instance.

    - #### getPrimaryResourceURI

          org.eclipse.emf.common.util.URI getPrimaryResourceURI()

      Return the "primary" resource URI. This is either the true URI of the the resource if it exists, or the proxy URI if the resource is missing.
      Returns:
        Primary Resource URI from either EMF Resource or proxy URI.

    - #### getScrollableMessageDelegate

          IScrollableMessageDelegate getScrollableMessageDelegate()

      Get the scrollable message delegate for this API.
      Returns:
        Instance of IScrollableMessageDelegate.

    - #### getSupportedLocales

          java.util.Locale[] getSupportedLocales()

      Return an array consisting of the Locales supported by this asset.
      Returns:
        Array containing Locale instances or `null`.

    - #### getSuppressBrokenLinkValidation

          boolean getSuppressBrokenLinkValidation()

      Get the suppress broken link validation boolean of this Model

    - #### getSuppressValidation

          boolean getSuppressValidation()

      Returns the current validation suppress state.
      Returns:
        `true` if validation is currently being suppressed.

    - #### getToolTip

          java.lang.String getToolTip(com.corticon.rulesemf.common.ValidatableObject aValidatableObject)

      All validation messages are anchored in type ValidatableObject. This method would find the messages in aValidatableObject, localize them for display and return the localized text to the caller. Mouse "hover" events could call this method.
      Parameters:
        `aValidatableObject` - ValidatableObject from which messages to be read

    - #### getUpdateStamp

          java.lang.String getUpdateStamp()

      Return the update stamp of the asset.
      Returns:
        Current asset update stamp or `null`.

    - #### getUserInterfaceInfoDelegate

          IUserInterfaceInfoDelegate getUserInterfaceInfoDelegate()

      Get the user interface info delegate for this API.
      Returns:
        User interface info delegate or `null` if none has been specified.

    - #### getValidationMessageCount

          int getValidationMessageCount(java.util.List aListValidationMessages,
                                      com.corticon.rulesemf.common.ValidationMessageSeverity aValidationMessageSeverity)

      Return a count of the number of validation messages that have the specified severity level.
      Parameters:
        `aListValidationMessages` - List of validation messages.
        `aValidationMessageSeverity` - Validation message severity.
      Returns:
        Count of messages bearing the specified severity level.

    - #### getValidationMessageCount

          int getValidationMessageCount(java.util.List aListValidationMessages,
                                      com.corticon.rulesemf.common.ValidationMessageSeverity aValidationMessageSeverity,
                                      boolean abDemotion)

      Return a count of the number of validation messages that have the specified severity level.
      Parameters:
        `aListValidationMessages` - List of validation messages.
        `aValidationMessageSeverity` - Validation message severity.
        `abDemotion` - `true` to take demotion into account.
      Returns:
        Count of messages bearing the specified severity level.

    - #### getValidationMessageCount

          int getValidationMessageCount(com.corticon.rulesemf.common.ValidationMessageSeverity aValidationMessageSeverity)

      Return a count of the number of validation messages that have the specified severity level.
      Parameters:
        `aValidationMessageSeverity` - Validation message severity.
      Returns:
        Count of messages bearing the specified severity level.

    - #### getValidationMessageCount

          int getValidationMessageCount(com.corticon.rulesemf.common.ValidationMessageSeverity aValidationMessageSeverity,
                                      boolean abDemotion)

      Return a count of the number of validation messages that have the specified severity level.
      Parameters:
        `aValidationMessageSeverity` - Validation message severity.
        `abDemotion` - `true` to take demotion into account.
      Returns:
        Count of messages bearing the specified severity level.

    - #### getValidationMessages

          java.util.List getValidationMessages()

      Return a list of all validation messages associated with this API. Typically, this is simply the collection of messages associated with the asset; however, in special cases, descendent classes may override this to provide messages as necessary.
      Returns:
        List of all validation messages associated with this API.

    - #### getValidationMessages

          java.util.List<com.corticon.rulesemf.common.InternationalValidationMessage> getValidationMessages(java.lang.String astrTextKey)

      Return a list of all validation messages that have a given text key (message ID).
      Parameters:
        `astrTextKey` - Text key to located.
      Returns:
        List List of all messages matching specified text key.

    - #### getWarnings

          java.util.List getWarnings(java.lang.Object aObject)

      Get all validation warnings for given object.
      Parameters:
        `aObject` - Object to be tested.
      Returns:
        List of validation warnings.

    - #### getWarnings

          java.util.List getWarnings(java.lang.Object aObject,
                                   boolean abDemotion)

      Get all validation warnings for given object.
      Parameters:
        `aObject` - Object to be tested.
        `abDemotion` - `true` to take demotion into account.
      Returns:
        List of validation warnings.

    - #### handleException

          void handleException(java.lang.Throwable e)

      This method will fire when an Exception occurs during a setter/getter method. This method will process the exception and/or forward the exception back to the caller.
      Parameters:
        `Throwable` - that needs to be processed

    - #### hasErrors

          boolean hasErrors()

      Return `true` if the asset has any errors.
      Returns:
        `true` if the asset has any errors.

    - #### hasErrors

          boolean hasErrors(boolean abDemotion)

      Return `true` if the asset has any errors.
      Parameters:
        `abDemotion` - `true` to take demotion into account.
      Returns:
        `true` if the asset has any errors.

    - #### hasErrors

          boolean hasErrors(java.util.List alistValidatableObject)

      Determine if any of a list of ValidatableObject instance has any errors.
      Parameters:
        `alistValidatableObject` - List of validatable object instances.
      Returns:
        `true`if any validatable object in the list has errors.``

    - #### hasErrors

          boolean hasErrors(java.util.List alistValidatableObject,
                          boolean abDemotion)

      Determine if any of a list of ValidatableObject instance has any errors.
      Parameters:
        `alistValidatableObject` - List of validatable object instances.
        `abDemotion` - `true` to take demotion into account.
      Returns:
        `true`if any validatable object in the list has errors.``

    - #### hasErrors

          boolean hasErrors(java.lang.Object aObject)

      Check if a given object has validation errors.
      Parameters:
        `aObject` - Object to be tested.
      Returns:
        `true`if the object has any validation errors.``

    - #### hasErrors

          boolean hasErrors(java.lang.Object aObject,
                          boolean abDemotion)

      Check if a given object has validation errors.
      Parameters:
        `aObject` - Object to be tested.
        `abDemotion` - `true` to take demotion into account.
      Returns:
        `true`if the object has any validation errors.``

    - #### hasErrorsOrWarnings

          boolean hasErrorsOrWarnings()

      Return `true` if the asset has any errors or warnings.
      Returns:
        `true` if the asset has any errors or warnings.

    - #### hasErrorsOrWarnings

          boolean hasErrorsOrWarnings(boolean abDemotion)

      Return `true` if the asset has any errors or warnings.
      Parameters:
        `abDemotion` - `true` to take demotion into account.
      Returns:
        `true` if the asset has any errors or warnings.

    - #### hasErrorsOrWarnings

          boolean hasErrorsOrWarnings(java.util.List alistValidatableObject)

      Determine if any of a list of ValidatableObject instance has any errors or warnings.
      Parameters:
        `alistValidatableObject` - List of validatable object instances.
      Returns:
        `true`if any validatable object in the list has errors or warnings.``

    - #### hasErrorsOrWarnings

          boolean hasErrorsOrWarnings(java.util.List alistValidatableObject,
                                    boolean abDemotion)

      Determine if any of a list of ValidatableObject instance has any errors or warnings.
      Parameters:
        `alistValidatableObject` - List of validatable object instances.
        `abDemotion` - `true` to take demotion into account.
      Returns:
        `true`if any validatable object in the list has errors or warnings.``

    - #### hasErrorsOrWarnings

          boolean hasErrorsOrWarnings(java.lang.Object aObject)

      Return `true` if the object has any errors or warnings.
      Parameters:
        `aObject` - Object to be tested.
      Returns:
        `true` if the object has any errors or warnings.

    - #### hasErrorsOrWarnings

          boolean hasErrorsOrWarnings(java.lang.Object aObject,
                                    boolean abDemotion)

      Return `true` if the object has any errors or warnings.
      Parameters:
        `aObject` - Object to be tested.
        `abDemotion` - `true` to take demotion into account.
      Returns:
        `true` if the object has any errors or warnings.

    - #### hasWarnings

          boolean hasWarnings()

      Return `true` if the asset has any warnings.
      Returns:
        `true` if the asset has any warnings.

    - #### hasWarnings

          boolean hasWarnings(boolean abDemotion)

      Return `true` if the asset has any warnings.
      Parameters:
        `abDemotion` - `true` to take demotion into account.
      Returns:
        `true` if the asset has any warnings.

    - #### hasWarnings

          boolean hasWarnings(java.util.List alistValidatableObject)

      Determine if any of a list of ValidatableObject instance has any warnings.
      Parameters:
        `alistValidatableObject` - List of validatable object instances.
      Returns:
        `true`if any validatable object in the list has warnings.``

    - #### hasWarnings

          boolean hasWarnings(java.util.List alistValidatableObject,
                            boolean abDemotion)

      Determine if any of a list of ValidatableObject instance has any warnings.
      Parameters:
        `alistValidatableObject` - List of validatable object instances.
        `abDemotion` - `true` to take demotion into account.
      Returns:
        `true`if any validatable object in the list has warnings.``

    - #### hasWarnings

          boolean hasWarnings(java.lang.Object aObject)

      Check if a given object has validation warnings.
      Parameters:
        `aObject` - Object to be tested.
      Returns:
        `true`if the object has any validation warnings.``

    - #### hasWarnings

          boolean hasWarnings(java.lang.Object aObject,
                            boolean abDemotion)

      Check if a given object has validation warnings.
      Parameters:
        `aObject` - Object to be tested.
        `abDemotion` - `true` to take demotion into account.
      Returns:
        `true`if the object has any validation warnings.``

    - #### isAPIStateEstablished

          boolean isAPIStateEstablished()

      Return `true` if the API state has been established.
      Returns:
        `true` if the API state is non-null.

    - #### isEnabledRedo

          boolean isEnabledRedo()

      Determine whether redo function should be enabled.
      Returns:
        `true` if redo function should be enabled.

    - #### isEnabledUndo

          boolean isEnabledUndo()

      Determine whether undo function should be enabled.
      Returns:
        `true` if undo function should be enabled.

    - #### isInhibitNotification

          boolean isInhibitNotification()

      Accessor method for indicator that controls EMF model change notification.
      Returns:
        `true` if EMF model change notifications are inhibited.

    - #### isLoaded

          boolean isLoaded()

      Determine whether the primary resource has been specified and whether it is currently loaded.
      Returns:
        `true` if primary resource is loaded.

    - #### isOperationModeNormal

          boolean isOperationModeNormal()

      Determine whether operation mode is normal (i.e., no undo/redo in progress).
      Returns:
        `true` if no undo/redo is in progress.

    - #### isOperationModeRedo

          boolean isOperationModeRedo()

      Determine whether redo is in progress.
      Returns:
        `true` if redo is in progress.

    - #### isOperationModeUndo

          boolean isOperationModeUndo()

      Determine whether undo is in progress.
      Returns:
        `true` if undo is in progress.

    - #### isPassive

          boolean isPassive()

      Determine whether the API is operating in passive mode. In passive mode, the API will not perform postLoad or validation updates.
      Returns:
        `true` if the API is operating in passive mode.

    - #### isPostLoadInProgress

          boolean isPostLoadInProgress()

      Determine whether post load processing is currently in progress.
      Returns:
        `true` if post load processing is currently in progress.

    - #### isPrimaryResourceSet

          boolean isPrimaryResourceSet()

      Determine whether the primary resource has been explicitly set.
      Returns:
        `true` if primary resource has been explicitly set.

    - #### isResourceActivated

          boolean isResourceActivated(org.eclipse.emf.ecore.resource.Resource aResource)

      Check to determine whether the specified resource is activated.
      Parameters:
        `aResource` - Resource to test.
      Returns:
        `true` if the specified resource is activated.

    - #### isResourceConflict

          boolean isResourceConflict(org.eclipse.emf.ecore.resource.Resource aResource)

      Determine whether the given Resource has a modification stamp on disk that differs from that which is recorded in the API. This method can be used to detect whether a given resource has been altered by a "foreign" editor.
      Parameters:
        `aResource` - Resource whose time stamp should be tested.
      Returns:
        `true` if disk resource modification stamp does not match API records.

    - #### isResourceDemandLoaded

          boolean isResourceDemandLoaded(org.eclipse.emf.ecore.resource.Resource aResource)

      Check to determine whether the specified resource was demand-loaded via loadResource as opposed to lazy-loaded.
      Parameters:
        `aResource` - Resource to test.
      Returns:
        `true` if the specified resource was demand-loaded.

    - #### isResourceLoaded

          boolean isResourceLoaded(org.eclipse.emf.ecore.resource.Resource aResource)

      Determine whether the specified resource is loaded.
      Parameters:
        `aResource` - Resource to test.
      Returns:
        `true` if specified resource is loaded.

    - #### isScrollableMessageDelegateAvailable

          boolean isScrollableMessageDelegateAvailable()

      Check to determine whether scrollable message delegate is available.
      Returns:
        `true` if scrollable message delegate is available.

    - #### isShowCanonicalValidationMessages

          boolean isShowCanonicalValidationMessages()

      Return an indication of whether canonical validation messages should be shown to the user. This method may be overridden by the descendent API if desired.
      Returns:
        `true` if canonical messages should be shown to user.

    - #### isSuppressModifiedFlagUpdates

          boolean isSuppressModifiedFlagUpdates()

      Check to determine whether updates to the resource modified flag are being suppressed.
      Returns:
        `true` if updates to modified flag are being suppressed.

    - #### isSuppressPostLoad

          boolean isSuppressPostLoad()

      Returns the current postLoad suppression state.
      Returns:
        `true` if postLoad is currently being suppressed.

    - #### isTransactionInProgress

          boolean isTransactionInProgress()

      Return `true` if a transaction is currently in progress.
      Returns:
        `true` if a transaction is currently in progress.

    - #### isReadOnly

          boolean isReadOnly()

      Get the ReadOnly flag for the asset.
      Returns:
        ReadOnly flag.

    - #### setReadOnly

          void setReadOnly(boolean abReadOnly)

      Set the ReadOnly flag for the asset.
      Parameters:
        `ReadOnly` - flag.

    - #### isValid

          boolean isValid()

      Test the validity state of this asset. Return `true` if the asset has no validation errors.
      Returns:
        `true` if asset is valid.

    - #### isValid

          boolean isValid(boolean abDemotion)

      Test the validity state of this asset. Return `true` if the asset has no validation errors.
      Parameters:
        `abDemotion` - `true` to take demotion into account.
      Returns:
        `true` if asset is valid.

    - #### loadResource

          org.eclipse.emf.ecore.resource.Resource loadResource(java.lang.String astrResource)

      Convenience method to load the the editing domain's resource set with the contents of the specified file.
      Parameters:
        `astrResource` - String path of resource to load.
      Returns:
        Resource that was loaded

    - #### loadResource

          org.eclipse.emf.ecore.resource.Resource loadResource(org.eclipse.emf.common.util.URI aURIResource)

      Convenience method to load the the editing domain's resource set with the contents of the specified file.
      Parameters:
        `aURIResource` - URI of resource to load.
      Returns:
        Resource that was loaded

    - #### loadResource

          org.eclipse.emf.ecore.resource.Resource loadResource(org.eclipse.emf.common.util.URI aURIResource,
                                                             boolean abDemandLoad)

      Convenience method to load the the editing domain's resource set with the contents of the specified file.
      Parameters:
        `aURIResource` - URI of resource to load.
        `abDemandLoad` - `true` to indicate that Resource is should be considered demand-loaded.
      Returns:
        Resource that was loaded

    - #### newInstance

          IModelAPI newInstance()

      A generic method that will return a new instance of a IModelAPI of the calling descendent class.
      Returns:
        IModelAPI A new instance of the current IModelAPI.

    - #### noOperation

          boolean noOperation()

      Execute no-operation command. This function can be serve as a placeholder during API development.
      Returns:
        `true` if the set command was successful.

    - #### postLoad

          void postLoad()

      Perform any necessary functions after loading a resource.

    - #### postMethod

          void postMethod()

      This method will fire after any setter/getter will execute. This will initially be used to do any post processing that needs to be done.

    - #### postMethod

          void postMethod(boolean abRecord)

      This method will fire after any setter/getter will execute. This will initially be used to do any post processing that needs to be done. This method will either record the transaction or discard the recorded data.
      Parameters:
        `abRecord` - `true` to record transaction in command stack.

    - #### postsave

          void postsave()

      Perform any necessary functions after saving.

    - #### preMethod

          void preMethod()

      This method will fire before any setter/getter will execute.
      Parameters:
        `boolean` -

    - #### presave

          void presave()

      Perform any necessary functions prior to saving.

    - #### redo

          void redo()

      Redo current changes.

    - #### reloadResource

          org.eclipse.emf.ecore.resource.Resource reloadResource(org.eclipse.emf.ecore.resource.Resource aResource)

      Reload the specified resource (unload/load).
      Parameters:
        `aResource` - Resource to be reloaded.
      Returns:
        Resource that was reloaded.

    - #### remapResource

          boolean remapResource(org.eclipse.emf.common.util.URI aURIOld,
                              org.eclipse.emf.common.util.URI aURINew)

      Given an old URI, a new URI can unload the old Resource and load the new Resource. This method can be used to re-establish relationships between Resource instances if they move from one place to another in the file system.

      For example, if the Vocabulary associated with a Rulesheet has been moved from one location to another in the file system, supply the following parameters:

      aURIOld - Old location of Vocabulary.
      aURINew - New location of Vocabulary.
      Parameters:
        `aURIOld` - URI of old asset.
        `aURINew` - URI of new asset.
      Returns:
        `true` if the command was successful.

    - #### remapResource

          boolean remapResource(org.eclipse.emf.common.util.URI aURIOld,
                              org.eclipse.emf.common.util.URI aURINew,
                              IModelAPI aIModelAPIReferenced)

      Deprecated. Third positional parameter is not used.
      Given an old URI, a new URI can unload the old Resource and load the new Resource. This method can be used to re-establish relationships between Resource instances if they move from one place to another in the file system.
      For example, if the Vocabulary associated with a Rulesheet has been moved from one location to another in the file system, supply the following parameters:
      aURIOld - Old location of Vocabulary.
      aURINew - New location of Vocabulary.
      Parameters:
        `aURIOld` - URI of old asset.
        `aURINew` - URI of new asset.
      Returns:
        `true` if the command was successful.

    - #### removeBatchedModelListener

          void removeBatchedModelListener(IBatchedChangeListener aIBatchedChangedListener)

      Remove an batched EMF model listener (i.e., un-subscribe).
      Parameters:
        `aIBatchedChangedListener` - Listener instance to remove from subscription list.

    - #### removeLowLevelModelListener

          void removeLowLevelModelListener(org.eclipse.emf.edit.provider.INotifyChangedListener aINotifyChangedListener)

      Remove a low-level EMF model listener (i.e., un-subscribe).
      Parameters:
        `aINotifyChangedListener` - Listener instance to remove from subscription list.

    - #### removeModelListener

          void removeModelListener(org.eclipse.emf.edit.provider.INotifyChangedListener aINotifyChangedListener)

      Remove an EMF model listener (i.e., un-subscribe).
      Parameters:
        `aINotifyChangedListener` - Listener instance to remove from subscription list.

    - #### removeResource

          void removeResource(org.eclipse.emf.ecore.resource.Resource aResource)

      Remove the specified resource from the resource set.
      Parameters:
        `aResource` - Resource to be removed.

    - #### removeResourceListener

          void removeResourceListener(IResourceListener aIResourceListener)

      Remove a resource listener (i.e., un-subscribe).
      Parameters:
        `aIResourceListener` - Resource listener instance to remove from subscription list.

    - #### removeView

          boolean removeView()

      Remove the presentation metaphor (view) from the asset (API context object) represented by this API.
      Returns:
        `true` if the command was successful.

    - #### renameResource

          boolean renameResource(org.eclipse.emf.ecore.resource.Resource aResource,
                               org.eclipse.emf.common.util.URI aURIResourceNew)

      Rename the Resource identified by the specified URI.
      Parameters:
        `aResource` - Resource to be renamed.
        `aURIResourceNew` - New Resource URI.
      Returns:
        `true` if the command was successful.

    - #### rollbackTransaction

          boolean rollbackTransaction()

      Rollback the current transaction essentially leaving the API in it state as of the first beginTransaction.

    - #### saveAll

          void saveAll()

      Save all resource changes.

    - #### saveResource

          void saveResource(org.eclipse.emf.ecore.resource.Resource aResource)

      Save the contents of the specified resource to the file system with no special options.
      Parameters:
        `aResource` - Resource instance to save

    - #### setAnnotation

          void setAnnotation(com.corticon.rulesemf.common.Annotatable aObject,
                           java.lang.String aName,
                           java.lang.String aValue)

      Set annotation value.
      If there is no annotation with given name, it is added.
      If there is exactly one annotation with given name, the value is changed.
      If there is more than one annotation with given name, the first annotation's value is changed, and other annotations with this name are removed.
      Parameters:
        `aObject` - Annotatable object
        `aName` - Annotation name
        `aValue` - Annotation value

    - #### setAPIContextObject

          void setAPIContextObject(org.eclipse.emf.ecore.EObject aEObjectAPIContext)

      Set the API context object, namely the root object of the primary Resource.
      Parameters:
        `aEObjectAPIContext` - Reference to API context object.

    - #### setAPIState

          void setAPIState(IModelAPI aIModelAPI)

      Set this API's internal state identically to another API's state. This effectively copies the editing domain, delegates and listeners in one easy step.
      Parameters:
        `aIModelAPI` - Model API to use as source for state information.

    - #### setBuildNumber

          void setBuildNumber(int aiBuildNumber)

      Set the Build Number of the asset.
      Parameters:
        `aiBuildNumber` - Build number.

    - #### setEditingDomain

          void setEditingDomain(org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain aAdapterFactoryEditingDomain)

      Setter for the editing domain. Specifies the editing domain upon which this API operates.
      Parameters:
        `aAdapterFactoryEditingDomain` - Instance of the editing domain.

    - #### setInhibitNotification

          void setInhibitNotification(boolean abInhibitNotification)

      Setter for indicator that controls EMF model change notification.
      Parameters:
        `abInhibitNotification` - `true` to inhibit EMF model change notifications.

    - #### setLocale

          void setLocale(java.util.Locale aLocale)

      Set API Locale.
      Parameters:
        `Locale` - for this API.

    - #### setMajorServiceNumber

          void setMajorServiceNumber(int aiMajorServiceNumber)

      Set the Major Service Number of the asset.
      Parameters:
        `aiMajorServiceNumber` - Major service number.

    - #### setMajorVersionNumber

          void setMajorVersionNumber(int aiMajorVersionNumber)

      Set the Major Version Number of the asset.
      Parameters:
        `aiMajorVersionNumber` - Major version number.

    - #### setMessageBoxDelegate

          void setMessageBoxDelegate(IMessageBoxDelegate aIMessageBoxDelegate)

      Set the optional message box delegate for the API.
      Parameters:
        `aIMessageBoxDelegate` - Message box delegate instance.

    - #### setMinorServiceNumber

          void setMinorServiceNumber(int aiMinorServiceNumber)

      Set the Minor Service Number of the asset.
      Parameters:
        `aiMinorServiceNumber` - Minor service number.

    - #### setMinorVersionNumber

          void setMinorVersionNumber(int aiMinorVersionNumber)

      Set the Minor Version Number of the asset.
      Parameters:
        `aiMinorVersionNumber` - Minor version number.

    - #### setModelAPIState

          void setModelAPIState(IModelAPIState aIModelAPIState)

      Setter for model API state instance.
      Parameters:
        `aIModelAPIState` - Model API state instance.

    - #### setModelListeners

          void setModelListeners(java.util.List aListModelListeners)

      Set the list of model listeners.
      Parameters:
        `aListModelListeners` - List of model listeners.

    - #### setPassive

          void setPassive(boolean abPassive)

      Set the passive mode indicator of this API. In passive mode the API will not perform automatic postLoad or validation functions.
      Parameters:
        `abPassive` - `true` to set passive mode.

    - #### setPersistenceServicesDelegate

          void setPersistenceServicesDelegate(IPersistenceServicesDelegate aIPersistenceServicesDelegate)

      Set the optional persistence services delegate for the API.
      Parameters:
        `aIPersistenceServicesDelegate` - Persistence services delegate instance.

    - #### setPostLoadInProgress

          void setPostLoadInProgress(boolean abPostLoadInProgress)

      Setter for post load in progress indicator.
      Parameters:
        `abPostLoadInProgress` - `true` to indicate that post load is in progress.

    - #### setPreferencesDelegate

          void setPreferencesDelegate(IPreferencesDelegate aIPreferencesDelegate)

      Set the optional preferences delegate for the API.
      Parameters:
        `aIPreferencesDelegate` - Preferences delegate instance.

    - #### setPrimaryResource

          void setPrimaryResource(org.eclipse.emf.ecore.resource.Resource aResourcePrimary)

      Set the primary resource of the API, typically the resource being maintained by an editor.
      Parameters:
        `aResourcePrimary` - Primary Resource.

    - #### setScrollableMessageDelegate

          void setScrollableMessageDelegate(IScrollableMessageDelegate aIScrollableMessageDelegate)

      Set the optional scrollable messages delegate for the API.
      Parameters:
        `aIScrollableMessageDelegate` - Message box delegate instance.

    - #### setSupportedLocales

          boolean setSupportedLocales(java.util.Locale[] aLocaleArray)

      Specify the set of locales supported by this asset using an array of Locale instances. The first Locale in the array will be treated as the base locale.
      Parameters:
        `aLocaleArray` - Array of Locale instances.
      Returns:
        `true` if the transaction was successful.

    - #### setSuppressBrokenLinkValidation

          void setSuppressBrokenLinkValidation(boolean abSuppressBrokenLinkValidation)

      Set the suppress broken link validation boolean of this Model

    - #### setSuppressModifiedFlagUpdates

          void setSuppressModifiedFlagUpdates(boolean abSuppressModifiedFlagUpdates)

      Setter for suppress modified flag updates indicator.
      Parameters:
        `abSuppressModifiedFlagUpdates` - `true` to set suppress modified flag updates indicator.

    - #### setSuppressPostLoad

          void setSuppressPostLoad(boolean abSuppressPostLoad)

      Set this indicator to `true` to inhibit postLoad processing. This is particularly useful for new assets, because EMF signals that an asset is being loaded when in fact it is being created.
      Parameters:
        `abSuppressPostLoad` - `true` to suppress postLoad processing.

    - #### setSuppressValidation

          void setSuppressValidation(boolean abSuppressValidation)

      By setting this to true, the API will "validate" the Model when a change is made. This is useful when generating a new Model but you want to postpone the validation until after you have completed everything. Once the creation is complete, set this boolean back to false and call the validate method directly on the Model.
      Parameters:
        `abSuppressValidation` - `true` to suppress validation.

    - #### setUserInterfaceInfoDelegate

          void setUserInterfaceInfoDelegate(IUserInterfaceInfoDelegate aIUserInterfaceInfoDelegate)

      Set the optional user interface info delegate for the API.
      Parameters:
        `aIUserInterfaceInfoDelegate` - User interface info delegate instance.

    - #### undo

          void undo()

      Undo current changes.

    - #### unloadResource

          void unloadResource(org.eclipse.emf.ecore.resource.Resource aResource)

      Unload the specified resource. This essentially resets the resource to unchanged state.
      Parameters:
        `aResource` - Resource to unload.

    - #### validate

          void validate()

      Validate the asset contained within this API. Descendent classes must override this method to define their validation criteria.

    - #### validateLicense

          void validateLicense()

      This method will validate the License. If the license is invalid or expired, this method will throw a LicenseException (Runtime).

Copyright © 2005-2013 Progress Software Corporation and/or its subsidiaries and affiliates. All rights reserved.