com.corticon.eclipse.server.core

## Interface ICcServer

-     public interface ICcServer

  `ICcServer` client programs to initialize the Corticon Server, to manage decision services, and to invoke decision services. The Corticon Server is the entry point to a managed set of decision services called Ruleflows. Each Ruleflow has its own Corticon engine (also known as the Reactor) pool. Each Corticon engine pool is keyed by a logical decision "Service" name used to identify the target service on an incoming request. Each Corticon engine pool is associated with one and only one Ruleflow (decision service). Clients use `ICcServerFactory` to create an instance of type `ICcServer` which is used it to deploy one or more decision services using either a Corticon Deployment Descriptor file (CDD) or individually via method `addDecisionService`. Once the Corticon Server is initialized, clients can invoke `execute` methods to process requests. Various overloads of `execute` are offered to allow input via JDOM XML Documents, XML Strings or Java Business Objects.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `ICcServer.LogLevel` Log level enumeration to used control the logging level for the ICcServer instance.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `CCPROPERTY_BUILD_NUMBER` Explicit property name that is used to get the Build Number of the CcServer
    `static java.lang.String` | `CCPROPERTY_FULL_VERSION_NUMBER` Explicit property name that is used to get the Full Version Number of the CcServer
    `static java.lang.String` | `CCPROPERTY_SERVICE_RELEASE_NUMBER` Explicit property name that is used to get the Service Release Number of the CcServer
    `static java.lang.String` | `CCPROPERTY_VERSION_NUMBER` Explicit property name that is used to get the Version Number of the CcServer
    `static java.lang.String` | `DATABASE_ACCESS_NONE` Indicates that a Decision Service does not access an Enterprise database.
    `static java.lang.String` | `DATABASE_ACCESS_READ_ONLY` Indicates that a Decision Service has read only access to an Enterprise database.
    `static java.lang.String` | `DATABASE_ACCESS_READ_WRITE` Indicates that a Decision Service has read/write access to an Enterprise database.
    `static java.lang.String` | `DATABASE_ACCESS_RETURN_ALL_ENTITY_INSTANCES` Indicates that all entity instances in working memory, including the ones retrieved from the database are returned as part of the response.
    `static java.lang.String` | `DATABASE_ACCESS_RETURN_INCOMING_NEW_ENTITY_INSTANCES` Indicates that only entity instances that arrived as part of the incoming request and those instantiated by rules are returned as part of the response.
    `static java.lang.String` | `JSON_EXECUTION_RUNTIME_PROPERTY_ENABLE_RULETRACE` JSON execution runtime property that is used enable Ruletrace for only this execution.
    `static java.lang.String` | `JSON_EXECUTION_RUNTIME_PROPERTY_LOCALE` JSON execution runtime property that is used to get the Decision Service's execution locale.
    `static java.lang.String` | `JSON_EXECUTION_RUNTIME_PROPERTY_RESTRICT_RESPONSE_TO_RULEMESSAGES_ONLY` JSON execution runtime property that is used to get the Decision Service's restrict the CorticonResponse to only RuleMessages.
    `static java.lang.String` | `JSON_EXECUTION_RUNTIME_PROPERTY_RESTRICT_RULEMESSAGES_INFO` JSON execution runtime property that is used to get the Decision Service's restrict Info RuleMessages.
    `static java.lang.String` | `JSON_EXECUTION_RUNTIME_PROPERTY_RESTRICT_RULEMESSAGES_VIOLATION` JSON execution runtime property that is used to get the Decision Service's restrict Violation RuleMessages.
    `static java.lang.String` | `JSON_EXECUTION_RUNTIME_PROPERTY_RESTRICT_RULEMESSAGES_WARNING` JSON execution runtime property that is used to get the Decision Service's restrict Warning RuleMessages.
    `static java.lang.String` | `JSON_EXECUTION_RUNTIME_PROPERTY_TIMEZONE_ID`
    `static java.lang.String` | `LICENSE_BATCHPROCESSING_ENABLED` Property name that is used to get the value that enables database batch processing inside a Decision Service.
    `static java.lang.String` | `LICENSE_DATE_GRANTED` Property name that is used to get the date the Server License was issued.
    `static java.lang.String` | `LICENSE_DEACTIVATE_DATE` Property name that is used to get the date when the Corticon Server expires.
    `static java.lang.String` | `LICENSE_DEACTIVATE_DATE_OVERRIDE` Property name that is used to get the value that disables license expiration.
    `static java.lang.String` | `LICENSE_DOTNET_ENABLED` Property name that is used to determine if the Corticon Server can run .Net
    `static java.lang.String` | `LICENSE_EXECUTION_QUEUE_SIZE` Property name that is used to determine how many concurrent executions can occur in the CcServer
    `static java.lang.String` | `LICENSE_LOCATION` Property name that is used to get the location of the License file on the Classpath.
    `static java.lang.String` | `LICENSE_MAX_NUMBER_OF_RULES` Property name that is used to get max number of rules that can be deployed on the Corticon Server.
    `static java.lang.String` | `LICENSE_MAX_POOLS` Property name that is used to get max number of Decision Services that can be deployed on the Corticon Server.
    `static java.lang.String` | `LICENSE_MAX_REACTORS` Property name that is used to get max number of Reactor instances that can be in each Decision Service Pool.
    `static java.lang.String` | `LICENSE_OEM_NAME` Property name that is used to get the registered name associated with the Server License.
    `static java.lang.String` | `LICENSE_SINGLE_EXECUTION_DB_ACCESS_ENABLED` Property name that is used to get the value that enables single database executions.
    `static java.lang.String` | `LICENSE_SINGLE_EXECUTION_ENABLED` Property name that is used to get the value that enables single non-database executions.
    `static java.lang.String` | `LOG_FILTERS_ACCEPT` Property name that is used to get or set log marker filters.
    `static java.lang.String` | `LOG_LEVEL` Property name that is used to get or set the log level.
    `static java.lang.String` | `LOG_PATH` Property name that is used to get or set the log file path.
    `static java.lang.String` | `LOG_PER_DS` Property name that is used to get or set decision service specific logging.
    `static java.lang.String` | `LOG_ROLLOVER` Property name that is used to get or set log file daily rollover behavior.
    `static java.lang.String` | `LOG_ROLLOVERS_TO_KEEP` Property name that is used to get or set the maximum number of rollover log files.
    `static java.lang.String` | `PROPERTY_ACTIVE_POOL` Property name that is used to get the active value for a Decision Service.
    `static java.lang.String` | `PROPERTY_AUTO_RELOAD` Property name that is used to get the auto reload value for a Decision Service.
    `static java.lang.String` | `PROPERTY_CURRENTLY_RUNNING_IN_BATCH_MODE` Property name that is used to get the running in batch mode value for a Decision Service.
    `static java.lang.String` | `PROPERTY_DATABASE_ACCESS_CACHING_ENABLED` Property name that is used to get the value that tells whether this Decision Service has Caching turned on
    `static java.lang.String` | `PROPERTY_DATABASE_ACCESS_MODE` Property name that is used to get the database access mode for a Decision Service.
    `static java.lang.String` | `PROPERTY_DATABASE_ACCESS_RETURN_ENTITIES_MODE` Property name that is used to get the return policy for database access executions for a Decision Service.
    `static java.lang.String` | `PROPERTY_DATASOURCE_CONFIG_FILE_CONTENTS` Property name that is used to get the string representation of the datasource configuration properties object for a Decision Service.
    `static java.lang.String` | `PROPERTY_DATASOURCE_CONFIG_FILE_PATH` Property name that is used to get the string representation of the datasource xml file object for a Decision Service.
    `static java.lang.String` | `PROPERTY_DECISION_SERVICE_DETAILS` Property name that is used to get the details of the Decision Service in a String representation of a JSONObject.
    `static java.lang.String` | `PROPERTY_DECISION_SERVICE_HAS_RULEASSETS_CHANGED` Property name that is used to check to see if any of the associated RuleAssets have changed based on their timestamp.
    `static java.lang.String` | `PROPERTY_DECISION_SERVICE_QUERY_SERVICE_LAST_LOAD` Property name that is used to determine when the Query Service was last loaded for a Decision Service.
    `static java.lang.String` | `PROPERTY_DEFAULT_TOP_LEVEL_ENTITY_NAMES` Property name that is used to get the list of defaulted Top Level Entities that were set during compilation of the .eds file.
    `static java.lang.String` | `PROPERTY_DEFINED_TOP_LEVEL_ENTITY_NAMES` Property name that is used to get the list of defined Top Level Entities that were set during deployment.
    `static java.lang.String` | `PROPERTY_DEPLOYED_EDS` Property name that is used to determine if the deployment of the Decision Service used a .eds file instead of a .erf file.
    `static java.lang.String` | `PROPERTY_DEPLOYMENT_TIMESTAMP` Property name that is used to get the time when the Decision Service was deployed.
    `static java.lang.String` | `PROPERTY_EDS_FILE_TIMESTAMP` Property name that is used to get the time of the .eds file's timestamp
    `static java.lang.String` | `PROPERTY_EDS_HAS_WSDL` Property name that is used to get whether or not the EDS file contains a WSDL document
    `static java.lang.String` | `PROPERTY_EDS_URI` Property name that is used to get the path of the Rule Asset (.erf file, if a .eds file was deployed).
    `static java.lang.String` | `PROPERTY_EDS_URI_RELATIVE` Property name that is used to get the relative path of the deployed EDS in relation to the CcServerSandbox Directory.
    `static java.lang.String` | `PROPERTY_EFFECTIVE_END_DATE` Property name that is used to get the effective end date for a Decision Service.
    `static java.lang.String` | `PROPERTY_EFFECTIVE_START_DATE` Property name that is used to get the effective start date for a Decision Service.
    `static java.lang.String` | `PROPERTY_EXECUTION_DENORMALIZE_JSON_RESPONSE` Property name that is used to get the value that tells whether the Decision Service will denormalize the JSON Response before returning it back to caller
    `static java.lang.String` | `PROPERTY_EXECUTION_ENABLE_RULETRACE`
    `static java.lang.String` | `PROPERTY_EXECUTION_LOCALE` Property name that is used to get the Decision Service's execution locale.
    `static java.lang.String` | `PROPERTY_EXECUTION_RESTRICT_RESPONSE_TO_RULEMESSAGES_ONLY` Property name that is used to inform the Decision Service's execution to restrict the output to only contain Rule Messages.
    `static java.lang.String` | `PROPERTY_EXECUTION_RESTRICT_RULEMESSAGES_INFO` Property name that is used to inform the Decision Service's execution to restrict Info RuleMessages.
    `static java.lang.String` | `PROPERTY_EXECUTION_RESTRICT_RULEMESSAGES_VIOLATION` Property name that is used to inform the Decision Service's execution to restrict Violation RuleMessages.
    `static java.lang.String` | `PROPERTY_EXECUTION_RESTRICT_RULEMESSAGES_WARNING` Property name that is used to inform the Decision Service's execution to restrict Warning RuleMessages.
    `static java.lang.String` | `PROPERTY_EXECUTION_TIMEZONE`
    `static java.lang.String` | `PROPERTY_IS_DEPLOYED` Property name that is used to determine if a particular Decision Service is deployed..
    `static java.lang.String` | `PROPERTY_LAST_EXECUTION_TIMESTAMP` Property name that is used to get the timestamp of the last execution against a specific Decision Service.
    `static java.lang.String` | `PROPERTY_LOADED_FROM_CDD` Property name that is used to get the loaded from CDD value for a Decision Service.
    `static java.lang.String` | `PROPERTY_MAJOR_VERSION_NUMBER` Property name that is used to get the version number for a Decision Service.
    `static java.lang.String` | `PROPERTY_MAX_POOL_SIZE` Property name that is used to get the maximum pool size for a Decision Service.
    `static java.lang.String` | `PROPERTY_MESSAGE_STRUCTURE_TYPE` Property name that is used to get the message structure type for a Decision Service.
    `static java.lang.String` | `PROPERTY_MINOR_VERSION_NUMBER` Property name that is used to get the version number for a Decision Service.
    `static java.lang.String` | `PROPERTY_NUMBER_OF_RULES_DEPLOYED` Property name that is used to get the number of rules deployed in the Decision Service.
    `static java.lang.String` | `PROPERTY_PATH_TO_CDD` Property name that is used to get the path to CDD value for a Decision Service.
    `static java.lang.String` | `PROPERTY_REACTORS_CURRENT_STATE` Property name that is used to get a description of the current state of all the Reactors for the Decision Service
    `static java.lang.String` | `PROPERTY_REACTORS_CURRENTLY_PROCESSING` Property name that is used to get the number of reactors that are currently processing for a Decision Service.
    `static java.lang.String` | `PROPERTY_REACTORS_CURRENTLY_QUEUED` Property name that is used to get the number of reactors that are waiting in the Execution Queie
    `static java.lang.String` | `PROPERTY_REACTORS_WAITING_IN_POOL` Property name that is used to get the number of available reactors that are waiting Decision Service.
    `static java.lang.String` | `PROPERTY_RULE_CATALOG` Returns a JSONArray of all the Rules associated with this Decision Service
    `static java.lang.String` | `PROPERTY_RULEASSET_URI` Property name that is used to get the path of the Rule Asset (.erf file or .eds file that was deployed).
    `static java.lang.String` | `PROPERTY_TOTAL_EXECUTION_COUNT` Property name that is used to get the total execution count for specific Decision Service.
    `static java.lang.String` | `PROPERTY_TOTAL_EXECUTION_TIME` Property name that is used to get the total execution time for specific Decision Service.
    `static java.lang.String` | `PROPERTY_VERSION_LABEL` Property name that is used to get the version label for a Decision Service.
    `static java.lang.String` | `PROPERTY_VERSION_NUMBER` Property name that is used to get the version number for a Decision Service.
    `static java.lang.String` | `PROPERTY_VOCABULARY_METADATA` Property name that is used to return the vocabulary metadata for the specified Decision Service.
    `static java.lang.String` | `PROPERTY_WEB_CONSOLE_ASSET_ID` Property name that is used to set the Web Console Asset identifier.
    `static java.lang.String` | `PROPERTY_WSDL` Property name that is used to get the WSDL for the Decision Service.
    `static java.lang.String` | `PROPERTY_XML_REPORT` Property name that is used to get the XML Report for the Decision Service.
    `static java.lang.String` | `XML_FLAT_STYLE` A style of XML message where all business object associations are captured using href's, resulting in a "flat" XML document.
    `static java.lang.String` | `XML_HIER_STYLE` A style of XML message where all business object associations are captured using embeddings, resulting in a hierarchical XML document.
    `static java.lang.String` | `XML_STYLE_AUTODETECT` The server auto-detects the style of XML message.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addDecisionService(java.lang.String astrDecisionServiceName, java.lang.String astrRuleAssetPath, java.util.Properties apropDeploymentOptions)` Invokes `addDecisionService(astrDecisionServiceName, astrEdsPath, Properties)`
    `org.jdom.Document` | `execute(org.jdom.Document aCorticonRequestDoc)` Equivalent to the method `execute(String)`, except that the `CorticonRequest` & `CorticonResponse` documents are JDOM XML.
    `org.jdom.Document` | `execute(org.jdom.Document aCorticonRequestDoc, ICcServerHttpInfo aCcServerHttpInfo)` Equivalent to the method `execute(String, ICcServerHttpInfo)`, except that the `CorticonRequest` & `CorticonResponse` documents are JDOM XML.
    `org.json.JSONObject` | `execute(org.json.JSONObject ajsonObjectPayload)` Invoke a specific Decision Service by passing in a `JSONObject`.
    `org.json.JSONObject` | `execute(org.json.JSONObject ajsonObjectPayload, ICcServerHttpInfo aCcServerHttpInfo)` Equivalent to `execute(JSONObject)`, except for this method accepts `ICcServerHttpInfo`
    `java.lang.String` | `execute(java.lang.String astrCorticonRequest)` Invoke a specific Decision Service by passing in a `CorticonRequest` XML message in String form.
    `ICcRuleMessages` | `execute(java.lang.String astrDecisionServiceName, java.util.Collection acolWorkObjs, java.util.Date adDecisionServiceEffectiveTimestamp)` Similar to `execute(String, Collection)` except that the user can specify what effective timestamp should be using using the parameter `adDecisionServiceEffectiveTimestamp`.
    `ICcRuleMessages` | `execute(java.lang.String astrDecisionServiceName, java.util.Collection acolWorkObjs, java.util.Date adDecisionServiceEffectiveTimestamp, int aiDecisionServiceTargetMajorVersion)` Similar to `execute(String, Collection, Date)` except that the user can specify what major version number should be using for the parameter `aiDecisionServiceTargetMajorVersion`.
    `ICcRuleMessages` | `execute(java.lang.String astrDecisionServiceName, java.util.Collection acolWorkObjs, int aiDecisionServiceTargetMajorVersion)` Similar to `execute(String, Collection)` except that the user can specify which Major Version of the Decision Service should process the request using parameter `aiDecisionServiceTargetVersion`.
    `ICcRuleMessages` | `execute(java.lang.String astrDecisionServiceName, java.util.Collection acolWorkObjs, int aiDecisionServiceTargetMajorVersion, int aiDecisionServiceTargetMinorVersion)` Similar to `execute(String, Collection, int)` except that the user can specify which Minor Version of the Decision Service should process the request using parameter `aiDecisionServiceTargetVersion`.
    `java.lang.String` | `execute(java.lang.String astrCorticonRequest, ICcServerHttpInfo aCcServerHttpInfo)` Equivalent to the method `execute(String)`, except for this method accepts `ICcServerHttpInfo`
    `ICcRuleMessages` | `execute(java.lang.String astrDecisionServiceName, java.util.Map amapWorkObjs, java.util.Date adDecisionServiceEffectiveTimestamp)` Equivalent to the method `execute(String, Collection, Date)`, except that a `Map` is passed in instead of a `Collection`.
    `ICcRuleMessages` | `execute(java.lang.String astrDecisionServiceName, java.util.Map amapWorkObjs, java.util.Date adDecisionServiceEffectiveTimestamp, int aiDecisionServiceTargetMajorVersion)` Equivalent to the method `execute(String, Collection, Date, int)`, except that a `Map` is passed in instead of a `Collection`.
    `ICcRuleMessages` | `execute(java.lang.String astrDecisionServiceName, java.util.Map acolWorkObjs, int aiDecisionServiceTargetMajorVersion)` Equivalent to the method `execute(String, Collection, int)`, except that a `Map` is passed in instead of a `Collection`.
    `ICcRuleMessages` | `execute(java.lang.String astrDecisionServiceName, java.util.Map acolWorkObjs, int aiDecisionServiceTargetMajorVersion, int aiDecisionServiceTargetMinorVersion)` Equivalent to the method `execute(String, Collection, int, int)`, except that a `Map` is passed in instead of a `Collection`.
    `org.json.JSONObject` | `executeNativeJSON(java.lang.String astrDecisionServiceName, org.json.JSONArray ajsonArrayPayload, java.util.Properties apropExecutionProperties)` Equivalent to `execute(String astrDecisionServiceName, JSONObject ajsonObjectPayload, Properties apropExecutionProperties)`, except for this method accepts a `JSONArray` as a payload.
    `org.json.JSONObject` | `executeNativeJSON(java.lang.String astrDecisionServiceName, org.json.JSONObject ajsonObjectPayload, java.util.Properties apropExecutionProperties)` Invoke a specific Decision Service by passing in a `JSONObject`.
    `org.json.JSONObject` | `getBatchExecutionDetails(java.lang.String astrBatchExecutionId)` This method will return a JSONObject that contains all the details the Batch Execution for the passed in Id.
    `java.util.List<java.lang.String>` | `getBatchExecutionIds()` This method will start a Batch Execution against a particular Decision Service based on the Batch Processing Properties outlined in the passed in JSONObject.
    `java.lang.String` | `getCcPropertyValue(java.lang.String astrPropertyName)` Returns a `String` value of any Corticon Property that is inside the CcConfig.jar.
    `java.lang.String` | `getCcServerInfo()` Returns a `String` in XML format that describes the current state of the CcServer.
    `java.lang.String` | `getCcServerLicenseValue(java.lang.String astrPropertyName)` Returns a requested Corticon Server License value.
    `java.lang.String` | `getCompilationDirectoryPath()` Return the current directory that the Server uses to compile assets.
    `java.util.List` | `getDecisionServiceDetailsAll()` Invokes `getDecisionServiceDetailsAll(, astrStructureType)`
    `java.util.List` | `getDecisionServiceDetailsAll(java.lang.String astrDecisionServiceName)` Invokes `getDecisionServiceDetailsAll(astrDecisionServiceName, , astrStructureType)`
    `java.util.List` | `getDecisionServiceDetailsAll(java.lang.String astrDecisionServiceName, int aiDecisionServiceMajorVersion)` Returns the String object representation for the specified decision service.
    `java.lang.String` | `getDecisionServiceDirectoryPath()` Return the current directory that the Server uses to store the compiled Decision Services.
    `java.util.Collection` | `getDecisionServiceNames()` Returns a `Collection` of Decision Service name Strings that are currently loaded into the Corticon Server.
    `java.lang.String` | `getDecisionServicePropertyValue(java.lang.String astrDecisionServiceName, int aiDecisionServiceMajorVersion, int aiDecisionServiceMinorVersion, java.lang.String astrPropertyName)` Get a particular property value related to a specific Decision Service based on name and major and minor version number.
    `java.lang.String` | `getDecisionServicePropertyValue(java.lang.String astrDecisionServiceName, int aiDecisionServiceMajorVersion, java.lang.String astrPropertyName)` Invokes `getDecisionServicePropertyValue(astrDecisionServiceName, aiDecisionServiceMajorVersion, )`.
    `java.lang.String` | `getDecisionServicePropertyValue(java.lang.String astrDecisionServiceName, java.lang.String astrPropertyName)` Invokes `getDecisionServicePropertyValue(astrDecisionServiceName, , astrPropertyName)`.
    `java.lang.String` | `getDeploymentDescriptorDirectoryPath()` Returns the current directory that the Maintenance Service looks for new CDD files to be auto-deployed.
    `java.lang.String` | `getLicensePath()` Get the location of the CcLicense.jar that the CcServer is using.
    `java.lang.String` | `getSandboxDirectoryPath()` Returns the current directory that the Server Sandbox is located.
    `long` | `getTotalExecutionCount()` Returns the total execution count across all Decision Service Versions.
    `long` | `getTotalExecutionTime()` Returns the total execution time across all Decision Service Versions.
    `boolean` | `isCcServerRunning()` Allows a client application to ask the CcServer it is up and running.
    `boolean` | `isCDDFileDeployed(java.lang.String astrPathToCddFile)` Returns a `boolean` based on whether the CDD has been deployed in the CcServer.
    `boolean` | `isDecisionServiceDeployed(java.lang.String astrDecisionServiceName)` Invokes `isDecisionServiceDeployed(astrDecisionServiceName, )`.
    `boolean` | `isDecisionServiceDeployed(java.lang.String astrDecisionServiceName, int aiDecisionServiceMajorVersion)` Invokes `isDecisionServiceDeployed(astrDecisionServiceName, aiDecisionServiceMajorVersion, )`.
    `boolean` | `isDecisionServiceDeployed(java.lang.String astrDecisionServiceName, int aiDecisionServiceMajorVersion, int aiDecisionServiceMinorVersion)` Query the CcServer to determine is a Decision Service has already been deployed under a specific name and Major Version number and Minor Version number
    `boolean` | `isDynamicUpdateMonitoringServiceRunning()` See `startDynamicUpdateMonitorService`.
    `boolean` | `isServerDiagnosticServiceRunning()` See `startServerDiagnosticService`.
    `boolean` | `isServerExecutionTimesIntervalServiceRunning()` See `startServerExecutionTimesIntervalService`.
    `void` | `loadFromCdd(java.lang.String astrCddPath)` Deploys the specified Corticon Deployment Descriptor (CDD).
    `void` | `loadFromCddDir(java.lang.String astrCddDirPath)` Deploys all decision services in all Corticon Deployment Descriptor (CDD) files in a specified directory.
    `void` | `reloadAllDecisionServicesQueryService()` This method will go to each Decision Service and reload the Query Service data from the Database.
    `void` | `reloadDecisionService(java.lang.String astrDecisionServiceName)` Invokes `reloadDecisionService(astrDecisionServiceName, )`.
    `void` | `reloadDecisionService(java.lang.String astrDecisionServiceName, int aiDecisionServiceVersion)` Invokes `reloadDecisionService(astrDecisionServiceName, aiDecisionServiceMajorVersion, )`.
    `void` | `reloadDecisionService(java.lang.String astrDecisionServiceName, int aiDecisionServiceMajorVersion, int aiDecisionServiceMinorVersion)` Reload a specific deployed Major Version and Minor Version of a Decision Service.
    `void` | `reloadDecisionServiceQueryService(java.lang.String astrDecisionServiceName)` Invokes `reloadDecisionServiceQueryService(astrDecisionServiceName, )`
    `void` | `reloadDecisionServiceQueryService(java.lang.String astrDecisionServiceName, int aiDecisionServiceMajorVersion)` Invokes `reloadDecisionServiceQueryService(astrDecisionServiceName, aiDecisionServiceMajorVersion, )`
    `void` | `reloadDecisionServiceQueryService(java.lang.String astrDecisionServiceName, int aiDecisionServiceMajorVersion, int aiDecisionServiceMinorVersion)` This method will reload the Query Service data from the Database for the desired Decision Service.
    `void` | `removeDecisionService(java.lang.String astrDecisionServiceName)` Invokes `removeDecisionService(astrDecisionServiceName, aiDecisionServiceMajorVersion, )`.
    `void` | `removeDecisionService(java.lang.String astrDecisionServiceName, int aiDecisionServiceMajorVersion)` Invokes `removeDecisionService(astrDecisionServiceName, aiDecisionServiceMajorVersion, )`.
    `void` | `removeDecisionService(java.lang.String astrDecisionServiceName, int aiDecisionServiceMajorVersion, int aiDecisionServiceMinorVersion)` Removes version `aiDecisionServiceMajorVersion` and `aiDecisionServiceMinorVersion` of Decision Service `astrDecisionServiceName` and all associated Corticon Engines in its pool (if any).
    `void` | `setCcPropertyValue(java.lang.String astrPropertyName, java.lang.String astrPropertyValue)` Sets the property values of limited number of properties that can be changed at runtime.
    `void` | `setDecisionServicePropertyValue(java.lang.String astrDecisionServiceName, int aiMajorVersionNumber, int aiMinorVersionNumber, java.lang.String astrPropertyName, java.lang.String astrPropertyValue)` Set a new property value related to a specific Decision Service based on name and major and minor version number.
    `void` | `setDecisionServicePropertyValue(java.lang.String astrDecisionServiceName, int aiMajorVersionNumber, java.lang.String astrPropertyName, java.lang.String astrPropertyValue)` Invokes `setDecisionServicePropertyValue(astrDecisionServiceName, aiMajorVersionNumber, , astrPropertyName, astrProperyValue)`.
    `void` | `setDecisionServicePropertyValue(java.lang.String astrDecisionServiceName, java.lang.String astrPropertyName, java.lang.String astrPropertyValue)` Invokes `setDecisionServicePropertyValue(astrDecisionServiceName, , astrPropertyName, astrProperyValue)`.
    `void` | `setDeploymentDescriptorDirectoryPath(java.lang.String astrDeploymentDirectoryPath)` Sets the current directory that the Maintenance Service looks for new CDD files to be auto-deployed.
    `void` | `setDiagnosticsEnabled(boolean abValue)` Enable/Disable server diagnostic data collection.
    `void` | `setIntervalProcessingEnabled(boolean abValue)` Enable/Disable the Interval Time processing
    `void` | `setLicensePath(java.lang.String astrLicensePath)` Set the location of the CcLicense.jar that the CcServer should use.
    `void` | `setLogLevel(java.lang.String astrLogPath)` Sets the Log level for the server.
    `void` | `setLogPath(java.lang.String astrLogPath)` Sets the path for the Corticon Server log files.
    `void` | `setServerDiagnosticsWaitTime(long alWaitTime)` Change the wait time for the Diagnostic service.
    `void` | `setServerExecutionTimesIntervalTime(long alInterval)` Change the interval time that the Server Execution Times Interval Service uses to determine when to record interval values.
    `java.lang.String` | `startBatchExecution(org.json.JSONObject ajsonObjectBatchProcessingProperties)` This method will start a Batch Execution against a particular Decision Service based on the Batch Processing Properties outlined in the passed in JSONObject.
    `void` | `startDynamicUpdateMonitoringService()` Each Decision Service and each CDD loaded into the Server is monitored by a Maintenance thread at intervals of X where X is the number of milliseconds in the `CcConfig.jar|CcServer.properties| com.corticon.ccserver.dynamicUpdateMonitoringService.serviceIntervals`.
    `void` | `startServerDiagnosticService()` This will start the Diagnostic Service.
    `void` | `startServerExecutionTimesIntervalService()` Each Decision Service loaded into the Server is monitored by an Server Execution Times Interval Service thread at intervals of X that will keep track of total execution times, total execution count, and the average execution times for all executions that occurred during each interval.
    `void` | `stopBatchExecution(java.lang.String astrBatchExecutionId)` This method will stop a Batch Execution based on the passed in Id.
    `void` | `stopDynamicUpdateMonitoringService()` See `startDynamicUpdateMonitorService`.
    `void` | `stopServerDiagnosticService()` Start Diagnostic Logging Service
    `void` | `stopServerExecutionTimesIntervalService()` See `stopServerExecutionTimesIntervalService`.

- - ### Field Detail

    - #### XML_HIER_STYLE

          static final java.lang.String XML_HIER_STYLE

      A style of XML message where all business object associations are captured using embeddings, resulting in a hierarchical XML document.
      See Also:
        Constant Field Values

    - #### XML_FLAT_STYLE

          static final java.lang.String XML_FLAT_STYLE

      A style of XML message where all business object associations are captured using href's, resulting in a "flat" XML document.
      See Also:
        Constant Field Values

    - #### XML_STYLE_AUTODETECT

          static final java.lang.String XML_STYLE_AUTODETECT

      The server auto-detects the style of XML message. This provides more flexibility, however, there's a slight performance hit. If the style of messaging is know, it should be explicitly stated.

    - #### DATABASE_ACCESS_NONE

          static final java.lang.String DATABASE_ACCESS_NONE

      Indicates that a Decision Service does not access an Enterprise database.

    - #### DATABASE_ACCESS_READ_ONLY

          static final java.lang.String DATABASE_ACCESS_READ_ONLY

      Indicates that a Decision Service has read only access to an Enterprise database.
      See Also:
        Constant Field Values

    - #### DATABASE_ACCESS_READ_WRITE

          static final java.lang.String DATABASE_ACCESS_READ_WRITE

      Indicates that a Decision Service has read/write access to an Enterprise database. This mode is required for batch processing.
      See Also:
        Constant Field Values

    - #### DATABASE_ACCESS_RETURN_ALL_ENTITY_INSTANCES

          static final java.lang.String DATABASE_ACCESS_RETURN_ALL_ENTITY_INSTANCES

      Indicates that all entity instances in working memory, including the ones retrieved from the database are returned as part of the response.
      See Also:
        Constant Field Values

    - #### DATABASE_ACCESS_RETURN_INCOMING_NEW_ENTITY_INSTANCES

          static final java.lang.String DATABASE_ACCESS_RETURN_INCOMING_NEW_ENTITY_INSTANCES

      Indicates that only entity instances that arrived as part of the incoming request and those instantiated by rules are returned as part of the response. Those entity instances retrieved from the database are excluded.
      See Also:
        Constant Field Values

    - #### CCPROPERTY_VERSION_NUMBER

          static final java.lang.String CCPROPERTY_VERSION_NUMBER

      Explicit property name that is used to get the Version Number of the CcServer
      See Also:
        `getCcPropertyValue(String)`, Constant Field Values

    - #### CCPROPERTY_SERVICE_RELEASE_NUMBER

          static final java.lang.String CCPROPERTY_SERVICE_RELEASE_NUMBER

      Explicit property name that is used to get the Service Release Number of the CcServer
      See Also:
        `getCcPropertyValue(String)`, Constant Field Values

    - #### CCPROPERTY_BUILD_NUMBER

          static final java.lang.String CCPROPERTY_BUILD_NUMBER

      Explicit property name that is used to get the Build Number of the CcServer
      See Also:
        `getCcPropertyValue(String)`, Constant Field Values

    - #### CCPROPERTY_FULL_VERSION_NUMBER

          static final java.lang.String CCPROPERTY_FULL_VERSION_NUMBER

      Explicit property name that is used to get the Full Version Number of the CcServer
      See Also:
        `getCcPropertyValue(String)`, Constant Field Values

    - #### LICENSE_LOCATION

          static final java.lang.String LICENSE_LOCATION

      Property name that is used to get the location of the License file on the Classpath.
      See Also:
        `getCcServerLicenseValue(String)`, Constant Field Values

    - #### LICENSE_OEM_NAME

          static final java.lang.String LICENSE_OEM_NAME

      Property name that is used to get the registered name associated with the Server License.
      See Also:
        `getCcServerLicenseValue(String)`, Constant Field Values

    - #### LICENSE_DATE_GRANTED

          static final java.lang.String LICENSE_DATE_GRANTED

      Property name that is used to get the date the Server License was issued.
      See Also:
        `getCcServerLicenseValue(String)`, Constant Field Values

    - #### LICENSE_MAX_POOLS

          static final java.lang.String LICENSE_MAX_POOLS

      Property name that is used to get max number of Decision Services that can be deployed on the Corticon Server.
      See Also:
        `getCcServerLicenseValue(String)`, Constant Field Values

    - #### LICENSE_MAX_REACTORS

          static final java.lang.String LICENSE_MAX_REACTORS

      Property name that is used to get max number of Reactor instances that can be in each Decision Service Pool.
      See Also:
        `getCcServerLicenseValue(String)`, Constant Field Values

    - #### LICENSE_MAX_NUMBER_OF_RULES

          static final java.lang.String LICENSE_MAX_NUMBER_OF_RULES

      Property name that is used to get max number of rules that can be deployed on the Corticon Server.
      See Also:
        `getCcServerLicenseValue(String)`, Constant Field Values

    - #### LICENSE_DEACTIVATE_DATE

          static final java.lang.String LICENSE_DEACTIVATE_DATE

      Property name that is used to get the date when the Corticon Server expires.
      See Also:
        `getCcServerLicenseValue(String)`, Constant Field Values

    - #### LICENSE_DEACTIVATE_DATE_OVERRIDE

          static final java.lang.String LICENSE_DEACTIVATE_DATE_OVERRIDE

      Property name that is used to get the value that disables license expiration.
      See Also:
        `getCcServerLicenseValue(String)`, Constant Field Values

    - #### LICENSE_SINGLE_EXECUTION_ENABLED

          static final java.lang.String LICENSE_SINGLE_EXECUTION_ENABLED

      Property name that is used to get the value that enables single non-database executions.
      See Also:
        `getCcServerLicenseValue(String)`, Constant Field Values

    - #### LICENSE_SINGLE_EXECUTION_DB_ACCESS_ENABLED

          static final java.lang.String LICENSE_SINGLE_EXECUTION_DB_ACCESS_ENABLED

      Property name that is used to get the value that enables single database executions.
      See Also:
        `getCcServerLicenseValue(String)`, Constant Field Values

    - #### LICENSE_BATCHPROCESSING_ENABLED

          static final java.lang.String LICENSE_BATCHPROCESSING_ENABLED

      Property name that is used to get the value that enables database batch processing inside a Decision Service.
      See Also:
        `getCcServerLicenseValue(String)`, Constant Field Values

    - #### LICENSE_EXECUTION_QUEUE_SIZE

          static final java.lang.String LICENSE_EXECUTION_QUEUE_SIZE

      Property name that is used to determine how many concurrent executions can occur in the CcServer
      See Also:
        `getCcServerLicenseValue(String)`, Constant Field Values

    - #### LICENSE_DOTNET_ENABLED

          static final java.lang.String LICENSE_DOTNET_ENABLED

      Property name that is used to determine if the Corticon Server can run .Net
      See Also:
        `getCcServerLicenseValue(String)`, Constant Field Values

    - #### PROPERTY_IS_DEPLOYED

          static final java.lang.String PROPERTY_IS_DEPLOYED

      Property name that is used to determine if a particular Decision Service is deployed..
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_RULEASSET_URI

          static final java.lang.String PROPERTY_RULEASSET_URI

      Property name that is used to get the path of the Rule Asset (.erf file or .eds file that was deployed).
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_EDS_URI

          static final java.lang.String PROPERTY_EDS_URI

      Property name that is used to get the path of the Rule Asset (.erf file, if a .eds file was deployed).
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_EDS_HAS_WSDL

          static final java.lang.String PROPERTY_EDS_HAS_WSDL

      Property name that is used to get whether or not the EDS file contains a WSDL document
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_EDS_URI_RELATIVE

          static final java.lang.String PROPERTY_EDS_URI_RELATIVE

      Property name that is used to get the relative path of the deployed EDS in relation to the CcServerSandbox Directory.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_EDS_FILE_TIMESTAMP

          static final java.lang.String PROPERTY_EDS_FILE_TIMESTAMP

      Property name that is used to get the time of the .eds file's timestamp
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_DEPLOYMENT_TIMESTAMP

          static final java.lang.String PROPERTY_DEPLOYMENT_TIMESTAMP

      Property name that is used to get the time when the Decision Service was deployed.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_MAX_POOL_SIZE

          static final java.lang.String PROPERTY_MAX_POOL_SIZE

      Property name that is used to get the maximum pool size for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_AUTO_RELOAD

          static final java.lang.String PROPERTY_AUTO_RELOAD

      Property name that is used to get the auto reload value for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_VERSION_NUMBER

          static final java.lang.String PROPERTY_VERSION_NUMBER

      Property name that is used to get the version number for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_MAJOR_VERSION_NUMBER

          static final java.lang.String PROPERTY_MAJOR_VERSION_NUMBER

      Property name that is used to get the version number for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_MINOR_VERSION_NUMBER

          static final java.lang.String PROPERTY_MINOR_VERSION_NUMBER

      Property name that is used to get the version number for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_EFFECTIVE_START_DATE

          static final java.lang.String PROPERTY_EFFECTIVE_START_DATE

      Property name that is used to get the effective start date for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_EFFECTIVE_END_DATE

          static final java.lang.String PROPERTY_EFFECTIVE_END_DATE

      Property name that is used to get the effective end date for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_VERSION_LABEL

          static final java.lang.String PROPERTY_VERSION_LABEL

      Property name that is used to get the version label for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_ACTIVE_POOL

          static final java.lang.String PROPERTY_ACTIVE_POOL

      Property name that is used to get the active value for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_LOADED_FROM_CDD

          static final java.lang.String PROPERTY_LOADED_FROM_CDD

      Property name that is used to get the loaded from CDD value for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_PATH_TO_CDD

          static final java.lang.String PROPERTY_PATH_TO_CDD

      Property name that is used to get the path to CDD value for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_CURRENTLY_RUNNING_IN_BATCH_MODE

          static final java.lang.String PROPERTY_CURRENTLY_RUNNING_IN_BATCH_MODE

      Property name that is used to get the running in batch mode value for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_REACTORS_CURRENTLY_PROCESSING

          static final java.lang.String PROPERTY_REACTORS_CURRENTLY_PROCESSING

      Property name that is used to get the number of reactors that are currently processing for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_REACTORS_WAITING_IN_POOL

          static final java.lang.String PROPERTY_REACTORS_WAITING_IN_POOL

      Property name that is used to get the number of available reactors that are waiting Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_REACTORS_CURRENTLY_QUEUED

          static final java.lang.String PROPERTY_REACTORS_CURRENTLY_QUEUED

      Property name that is used to get the number of reactors that are waiting in the Execution Queie
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_REACTORS_CURRENT_STATE

          static final java.lang.String PROPERTY_REACTORS_CURRENT_STATE

      Property name that is used to get a description of the current state of all the Reactors for the Decision Service
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_NUMBER_OF_RULES_DEPLOYED

          static final java.lang.String PROPERTY_NUMBER_OF_RULES_DEPLOYED

      Property name that is used to get the number of rules deployed in the Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_MESSAGE_STRUCTURE_TYPE

          static final java.lang.String PROPERTY_MESSAGE_STRUCTURE_TYPE

      Property name that is used to get the message structure type for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_DEPLOYED_EDS

          static final java.lang.String PROPERTY_DEPLOYED_EDS

      Property name that is used to determine if the deployment of the Decision Service used a .eds file instead of a .erf file.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_WSDL

          static final java.lang.String PROPERTY_WSDL

      Property name that is used to get the WSDL for the Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_XML_REPORT

          static final java.lang.String PROPERTY_XML_REPORT

      Property name that is used to get the XML Report for the Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_LAST_EXECUTION_TIMESTAMP

          static final java.lang.String PROPERTY_LAST_EXECUTION_TIMESTAMP

      Property name that is used to get the timestamp of the last execution against a specific Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_TOTAL_EXECUTION_COUNT

          static final java.lang.String PROPERTY_TOTAL_EXECUTION_COUNT

      Property name that is used to get the total execution count for specific Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_TOTAL_EXECUTION_TIME

          static final java.lang.String PROPERTY_TOTAL_EXECUTION_TIME

      Property name that is used to get the total execution time for specific Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_VOCABULARY_METADATA

          static final java.lang.String PROPERTY_VOCABULARY_METADATA

      Property name that is used to return the vocabulary metadata for the specified Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_EXECUTION_RESTRICT_RULEMESSAGES_INFO

          static final java.lang.String PROPERTY_EXECUTION_RESTRICT_RULEMESSAGES_INFO

      Property name that is used to inform the Decision Service's execution to restrict Info RuleMessages.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_EXECUTION_RESTRICT_RULEMESSAGES_WARNING

          static final java.lang.String PROPERTY_EXECUTION_RESTRICT_RULEMESSAGES_WARNING

      Property name that is used to inform the Decision Service's execution to restrict Warning RuleMessages.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_EXECUTION_RESTRICT_RULEMESSAGES_VIOLATION

          static final java.lang.String PROPERTY_EXECUTION_RESTRICT_RULEMESSAGES_VIOLATION

      Property name that is used to inform the Decision Service's execution to restrict Violation RuleMessages.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_EXECUTION_RESTRICT_RESPONSE_TO_RULEMESSAGES_ONLY

          static final java.lang.String PROPERTY_EXECUTION_RESTRICT_RESPONSE_TO_RULEMESSAGES_ONLY

      Property name that is used to inform the Decision Service's execution to restrict the output to only contain Rule Messages.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_EXECUTION_LOCALE

          static final java.lang.String PROPERTY_EXECUTION_LOCALE

      Property name that is used to get the Decision Service's execution locale.
      See Also:
        Constant Field Values

    - #### PROPERTY_EXECUTION_TIMEZONE

          static final java.lang.String PROPERTY_EXECUTION_TIMEZONE

      See Also:
        Constant Field Values

    - #### PROPERTY_EXECUTION_ENABLE_RULETRACE

          static final java.lang.String PROPERTY_EXECUTION_ENABLE_RULETRACE

      See Also:
        Constant Field Values

    - #### PROPERTY_DATABASE_ACCESS_MODE

          static final java.lang.String PROPERTY_DATABASE_ACCESS_MODE

      Property name that is used to get the database access mode for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_DATASOURCE_CONFIG_FILE_CONTENTS

          static final java.lang.String PROPERTY_DATASOURCE_CONFIG_FILE_CONTENTS

      Property name that is used to get the string representation of the datasource configuration properties object for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_DATASOURCE_CONFIG_FILE_PATH

          static final java.lang.String PROPERTY_DATASOURCE_CONFIG_FILE_PATH

      Property name that is used to get the string representation of the datasource xml file object for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_DATABASE_ACCESS_CACHING_ENABLED

          static final java.lang.String PROPERTY_DATABASE_ACCESS_CACHING_ENABLED

      Property name that is used to get the value that tells whether this Decision Service has Caching turned on
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_EXECUTION_DENORMALIZE_JSON_RESPONSE

          static final java.lang.String PROPERTY_EXECUTION_DENORMALIZE_JSON_RESPONSE

      Property name that is used to get the value that tells whether the Decision Service will denormalize the JSON Response before returning it back to caller
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_DATABASE_ACCESS_RETURN_ENTITIES_MODE

          static final java.lang.String PROPERTY_DATABASE_ACCESS_RETURN_ENTITIES_MODE

      Property name that is used to get the return policy for database access executions for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_DECISION_SERVICE_DETAILS

          static final java.lang.String PROPERTY_DECISION_SERVICE_DETAILS

      Property name that is used to get the details of the Decision Service in a String representation of a JSONObject.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_DECISION_SERVICE_HAS_RULEASSETS_CHANGED

          static final java.lang.String PROPERTY_DECISION_SERVICE_HAS_RULEASSETS_CHANGED

      Property name that is used to check to see if any of the associated RuleAssets have changed based on their timestamp.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_DECISION_SERVICE_QUERY_SERVICE_LAST_LOAD

          static final java.lang.String PROPERTY_DECISION_SERVICE_QUERY_SERVICE_LAST_LOAD

      Property name that is used to determine when the Query Service was last loaded for a Decision Service.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_WEB_CONSOLE_ASSET_ID

          static final java.lang.String PROPERTY_WEB_CONSOLE_ASSET_ID

      Property name that is used to set the Web Console Asset identifier.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_RULE_CATALOG

          static final java.lang.String PROPERTY_RULE_CATALOG

      Returns a JSONArray of all the Rules associated with this Decision Service
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_DEFINED_TOP_LEVEL_ENTITY_NAMES

          static final java.lang.String PROPERTY_DEFINED_TOP_LEVEL_ENTITY_NAMES

      Property name that is used to get the list of defined Top Level Entities that were set during deployment. These names will be used when determining Top Level Entity Types with native JSON payloads.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### PROPERTY_DEFAULT_TOP_LEVEL_ENTITY_NAMES

          static final java.lang.String PROPERTY_DEFAULT_TOP_LEVEL_ENTITY_NAMES

      Property name that is used to get the list of defaulted Top Level Entities that were set during compilation of the .eds file. These names will be used when determining Top Level Entity Types with native JSON payloads.
      See Also:
        `getDecisionServicePropertyValue(String, String)`, `getDecisionServicePropertyValue(String, int, String)`, `getDecisionServicePropertyValue(String, int, int, String)`, Constant Field Values

    - #### LOG_LEVEL

          static final java.lang.String LOG_LEVEL

      Property name that is used to get or set the log level.
      See Also:
        Constant Field Values

    - #### LOG_PATH

          static final java.lang.String LOG_PATH

      Property name that is used to get or set the log file path.
      See Also:
        Constant Field Values

    - #### LOG_ROLLOVER

          static final java.lang.String LOG_ROLLOVER

      Property name that is used to get or set log file daily rollover behavior.
      See Also:
        Constant Field Values

    - #### LOG_ROLLOVERS_TO_KEEP

          static final java.lang.String LOG_ROLLOVERS_TO_KEEP

      Property name that is used to get or set the maximum number of rollover log files.
      See Also:
        Constant Field Values

    - #### LOG_FILTERS_ACCEPT

          static final java.lang.String LOG_FILTERS_ACCEPT

      Property name that is used to get or set log marker filters. All other markers not specifed will be filtered out of the log file.
      See Also:
        Constant Field Values

    - #### LOG_PER_DS

          static final java.lang.String LOG_PER_DS

      Property name that is used to get or set decision service specific logging.
      See Also:
        Constant Field Values

    - #### JSON_EXECUTION_RUNTIME_PROPERTY_RESTRICT_RULEMESSAGES_INFO

          static final java.lang.String JSON_EXECUTION_RUNTIME_PROPERTY_RESTRICT_RULEMESSAGES_INFO

      JSON execution runtime property that is used to get the Decision Service's restrict Info RuleMessages.

    - #### JSON_EXECUTION_RUNTIME_PROPERTY_RESTRICT_RULEMESSAGES_WARNING

          static final java.lang.String JSON_EXECUTION_RUNTIME_PROPERTY_RESTRICT_RULEMESSAGES_WARNING

      JSON execution runtime property that is used to get the Decision Service's restrict Warning RuleMessages.

    - #### JSON_EXECUTION_RUNTIME_PROPERTY_RESTRICT_RULEMESSAGES_VIOLATION

          static final java.lang.String JSON_EXECUTION_RUNTIME_PROPERTY_RESTRICT_RULEMESSAGES_VIOLATION

      JSON execution runtime property that is used to get the Decision Service's restrict Violation RuleMessages.

    - #### JSON_EXECUTION_RUNTIME_PROPERTY_RESTRICT_RESPONSE_TO_RULEMESSAGES_ONLY

          static final java.lang.String JSON_EXECUTION_RUNTIME_PROPERTY_RESTRICT_RESPONSE_TO_RULEMESSAGES_ONLY

      JSON execution runtime property that is used to get the Decision Service's restrict the CorticonResponse to only RuleMessages.

    - #### JSON_EXECUTION_RUNTIME_PROPERTY_LOCALE

          static final java.lang.String JSON_EXECUTION_RUNTIME_PROPERTY_LOCALE

      JSON execution runtime property that is used to get the Decision Service's execution locale.

    - #### JSON_EXECUTION_RUNTIME_PROPERTY_TIMEZONE_ID

          static final java.lang.String JSON_EXECUTION_RUNTIME_PROPERTY_TIMEZONE_ID

    - #### JSON_EXECUTION_RUNTIME_PROPERTY_ENABLE_RULETRACE

          static final java.lang.String JSON_EXECUTION_RUNTIME_PROPERTY_ENABLE_RULETRACE

      JSON execution runtime property that is used enable Ruletrace for only this execution.

  - ### Method Detail

    - #### addDecisionService

          void addDecisionService(java.lang.String astrDecisionServiceName,
                                  java.lang.String astrRuleAssetPath,
                                  java.util.Properties apropDeploymentOptions)
                           throws CcServerDecisionServiceAlreadyRegisteredException,
                                  CcServerFileOrDirNotFoundException,
                                  CcServerInvalidArgumentException,
                                  CcServerDatabaseValidationException,
                                  CcServerInvalidDecisionServiceException,
                                  CcServerLicenseViolationException

      Invokes `addDecisionService(astrDecisionServiceName, astrEdsPath, Properties)`
      Parameters:
        `astrDecisionServiceName` - - logical name of the Decision Service (and thus corresponding Corticon Engine pool).
        `astrRuleAssetPath` - - path to the Ruleflow .erf or pre-compiled .eds file containing the Decision Service rules.
        `apropDeploymentOptions` - - a properties object that contains all the deployment options for this Decision Service.
      Throws:
        `CcServerDecisionServiceAlreadyRegisteredException`
        `CcServerFileOrDirNotFoundException`
        `CcServerInvalidArgumentException`
        `CcServerDatabaseValidationException`
        `CcServerInvalidDecisionServiceException`
        `CcServerLicenseViolationException`

    - #### execute

          org.jdom.Document execute(org.jdom.Document aCorticonRequestDoc)
                             throws CcServerDecisionServiceNotRegisteredException,
                                    CcServerEndlessLoopException,
                                    CcServerExecutionException,
                                    CcServerInitializationInProgressException,
                                    CcServerInvalidArgumentException,
                                    CcServerDatabaseValidationException,
                                    CcServerLicenseViolationException,
                                    CcServerTimeoutException

      Equivalent to the method `execute(String)`, except that the `CorticonRequest` & `CorticonResponse` documents are JDOM XML. Although, the `aCorticonRequest` parameter is directly updated during the processing of the request and in effect is passed-by-reference, the updates to "`WorkDocuments`" should be obtained by examining the returning `CorticonResponse` `Document`.
      Parameters:
        `aCorticonRequestDoc` - - a JDOM representation of the `CorticonRequest`
      Returns:
        - a JDOM `CorticonResponse` Document
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerEndlessLoopException`
        `CcServerExecutionException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerDatabaseValidationException`
        `CcServerLicenseViolationException`
        `CcServerTimeoutException`
      See Also:
        `execute(String)`

    - #### execute

          org.jdom.Document execute(org.jdom.Document aCorticonRequestDoc,
                                    ICcServerHttpInfo aCcServerHttpInfo)
                             throws CcServerDecisionServiceNotRegisteredException,
                                    CcServerEndlessLoopException,
                                    CcServerExecutionException,
                                    CcServerInitializationInProgressException,
                                    CcServerInvalidArgumentException,
                                    CcServerDatabaseValidationException,
                                    CcServerLicenseViolationException,
                                    CcServerTimeoutException

      Equivalent to the method `execute(String, ICcServerHttpInfo)`, except that the `CorticonRequest` & `CorticonResponse` documents are JDOM XML. Although, the `aCorticonRequest` parameter is directly updated during the processing of the request and in effect is passed-by-reference, the updates to "`WorkDocuments`" should be obtained by examining the returning `CorticonResponse` `Document`. The asrtServerLocation is a license restriction that has been added to 5.3.2. Only use this method if instructed by Professional Services.
      Parameters:
        `aCorticonRequestDoc` - - a JDOM representation of the `CorticonRequest`
        `aCcServerHttpInfo` - - ICcServerHttpInfo Object containing http headers information
      Returns:
        - a JDOM `CorticonResponse` Document
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerEndlessLoopException`
        `CcServerExecutionException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerDatabaseValidationException`
        `CcServerLicenseViolationException`
        `CcServerTimeoutException`
      See Also:
        `execute(String)`

    - #### execute

          java.lang.String execute(java.lang.String astrCorticonRequest)
                            throws CcServerDecisionServiceNotRegisteredException,
                                   CcServerEndlessLoopException,
                                   CcServerExecutionException,
                                   CcServerInitializationInProgressException,
                                   CcServerInvalidArgumentException,
                                   CcServerDatabaseValidationException,
                                   CcServerLicenseViolationException,
                                   CcServerTimeoutException

      Invoke a specific Decision Service by passing in a `CorticonRequest` XML message in String form.
      A `CorticonRequest` root element is comprised of:
      . . . `decisionServiceName` attribute - refers to the logical decision "Service" name that should process the request.
      . . . `decisionServiceTargetVersion` attribute - the Decision Service version that should process this request.
      . . . `decisionServiceEffectiveTimestamp` attribute - the effective timestamp the Server should use to process this request.
      . . . `WorkDocuments` element - contains a payload of possibly interrelated business entity instances.
      . . . . . . The primary business entity class operated on is called the "Work Document" entity. This section
      . . . . . . must contain at least one instance of the "Work Document" entity. All other business entity instances
      . . . . . . in this section must be related to the "Work Document" entity(s). These business entity instances may
      . . . . . . be updated by the decision service and returned as part of the returning `CorticonResponse`.
      This method returns a `CorticonResponse` XML document.
      A `CorticonResponse` root element is comprised of:
      . . . `WorkDocuments` element - the incoming "`WorkDocuments`" possibly updated by the decision services
      . . . `Messages` element - an audit trace of rule firings associated to specific entity instances within `WorkDocuments`.
      `WorkDocuments` payload contains instances of entities defined in the vocabulary that the decision service is based on. The structure of `WorkDocuments` is described by the XML Schemas as generated by the Corticon utilities for the target decision service.

      This method should also be used for SOAP messaging. The container must have a means of processing document-style (message-style) incoming SOAP calls, extract and forward the payload to this method. The structure of the SOAP request is defined by the WSDL documents generated by the Corticon utilities for the target decision service. The WSDL defines a service under soapAction="urn:Corticon" with a single method "processRequest" that takes as input an XML document containing a `CorticonRequest` (the SOAP call payload) and returning an XML document containing a `CorticonResponse`.

      The `decisionServiceTargetVersion` and `decisionServiceEffectiveTimestamp` attributes are mutually exclusive and optional. If they both contain a null value then the server selects the latest effective version of the Decision Service to process the request. If no effective Decision Service is found then a `CcServerDecisionServiceNotRegisteredException` is thrown. If they both contain a non-null value then a `CcServerInvalidArgumentException` is thrown. The `decisionServiceTargetVersion` attribute determines a specific version of the Decision Service that should be used to process this request. If the requested version is not currently loaded in the Server then a `CcServerDecisionServiceNotRegisteredException` is thrown. The `adDecisionServiceEffectiveTimestamp` attriubtes tells the server to assume the request had arrived at a different point in time. This timestamp is used to determine which version of the Decision Service must process the request. If no effective Decision Service is found for the given timestamp then a `CcServerDecisionServiceNotRegisteredException` is thrown.

      Parameters:
        `astrCorticonRequest` - - a `CorticonRequest` XML Document compliant with the XSD contract of the decision service.
      Returns:
        String - a `CorticonResponse` XML Document compliant with the XSD contract of the decision service.
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerEndlessLoopException`
        `CcServerExecutionException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerDatabaseValidationException`
        `CcServerLicenseViolationException`
        `CcServerTimeoutException`

    - #### execute

          java.lang.String execute(java.lang.String astrCorticonRequest,
                                   ICcServerHttpInfo aCcServerHttpInfo)
                            throws CcServerDecisionServiceNotRegisteredException,
                                   CcServerEndlessLoopException,
                                   CcServerExecutionException,
                                   CcServerInitializationInProgressException,
                                   CcServerInvalidArgumentException,
                                   CcServerDatabaseValidationException,
                                   CcServerLicenseViolationException,
                                   CcServerTimeoutException

      Equivalent to the method `execute(String)`, except for this method accepts `ICcServerHttpInfo`
      Parameters:
        `astrCorticonRequest` - - a `CorticonResponse` XML Document compliant with the XSD contract of the decision service.
        `aCcServerHttpInfo` - - ICcServerHttpInfo Object containing http headers information
      Returns:
        String - a `CorticonResponse` XML Document compliant with the XSD contract of the decision service.
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerEndlessLoopException`
        `CcServerExecutionException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerDatabaseValidationException`
        `CcServerLicenseViolationException`
        `CcServerTimeoutException`

    - #### execute

          ICcRuleMessages execute(java.lang.String astrDecisionServiceName,
                                  java.util.Collection acolWorkObjs,
                                  java.util.Date adDecisionServiceEffectiveTimestamp)
                           throws CcServerDecisionServiceNotRegisteredException,
                                  CcServerEndlessLoopException,
                                  CcServerExecutionException,
                                  CcServerInitializationInProgressException,
                                  CcServerInvalidArgumentException,
                                  CcServerLicenseViolationException,
                                  CcServerTimeoutException

      Similar to `execute(String, Collection)` except that the user can specify what effective timestamp should be using using the parameter `adDecisionServiceEffectiveTimestamp`. This parameter tells the server to assume the request had arrived at a different point in time. This timestamp is used to determine which version of the Decision Service must process the request. If no effective Decision Service is found for the given timestamp then a `CcServerDecisionServiceNotRegisteredException` is thrown. Since no major version number is specified, the CcServer will start at the highest major/minor version Decision Service version and then work backwards to find the first matching Deciison Service version.
      Parameters:
        `astrDecisionServiceName` - - name of the Decision Service and thus corresponding Corticon Engine pool to use.
        `acolWorkObjs` - - a `Collection` of business objects (e.g. Order#1, LineItem#11, LineItem#12, ...).
        `adDecisionServiceEffectiveTimestamp` - - the effective timestamp the Server should use to process this request
      Returns:
        ICcRuleMessages - the Message objects posted during Decision Service processing
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerEndlessLoopException`
        `CcServerExecutionException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
        `CcServerTimeoutException`
      See Also:
        `#execute(String, Collection)`

    - #### execute

          ICcRuleMessages execute(java.lang.String astrDecisionServiceName,
                                  java.util.Collection acolWorkObjs,
                                  java.util.Date adDecisionServiceEffectiveTimestamp,
                                  int aiDecisionServiceTargetMajorVersion)
                           throws CcServerDecisionServiceNotRegisteredException,
                                  CcServerEndlessLoopException,
                                  CcServerExecutionException,
                                  CcServerInitializationInProgressException,
                                  CcServerInvalidArgumentException,
                                  CcServerLicenseViolationException,
                                  CcServerTimeoutException

      Similar to `execute(String, Collection, Date)` except that the user can specify what major version number should be using for the parameter `aiDecisionServiceTargetMajorVersion`. This parameter limits the matching of the Decision Service to also have its Major Version Number equal to `aiDecisionServiceTargetMajorVersion`. If no Decision Service is found that satisfies the `adDecisionServiceEffectiveTimestamp` and `aiDecisionServiceTargetMajorVersion` criteria, then a `CcServerDecisionServiceNotRegisteredException` is thrown.
      Parameters:
        `astrDecisionServiceName` - - name of the Decision Service and thus corresponding Corticon Engine pool to use.
        `acolWorkObjs` - - a `Collection` of business objects (e.g. Order#1, LineItem#11, LineItem#12, ...).
        `adDecisionServiceEffectiveTimestamp` - - the effective timestamp the Server should use to process this request
        `aiDecisionServiceTargetMajorVersion` - - the Decision Service Major version that should process this request
      Returns:
        ICcRuleMessages - the Message objects posted during Decision Service processing
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerEndlessLoopException`
        `CcServerExecutionException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
        `CcServerTimeoutException`
      See Also:
        `#execute(String, Collection)`, `execute(String)`

    - #### execute

          ICcRuleMessages execute(java.lang.String astrDecisionServiceName,
                                  java.util.Collection acolWorkObjs,
                                  int aiDecisionServiceTargetMajorVersion)
                           throws CcServerDecisionServiceNotRegisteredException,
                                  CcServerEndlessLoopException,
                                  CcServerExecutionException,
                                  CcServerInitializationInProgressException,
                                  CcServerInvalidArgumentException,
                                  CcServerLicenseViolationException,
                                  CcServerTimeoutException

      Similar to `execute(String, Collection)` except that the user can specify which Major Version of the Decision Service should process the request using parameter `aiDecisionServiceTargetVersion`. If the requested version is not currently loaded in the Server then a `CcServerDecisionServiceNotRegisteredException` is thrown.
      Parameters:
        `astrDecisionServiceName` - - name of the Decision Service and thus corresponding Corticon Engine pool to use.
        `acolWorkObjs` - - a `Collection` of business objects (e.g. Order#1, LineItem#11, LineItem#12, ...).
        `aiDecisionServiceTargetMajorVersion` - - the Decision Service Major Version that should process this request
      Returns:
        ICcRuleMessages - the Message objects posted during Decision Service processing
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerEndlessLoopException`
        `CcServerExecutionException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
        `CcServerTimeoutException`
      See Also:
        `#execute(String, Collection)`, `execute(String)`

    - #### execute

          ICcRuleMessages execute(java.lang.String astrDecisionServiceName,
                                  java.util.Collection acolWorkObjs,
                                  int aiDecisionServiceTargetMajorVersion,
                                  int aiDecisionServiceTargetMinorVersion)
                           throws CcServerDecisionServiceNotRegisteredException,
                                  CcServerEndlessLoopException,
                                  CcServerExecutionException,
                                  CcServerInitializationInProgressException,
                                  CcServerInvalidArgumentException,
                                  CcServerLicenseViolationException,
                                  CcServerTimeoutException

      Similar to `execute(String, Collection, int)` except that the user can specify which Minor Version of the Decision Service should process the request using parameter `aiDecisionServiceTargetVersion`. If the requested version is not currently loaded in the Server then a `CcServerDecisionServiceNotRegisteredException` is thrown.
      Parameters:
        `astrDecisionServiceName` - - name of the Decision Service and thus corresponding Corticon Engine pool to use.
        `acolWorkObjs` - - a `Collection` of business objects (e.g. Order#1, LineItem#11, LineItem#12, ...).
        `aiDecisionServiceTargetMajorVersion` - - the Decision Service Major version that should process this request
        `aiDecisionServiceTargetMinorVersion` - - the Decision Service Minor version that should process this request
      Returns:
        ICcRuleMessages - the Message objects posted during Decision Service processing
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerEndlessLoopException`
        `CcServerExecutionException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
        `CcServerTimeoutException`
      See Also:
        `#execute(String, Collection)`, `execute(String)`

    - #### execute

          ICcRuleMessages execute(java.lang.String astrDecisionServiceName,
                                  java.util.Map amapWorkObjs,
                                  java.util.Date adDecisionServiceEffectiveTimestamp)
                           throws CcServerDecisionServiceNotRegisteredException,
                                  CcServerEndlessLoopException,
                                  CcServerExecutionException,
                                  CcServerInitializationInProgressException,
                                  CcServerInvalidArgumentException,
                                  CcServerLicenseViolationException,
                                  CcServerTimeoutException

      Equivalent to the method `execute(String, Collection, Date)`, except that a `Map` is passed in instead of a `Collection`. The `Map` contain name-value pairs of business objects. The names will stay intact during processing of the Decision Service. Only the business objects may be updated.
      Parameters:
        `astrDecisionServiceName` - - name of the Decision Service and thus corresponding Corticon Engine pool to use.
        `amapWorkObjs` - - a `Map` of business objects (e.g. Order#1, LineItem#11, LineItem#12, ...).
        `adDecisionServiceEffectiveTimestamp` - - the effective timestamp the Server should use to process this request
      Returns:
        ICcRuleMessages - the Message objects posted during Decision Service processing
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerEndlessLoopException`
        `CcServerExecutionException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
        `CcServerTimeoutException`
      See Also:
        `execute(String, Collection, Date)`, `execute(String)`

    - #### execute

          ICcRuleMessages execute(java.lang.String astrDecisionServiceName,
                                  java.util.Map amapWorkObjs,
                                  java.util.Date adDecisionServiceEffectiveTimestamp,
                                  int aiDecisionServiceTargetMajorVersion)
                           throws CcServerDecisionServiceNotRegisteredException,
                                  CcServerEndlessLoopException,
                                  CcServerExecutionException,
                                  CcServerInitializationInProgressException,
                                  CcServerInvalidArgumentException,
                                  CcServerLicenseViolationException,
                                  CcServerTimeoutException

      Equivalent to the method `execute(String, Collection, Date, int)`, except that a `Map` is passed in instead of a `Collection`. The `Map` contain name-value pairs of business objects. The names will stay intact during processing of the Decision Service. Only the business objects may be updated.
      Parameters:
        `astrDecisionServiceName` - - name of the Decision Service and thus corresponding Corticon Engine pool to use.
        `amapWorkObjs` - - a `Map` of business objects (e.g. Order#1, LineItem#11, LineItem#12, ...).
        `adDecisionServiceEffectiveTimestamp` - - the effective timestamp the Server should use to process this request
        `aiDecisionServiceTargetMajorVersion` - - the Decision Service Major version that should process this request
      Returns:
        ICcRuleMessages - the Message objects posted during Decision Service processing
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerEndlessLoopException`
        `CcServerExecutionException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
        `CcServerTimeoutException`
      See Also:
        `execute(String, Collection, Date)`, `execute(String)`

    - #### execute

          ICcRuleMessages execute(java.lang.String astrDecisionServiceName,
                                  java.util.Map acolWorkObjs,
                                  int aiDecisionServiceTargetMajorVersion)
                           throws CcServerDecisionServiceNotRegisteredException,
                                  CcServerEndlessLoopException,
                                  CcServerExecutionException,
                                  CcServerInitializationInProgressException,
                                  CcServerInvalidArgumentException,
                                  CcServerLicenseViolationException,
                                  CcServerTimeoutException

      Equivalent to the method `execute(String, Collection, int)`, except that a `Map` is passed in instead of a `Collection`. The `Map` contain name-value pairs of business objects. The names will stay intact during processing of the Decision Service. Only the business objects may be updated.
      Parameters:
        `astrDecisionServiceName` - - name of the Decision Service and thus corresponding Corticon Engine pool to use.
        `amapWorkObjs` - - a `Map` of business objects (e.g. Order#1, LineItem#11, LineItem#12, ...).
        `aiDecisionServiceTargetMajorVersion` - - the Decision Service Major version that should process this request
      Returns:
        ICcRuleMessages - the Message objects posted during Decision Service processing
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerEndlessLoopException`
        `CcServerExecutionException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
        `CcServerTimeoutException`
      See Also:
        `execute(String, Collection, int)`, `execute(String)`

    - #### execute

          ICcRuleMessages execute(java.lang.String astrDecisionServiceName,
                                  java.util.Map acolWorkObjs,
                                  int aiDecisionServiceTargetMajorVersion,
                                  int aiDecisionServiceTargetMinorVersion)
                           throws CcServerDecisionServiceNotRegisteredException,
                                  CcServerEndlessLoopException,
                                  CcServerExecutionException,
                                  CcServerInitializationInProgressException,
                                  CcServerInvalidArgumentException,
                                  CcServerLicenseViolationException,
                                  CcServerTimeoutException

      Equivalent to the method `execute(String, Collection, int, int)`, except that a `Map` is passed in instead of a `Collection`. The `Map` contain name-value pairs of business objects. The names will stay intact during processing of the Decision Service. Only the business objects may be updated.
      Parameters:
        `astrDecisionServiceName` - - name of the Decision Service and thus corresponding Corticon Engine pool to use.
        `amapWorkObjs` - - a `Map` of business objects (e.g. Order#1, LineItem#11, LineItem#12, ...).
        `aiDecisionServiceTargetMajorVersion` - - the Decision Service Major version that should process this request
        `aiDecisionServiceTargetMinorVersion` - - the Decision Service Minor version that should process this request
      Returns:
        ICcRuleMessages - the Message objects posted during Decision Service processing
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerEndlessLoopException`
        `CcServerExecutionException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
        `CcServerTimeoutException`
      See Also:
        `execute(String, Collection, int)`, `execute(String)`

    - #### execute

          org.json.JSONObject execute(org.json.JSONObject ajsonObjectPayload)
                               throws CcServerDecisionServiceNotRegisteredException,
                                      CcServerEndlessLoopException,
                                      CcServerExecutionException,
                                      CcServerInitializationInProgressException,
                                      CcServerInvalidArgumentException,
                                      CcServerLicenseViolationException,
                                      CcServerTimeoutException

      Invoke a specific Decision Service by passing in a `JSONObject`.
      A `JSONObject` root contains the following key/value pairs:
      . . . `name` key - refers to the logical decision "Service" name that should process the request.
      . . . `majorVersion` key - the major version of the Decision Service that should process this request. (optional)
      . . . `minorVersion` key - the minor version of the Decision Service that should process this request. (optional)
      . . . `effectiveTarget` key - the effective timestamp the Server should use to process this request. (optional)
      . . . `Objects` key - contains a JSONArray, with each JSONObject in the JSONArray representing an Entity in the payload.
      This method returns a `JSONObject`.
      A `JSONObject` contains the following key/value pairs:
      . . . The same key/value that were contained in the incoming payload (listed above)
      . . . `Messages` key - contains a JSONObject containing the following key/value pairs:
      . . . . . .`Message` key - contains a JSONArray, with each JSONObject in the JSONArray representing a RuleMessages possted against the payload
      . . . . . .`version` key - the version of the Decision Service that was executed against.

      Parameters:
        `ajsonObjectPayload` - - a `JSONObject` containing the data to be processed by the decision service
      Returns:
        JSONObject - the Message objects posted during Decision Service processing
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerEndlessLoopException`
        `CcServerExecutionException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
        `CcServerTimeoutException`

    - #### execute

          org.json.JSONObject execute(org.json.JSONObject ajsonObjectPayload,
                                      ICcServerHttpInfo aCcServerHttpInfo)
                               throws CcServerDecisionServiceNotRegisteredException,
                                      CcServerEndlessLoopException,
                                      CcServerExecutionException,
                                      CcServerInitializationInProgressException,
                                      CcServerInvalidArgumentException,
                                      CcServerLicenseViolationException,
                                      CcServerTimeoutException

      Equivalent to `execute(JSONObject)`, except for this method accepts `ICcServerHttpInfo`
      Parameters:
        `ajsonObjectPayload` - - a `JSONObject` containing the data to be processed by the decision service
        `aCcServerHttpInfo` - - ICcServerHttpInfo Object containing http headers information
      Returns:
        JSONObject - the Message objects posted during Decision Service processing
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerEndlessLoopException`
        `CcServerExecutionException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
        `CcServerTimeoutException`

    - #### executeNativeJSON

          org.json.JSONObject executeNativeJSON(java.lang.String astrDecisionServiceName,
                                                org.json.JSONObject ajsonObjectPayload,
                                                java.util.Properties apropExecutionProperties)
                                         throws CcServerDecisionServiceNotRegisteredException,
                                                CcServerEndlessLoopException,
                                                CcServerExecutionException,
                                                CcServerInitializationInProgressException,
                                                CcServerInvalidArgumentException,
                                                CcServerLicenseViolationException,
                                                CcServerTimeoutException

      Invoke a specific Decision Service by passing in a `JSONObject`.
      A `JSONObject` root will be considered actual data. This is different than the other execute(JSONObject) method, which conforms to a Corticon specific structure. This method returns a `JSONObject`.
      A `JSONObject` will contain an additional key/value pairs which will contain orphan Entities, Rule Messages, and Metrics data.
      . . . A new corticonSandbox attribute will be added to the main JSONObject. This corticonSandbox' may contain the following name/value pairs:
      . . . `Orphans` key - contains a JSONObject containing the following key/value pairs:
      . . . `Messages` key - contains a JSONObject containing the following key/value pairs:
      . . . `Metrics` key - contains a JSONObject containing the following key/value pairs:

      Parameters:
        `astrDecisionServiceName` - - name of the Decision Service and thus corresponding Corticon Engine pool to use.
        `ajsonObjectPayload` - - a `JSONObject` containing the data to be processed by the decision service
        `apropExecutionProperies` - - a `Properties` containing name/value pairs to override Execution Properties for this execution.
      Returns:
        JSONObject - the updated JSONObject
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerEndlessLoopException`
        `CcServerExecutionException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
        `CcServerTimeoutException`

    - #### executeNativeJSON

          org.json.JSONObject executeNativeJSON(java.lang.String astrDecisionServiceName,
                                                org.json.JSONArray ajsonArrayPayload,
                                                java.util.Properties apropExecutionProperties)
                                         throws CcServerDecisionServiceNotRegisteredException,
                                                CcServerEndlessLoopException,
                                                CcServerExecutionException,
                                                CcServerInitializationInProgressException,
                                                CcServerInvalidArgumentException,
                                                CcServerLicenseViolationException,
                                                CcServerTimeoutException

      Equivalent to `execute(String astrDecisionServiceName, JSONObject ajsonObjectPayload, Properties apropExecutionProperties)`, except for this method accepts a `JSONArray` as a payload.
      Parameters:
        `astrDecisionServiceName` - - name of the Decision Service and thus corresponding Corticon Engine pool to use.
        `ajsonArrayPayload` - - a `JSONArray` containing the data to be processed by the decision service
        `apropExecutionProperies` - - a `Properties` containing name/value pairs to override Execution Properties for this execution.
      Returns:
        JSONObject - the updated JSONObject
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerEndlessLoopException`
        `CcServerExecutionException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
        `CcServerTimeoutException`

    - #### getCcPropertyValue

          java.lang.String getCcPropertyValue(java.lang.String astrPropertyName)
                                       throws CcServerLicenseViolationException

      Returns a `String` value of any Corticon Property that is inside the CcConfig.jar.
      Returns:
        - String property value
      Throws:
        `CcServerLicenseViolationException`

    - #### setCcPropertyValue

          void setCcPropertyValue(java.lang.String astrPropertyName,
                                  java.lang.String astrPropertyValue)
                           throws CcServerInvalidArgumentException,
                                  CcServerLicenseViolationException

      Sets the property values of limited number of properties that can be changed at runtime. The following properties can be set using this method: `loglevel` `logpath` `logDailyRollover` `logRolloverMaxHistory` `logFiltersAccept` `com.corticon.server.execution.logPerDS`
      Throws:
        `CcServerInvalidArgumentException` - exception thrown when property name or value is not supported or invalid
        `CcServerLicenseViolationException`
      See Also:
        `LOG_LEVEL`, `LOG_PATH`, `LOG_ROLLOVER`, `LOG_ROLLOVERS_TO_KEEP`, `LOG_FILTERS_ACCEPT`, `LOG_PER_DS`

    - #### getCcServerInfo

          java.lang.String getCcServerInfo()
                                    throws CcServerLicenseViolationException

      Returns a `String` in XML format that describes the current state of the CcServer. The returned XML String will contain licensing, deployed Decision Services, and transactional information.
      Returns:
        - String in XML format that describes the current state of the CcServer
      Throws:
        `CcServerLicenseViolationException`

    - #### getCcServerLicenseValue

          java.lang.String getCcServerLicenseValue(java.lang.String astrPropertyName)
                                            throws CcServerInvalidArgumentException,
                                                   CcServerLicenseViolationException

      Returns a requested Corticon Server License value.
      Parameters:
        `astrPropertyName` - - the license property to be returned:
        LICENSE_OEM_NAME: Registered name of customer associated with the license
        LICENSE_DATE_GRANTED: Date the license was granted
        LICENSE_MAX_POOLS: The max number of Decision Services that can be deployed
        LICENSE_MAX_REACTORS: The max number of Reactor instances inside of each Decision Service Pool
        LICENSE_MAX_NUMBER_OF_RULES: The max number of rules that can be deployed
        LICENSE_DEACTIVATE_DATE: Date that the Server License expires
        LICENSE_DEACTIVATE_DATE_OVERRIDE: Deactivate the license validation determining whether license has expired
        LICENSE_SINGLE_EXECUTION_ENABLED: Allow single non-database execution against a Decision Service
        LICENSE_SINGLE_EXECUTION_DB_ACCESS_ENABLED: Allow single database execution against a Decision Service
        LICENSE_BATCHPROCESSING_ENABLED: Allow database batch processing
        LICENSE_USAGE_ENFORCED: Activate usage validation on each execution
        LICENSE_USAGE_NAME: Name of the Usage associated with the license
        LICENSE_SERVER_IP: Starting approved server IP
        LICENSE_INCREMENT_IP: Increment of the approved server IP
        LICENSE_IP_OVERRIDE: Deactivate server IP validation
        LICENSE_SERVER_TRANSACTIONS_TIME_PERIOD: The time period that limits the number of transactions
        LICENSE_SERVER_TRANSACTIONS_MAX_EXECUTIONS: The number of transactions within a given time period
        LICENSE_SERVER_TRANSACTION_OVERRIDE: Deactivate transaction validation
        LICENSE_NAMED_USERS: List of approved named users for this license
      Returns:
        - String value of the requested property.
      Throws:
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
      See Also:
        `LICENSE_OEM_NAME`, `LICENSE_DATE_GRANTED`, `LICENSE_MAX_POOLS`, `LICENSE_MAX_REACTORS`, `LICENSE_MAX_NUMBER_OF_RULES`, `LICENSE_DEACTIVATE_DATE`, `LICENSE_DEACTIVATE_DATE_OVERRIDE`, `LICENSE_SINGLE_EXECUTION_ENABLED`, `LICENSE_SINGLE_EXECUTION_DB_ACCESS_ENABLED`, `LICENSE_BATCHPROCESSING_ENABLED`, `#LICENSE_USAGE_ENFORCED`, `#LICENSE_USAGE_NAME`, `#LICENSE_SERVER_IP`, `#LICENSE_INCREMENT_IP`, `#LICENSE_IP_OVERRIDE`, `#LICENSE_SERVER_TRANSACTIONS_TIME_PERIOD`, `#LICENSE_SERVER_TRANSACTIONS_MAX_EXECUTIONS`, `#LICENSE_SERVER_TRANSACTION_OVERRIDE`, `#LICENSE_NAMED_USERS`

    - #### getDecisionServiceNames

          java.util.Collection getDecisionServiceNames()
                                                throws CcServerLicenseViolationException

      Returns a `Collection` of Decision Service name Strings that are currently loaded into the Corticon Server.
      Returns:
        - Collection of Decision Service names
      Throws:
        `CcServerLicenseViolationException`

    - #### getDecisionServicePropertyValue

          java.lang.String getDecisionServicePropertyValue(java.lang.String astrDecisionServiceName,
                                                           java.lang.String astrPropertyName)
                                                    throws CcServerDecisionServiceNotRegisteredException,
                                                           CcServerInvalidArgumentException,
                                                           CcServerLicenseViolationException

      Invokes `getDecisionServicePropertyValue(astrDecisionServiceName, , astrPropertyName)`.
      Parameters:
        `astrDecisionServiceName` - - logical name of an existing Decision Service (and thus corresponding Corticon Engine pool).
        `astrPropertyName` - - the Decision Server property to be returned:
      Returns:
        - String value of the requested property.
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
      See Also:
        `getDecisionServicePropertyValue(String, int, String)`

    - #### getDecisionServicePropertyValue

          java.lang.String getDecisionServicePropertyValue(java.lang.String astrDecisionServiceName,
                                                           int aiDecisionServiceMajorVersion,
                                                           java.lang.String astrPropertyName)
                                                    throws CcServerDecisionServiceNotRegisteredException,
                                                           CcServerInvalidArgumentException,
                                                           CcServerLicenseViolationException

      Invokes `getDecisionServicePropertyValue(astrDecisionServiceName, aiDecisionServiceMajorVersion, )`.
      Parameters:
        `astrDecisionServiceName` - - logical name of an existing Decision Service (and thus corresponding Corticon Engine pool).
        `aiDecisionServiceMajorVersion` - - a specific Major Version of the Decision Service to be modified
        `astrPropertyName` - - the Decision Server property to be returned:
      Returns:
        - String value of the requested property.
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
      See Also:
        `getDecisionServicePropertyValue(String, int, int, String)`

    - #### getDecisionServicePropertyValue

          java.lang.String getDecisionServicePropertyValue(java.lang.String astrDecisionServiceName,
                                                           int aiDecisionServiceMajorVersion,
                                                           int aiDecisionServiceMinorVersion,
                                                           java.lang.String astrPropertyName)
                                                    throws CcServerDecisionServiceNotRegisteredException,
                                                           CcServerInvalidArgumentException,
                                                           CcServerLicenseViolationException

      Get a particular property value related to a specific Decision Service based on name and major and minor version number.
      Parameters:
        `astrDecisionServiceName` - - logical name of an existing Decision Service (and thus corresponding Corticon Engine pool).
        `aiDecisionServiceMajorVersion` - - a specific Major Version of the Decision Service to be modified
        `aiDecisionServiceMinorVersion` - - a specific Minor Version of the Decision Service to be modified
        `astrPropertyName` - - the Decision Server property to be returned:
      Returns:
        - String value of the requested property.
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
      See Also:
        `PROPERTY_EDS_URI`, `PROPERTY_EDS_FILE_TIMESTAMP`, `PROPERTY_DEPLOYMENT_TIMESTAMP`, `#PROPERTY_MIN_POOL_SIZE`, `PROPERTY_MAX_POOL_SIZE`, `PROPERTY_AUTO_RELOAD`, `PROPERTY_VERSION_NUMBER`, `PROPERTY_EFFECTIVE_START_DATE`, `PROPERTY_EFFECTIVE_END_DATE`, `PROPERTY_ACTIVE_POOL`, `PROPERTY_LOADED_FROM_CDD`, `PROPERTY_CURRENTLY_RUNNING_IN_BATCH_MODE`, `PROPERTY_REACTORS_CURRENTLY_PROCESSING`, `PROPERTY_REACTORS_WAITING_IN_POOL`, `PROPERTY_NUMBER_OF_RULES_DEPLOYED`, `PROPERTY_MESSAGE_STRUCTURE_TYPE`, `PROPERTY_DATABASE_ACCESS_MODE`, `#PROPERTY_DATABASE_ACCESS_PROPERTIES`, `PROPERTY_DATABASE_ACCESS_RETURN_ENTITIES_MODE`, `#PROPERTY_DEPLOYED_AS_TEST_DECISION_SERVICE`, `getDecisionServicePropertyValue(String, String)`, `#PROPERTY_EXECUTION_LOG_PATH`, `#PROPERTY_EXECUTION_LOG_LEVEL`, `#PROPERTY_EXECUTION_LOG_PER_THREAD`, `PROPERTY_EXECUTION_RESTRICT_RULEMESSAGES_INFO`, `PROPERTY_EXECUTION_RESTRICT_RULEMESSAGES_WARNING`, `PROPERTY_EXECUTION_RESTRICT_RULEMESSAGES_VIOLATION`, `PROPERTY_IS_DEPLOYED`, `PROPERTY_DEPLOYED_EDS`, `PROPERTY_WSDL`, `PROPERTY_XML_REPORT`, `PROPERTY_LAST_EXECUTION_TIMESTAMP`, `PROPERTY_TOTAL_EXECUTION_COUNT`, `PROPERTY_TOTAL_EXECUTION_TIME`

    - #### setDecisionServicePropertyValue

          void setDecisionServicePropertyValue(java.lang.String astrDecisionServiceName,
                                               java.lang.String astrPropertyName,
                                               java.lang.String astrPropertyValue)
                                        throws CcServerDecisionServiceLoadedFromCddException,
                                               CcServerDecisionServiceNotRegisteredException,
                                               CcServerFileOrDirNotFoundException,
                                               CcServerLicenseViolationException,
                                               CcServerInvalidArgumentException,
                                               CcServerDatabaseValidationException,
                                               CcServerInvalidDecisionServiceException

      Invokes `setDecisionServicePropertyValue(astrDecisionServiceName, , astrPropertyName, astrProperyValue)`.
      Parameters:
        `astrDecisionServiceName` - - logical name of an existing Decision Service (and thus corresponding Corticon Engine pool).
        `astrPropertyName` - - the Decision Server property to be changed
        `astrPropertyValue` - - the new Decision Server property value
      Throws:
        `CcServerDecisionServiceLoadedFromCddException`
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerFileOrDirNotFoundException`
        `CcServerLicenseViolationException`
        `CcServerInvalidArgumentException`
        `CcServerDatabaseValidationException`
        `CcServerInvalidDecisionServiceException`
      See Also:
        `setDecisionServicePropertyValue(String, int, String, String)`

    - #### setDecisionServicePropertyValue

          void setDecisionServicePropertyValue(java.lang.String astrDecisionServiceName,
                                               int aiMajorVersionNumber,
                                               java.lang.String astrPropertyName,
                                               java.lang.String astrPropertyValue)
                                        throws CcServerDecisionServiceLoadedFromCddException,
                                               CcServerDecisionServiceNotRegisteredException,
                                               CcServerFileOrDirNotFoundException,
                                               CcServerLicenseViolationException,
                                               CcServerInvalidArgumentException,
                                               CcServerDatabaseValidationException,
                                               CcServerInvalidDecisionServiceException

      Invokes `setDecisionServicePropertyValue(astrDecisionServiceName, aiMajorVersionNumber, , astrPropertyName, astrProperyValue)`.
      Parameters:
        `astrDecisionServiceName` - - logical name of an existing Decision Service (and thus corresponding Corticon Engine pool).
        `astrPropertyName` - - the Decision Server property to be changed
        `astrPropertyValue` - - the new Decision Server property value
      Throws:
        `CcServerDecisionServiceLoadedFromCddException`
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerFileOrDirNotFoundException`
        `CcServerLicenseViolationException`
        `CcServerInvalidArgumentException`
        `CcServerDatabaseValidationException`
        `CcServerInvalidDecisionServiceException`
      See Also:
        `setDecisionServicePropertyValue(String, int, int, String, String)`

    - #### setDecisionServicePropertyValue

          void setDecisionServicePropertyValue(java.lang.String astrDecisionServiceName,
                                               int aiMajorVersionNumber,
                                               int aiMinorVersionNumber,
                                               java.lang.String astrPropertyName,
                                               java.lang.String astrPropertyValue)
                                        throws CcServerDecisionServiceLoadedFromCddException,
                                               CcServerDecisionServiceNotRegisteredException,
                                               CcServerFileOrDirNotFoundException,
                                               CcServerLicenseViolationException,
                                               CcServerInvalidArgumentException,
                                               CcServerDatabaseValidationException,
                                               CcServerInvalidDecisionServiceException

      Set a new property value related to a specific Decision Service based on name and major and minor version number. The user is only able to dynmically change certain values related to the Decision Service.
      Parameters:
        `astrDecisionServiceName` - - logical name of an existing Decision Service (and thus corresponding Corticon Engine pool).
        `aiDecisionServiceMajorVersion` - - a specific Major Version of the Decision Service to be modified
        `aiDecisionServiceMinorVersion` - - a specific Minor Version of the Decision Service to be modified
        `astrPropertyName` - - the Decision Server property to be changed
        `astrPropertyValue` - - the new Decision Server property value
      Throws:
        `CcServerDecisionServiceLoadedFromCddException`
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerFileOrDirNotFoundException`
        `CcServerLicenseViolationException`
        `CcServerInvalidArgumentException`
        `CcServerDatabaseValidationException`
        `CcServerInvalidDecisionServiceException`
      See Also:
        `PROPERTY_RULEASSET_URI`, `PROPERTY_MAX_POOL_SIZE`, `PROPERTY_AUTO_RELOAD`, `PROPERTY_MESSAGE_STRUCTURE_TYPE`, `PROPERTY_DATABASE_ACCESS_MODE`, `#PROPERTY_DATABASE_ACCESS_PROPERTIES_PATH`, `PROPERTY_DATABASE_ACCESS_RETURN_ENTITIES_MODE`, `PROPERTY_EXECUTION_RESTRICT_RULEMESSAGES_INFO`, `PROPERTY_EXECUTION_RESTRICT_RULEMESSAGES_WARNING`, `PROPERTY_EXECUTION_RESTRICT_RULEMESSAGES_VIOLATION`

    - #### getDeploymentDescriptorDirectoryPath

          java.lang.String getDeploymentDescriptorDirectoryPath()
                                                         throws CcServerLicenseViolationException

      Returns the current directory that the Maintenance Service looks for new CDD files to be auto-deployed.
      Returns:
        - String path to the directory
      Throws:
        `CcServerLicenseViolationException`

    - #### getLicensePath

          java.lang.String getLicensePath()
                                   throws CcServerLicenseViolationException

      Get the location of the CcLicense.jar that the CcServer is using.
      Returns:
        String Fully Qualified path to the CcLicense.jar. A null value will be returned if the path has not been specified and the CcLicense.jar is being retrieved from from the Classpath.
      Throws:
        `CcServerLicenseViolationException`

    - #### getSandboxDirectoryPath

          java.lang.String getSandboxDirectoryPath()
                                            throws CcServerLicenseViolationException

      Returns the current directory that the Server Sandbox is located. Changes must be made to the CcConfig.jar -> CcServer.properties file before the CcServer has been initialized.
      Returns:
        - String path to the directory
      Throws:
        `CcServerLicenseViolationException`

    - #### getCompilationDirectoryPath

          java.lang.String getCompilationDirectoryPath()
                                                throws CcServerLicenseViolationException

      Return the current directory that the Server uses to compile assets. This path is dependent on the SandboxDirectoryPath.
      Returns:
        Sring
      Throws:
        `CcServerLicenseViolationException`

    - #### getDecisionServiceDirectoryPath

          java.lang.String getDecisionServiceDirectoryPath()
                                                    throws CcServerLicenseViolationException

      Return the current directory that the Server uses to store the compiled Decision Services. This path is dependent on the SandboxDirectoryPath.
      Returns:
        Sring
      Throws:
        `CcServerLicenseViolationException`

    - #### getDecisionServiceDetailsAll

          java.util.List getDecisionServiceDetailsAll()
                                               throws CcServerDecisionServiceNotRegisteredException,
                                                      CcServerInvalidArgumentException,
                                                      CcServerLicenseViolationException

      Invokes `getDecisionServiceDetailsAll(, astrStructureType)`
      Returns:
        - List containing a String representation of JSON structure of the details of each Decision Service for this particular name and minor version
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerInvalidArgumentExceptio`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`

    - #### getDecisionServiceDetailsAll

          java.util.List getDecisionServiceDetailsAll(java.lang.String astrDecisionServiceName)
                                               throws CcServerDecisionServiceNotRegisteredException,
                                                      CcServerLicenseViolationException,
                                                      CcServerInvalidArgumentException

      Invokes `getDecisionServiceDetailsAll(astrDecisionServiceName, , astrStructureType)`
      Parameters:
        `astrDecisionServiceName` - - logical name of an existing Decision Service (and thus corresponding Corticon Engine pool).
      Returns:
        - List containing a String representation of JSON structure of the details of each Decision Service for this particular name and minor version
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerInvalidArgumentExceptio`
        `CcServerLicenseViolationException`
        `CcServerInvalidArgumentException`

    - #### getDecisionServiceDetailsAll

          java.util.List getDecisionServiceDetailsAll(java.lang.String astrDecisionServiceName,
                                                      int aiDecisionServiceMajorVersion)
                                               throws CcServerDecisionServiceNotRegisteredException,
                                                      CcServerLicenseViolationException,
                                                      CcServerInvalidArgumentException

      Returns the String object representation for the specified decision service.
      Parameters:
        `astrDecisionServiceName` - - logical name of an existing Decision Service (and thus corresponding Corticon Engine pool).
        `aiDecisionServiceMajorVersion` - - a specific Major Version of the Decision Service to be modified
      Returns:
        - List containing a String representation of JSON structure of the details of each Decision Service for this particular name and minor version
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`

    - #### getTotalExecutionCount

          long getTotalExecutionCount()
                               throws CcServerDecisionServiceNotRegisteredException,
                                      CcServerLicenseViolationException,
                                      CcServerInvalidArgumentException,
                                      CcServerTimeoutException

      Returns the total execution count across all Decision Service Versions.
      Returns:
        - long of total times this Decision Service has been executed against.
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerInvalidArgumentException`
        `CcServerTimeoutException`
        `CcServerLicenseViolationException`
      See Also:
        `#getTotalExecutionCount(String, int)`, `#getStoredExecutionTimes(String)`, `#getStoredExecutionTimes(String, int)`, `#clearAllCcServerExecutionCounts()`, `#clearAllCcServerStoredExecutionTimes()`, `#clearExecutionCounts(String)`, `#clearExecutionCounts(String, int)`, `#clearStoredExecutionTimes(String)`, `#clearStoredExecutionTimes(String, int)`, `#startServerPerformanceMonitoringService()`, `#stopServerPerformanceMonitoringService()`

    - #### getTotalExecutionTime

          long getTotalExecutionTime()
                              throws CcServerDecisionServiceNotRegisteredException,
                                     CcServerLicenseViolationException,
                                     CcServerInvalidArgumentException,
                                     CcServerTimeoutException

      Returns the total execution time across all Decision Service Versions.
      Returns:
        - long of total times this Decision Service has been executed against.
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerInvalidArgumentException`
        `CcServerTimeoutException`
        `CcServerLicenseViolationException`
      See Also:
        `#getTotalExecutionCount(String, int)`, `#getStoredExecutionTimes(String)`, `#getStoredExecutionTimes(String, int)`, `#clearAllCcServerExecutionCounts()`, `#clearAllCcServerStoredExecutionTimes()`, `#clearExecutionCounts(String)`, `#clearExecutionCounts(String, int)`, `#clearStoredExecutionTimes(String)`, `#clearStoredExecutionTimes(String, int)`, `#startServerPerformanceMonitoringService()`, `#stopServerPerformanceMonitoringService()`

    - #### isCDDFileDeployed

          boolean isCDDFileDeployed(java.lang.String astrPathToCddFile)
                             throws CcServerLicenseViolationException,
                                    CcServerInvalidArgumentException

      Returns a `boolean` based on whether the CDD has been deployed in the CcServer.
      Parameters:
        `astrPathToCddFile` - - path to the .cdd in question
      Returns:
        - boolean , true if .cdd has bee deployed and false if not
      Throws:
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`

    - #### isDecisionServiceDeployed

          boolean isDecisionServiceDeployed(java.lang.String astrDecisionServiceName)
                                     throws CcServerLicenseViolationException,
                                            CcServerInvalidArgumentException

      Invokes `isDecisionServiceDeployed(astrDecisionServiceName, )`.
      Parameters:
        `astrDecisionServiceName` - - name of the Decision Service that you want to inquire about
      Returns:
        boolean
      Throws:
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`

    - #### isDecisionServiceDeployed

          boolean isDecisionServiceDeployed(java.lang.String astrDecisionServiceName,
                                            int aiDecisionServiceMajorVersion)
                                     throws CcServerLicenseViolationException,
                                            CcServerInvalidArgumentException

      Invokes `isDecisionServiceDeployed(astrDecisionServiceName, aiDecisionServiceMajorVersion, )`.
      Parameters:
        `astrDecisionServiceName` - - name of the Decision Service that you want to inquire about
        `aiDecisionServiceMajorVersion` - - a specific Major Version of the Decision Service
      Returns:
        boolean
      Throws:
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`

    - #### isDecisionServiceDeployed

          boolean isDecisionServiceDeployed(java.lang.String astrDecisionServiceName,
                                            int aiDecisionServiceMajorVersion,
                                            int aiDecisionServiceMinorVersion)
                                     throws CcServerLicenseViolationException,
                                            CcServerInvalidArgumentException

      Query the CcServer to determine is a Decision Service has already been deployed under a specific name and Major Version number and Minor Version number
      Parameters:
        `astrDecisionServiceName` - - name of the Decision Service that you want to inquire about
        `aiDecisionServiceMajorVersion` - - a specific Major Version of the Decision Service
        `aiDecisionServiceMinorVersion` - - a specific Minor Version of the Decision Service
      Returns:
        boolean
      Throws:
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`

    - #### isDynamicUpdateMonitoringServiceRunning

          boolean isDynamicUpdateMonitoringServiceRunning()
                                                   throws CcServerLicenseViolationException

      See `startDynamicUpdateMonitorService`. See `stopDynamicUpdateMonitorService`.
      Returns:
        - boolean true=service is running and false=service is not
      Throws:
        `CcServerLicenseViolationException`
      See Also:
        `startDynamicUpdateMonitoringService()`, `loadFromCdd(String)`, `#addDecisionService(String, String, boolean, int, int, String)`

    - #### isServerExecutionTimesIntervalServiceRunning

          boolean isServerExecutionTimesIntervalServiceRunning()
                                                        throws CcServerLicenseViolationException

      See `startServerExecutionTimesIntervalService`. See `stopServerExecutionTimesIntervalService`.
      Returns:
        - boolean true=service is running and false=service is not
      Throws:
        `CcServerLicenseViolationException`
      See Also:
        `startServerExecutionTimesIntervalService()`

    - #### isServerDiagnosticServiceRunning

          boolean isServerDiagnosticServiceRunning()
                                            throws CcServerLicenseViolationException

      See `startServerDiagnosticService`. See `stopServerDiagnosticService`.
      Returns:
        - boolean true=service is running and false=service is not
      Throws:
        `CcServerLicenseViolationException`
      See Also:
        `startServerDiagnosticService()`, `stopServerDiagnosticService()`, `isServerDiagnosticServiceRunning()`, `setDiagnosticsEnabled(boolean)`, `setServerDiagnosticsWaitTime(long)`

    - #### loadFromCdd

          void loadFromCdd(java.lang.String astrCddPath)
                    throws CcServerDecisionServiceAlreadyRegisteredException,
                           CcServerFileOrDirNotFoundException,
                           CcServerInvalidArgumentException,
                           CcServerDatabaseValidationException,
                           CcServerInvalidCddException,
                           CcServerInvalidDecisionServiceException,
                           CcServerLicenseViolationException

      Deploys the specified Corticon Deployment Descriptor (CDD). This causes the Corticon Server to initialize a Decision Service pool for each entry in the CDD using the initialization parameters specified (see `addDecisionService` for more details). The CDD is updated as an ATOMic unit. If any of the Decision Services within the CDD fails to initialize, the entire CDD update is rolled back and the pre-update state of the Server is restored. The loaded CDD will continue to be monitored for changes by a Maintenance thread (see `startDynamicUpdateMonitoringService` for more details). `loadFromCdd` can be called to load multiple specific CDDs. To load all CDDs in a directory, use `loadFromCddDir` instead.
      Parameters:
        `astrCddPath` - - the path to the CDD file to be deployed
      Throws:
        `CcServerDecisionServiceAlreadyRegisteredException`
        `CcServerFileOrDirNotFoundException`
        `CcServerInvalidArgumentException`
        `CcServerInvalidCddException`
        `CcServerDatabaseValidationException`
        `CcServerInvalidDecisionServiceException`
        `CcServerLicenseViolationException`
      See Also:
        `loadFromCddDir(String)`, `#addDecisionService(String, String, boolean, int, int, String)`

    - #### loadFromCddDir

          void loadFromCddDir(java.lang.String astrCddDirPath)
                       throws CcServerLicenseViolationException,
                              CcServerInvalidArgumentException,
                              CcServerInvalidCddException

      Deploys all decision services in all Corticon Deployment Descriptor (CDD) files in a specified directory. This causes the Corticon Server to initialize, for each decision service, the set of Corticon Engine pools specified in the CDD. The CDD directory will continue to be monitored by a Maintenance thread (see `startDynamicUpdateMonitoringService` method for more details).
      Parameters:
        `astrCddDirPath` - - Path to a directory where .cdd files are located
      Throws:
        `CcServerLicenseViolationException`
        `CcServerInvalidArgumentException`
        `CcServerInvalidCddException`
      See Also:
        `loadFromCdd(String)`, `#addDecisionService(String, String, boolean, int, int, String)`, `startDynamicUpdateMonitoringService()`

    - #### reloadDecisionService

          void reloadDecisionService(java.lang.String astrDecisionServiceName)
                              throws CcServerDecisionServiceLoadedFromCddException,
                                     CcServerDecisionServiceNotRegisteredException,
                                     CcServerFileOrDirNotFoundException,
                                     CcServerInvalidArgumentException,
                                     CcServerDatabaseValidationException,
                                     CcServerInvalidDecisionServiceException,
                                     CcServerLicenseViolationException

      Invokes `reloadDecisionService(astrDecisionServiceName, )`.
      Parameters:
        `astrDecisionServiceName` - - name of the Decision Service and thus corresponding Corticon Engine pool to use.
      Throws:
        `CcServerDecisionServiceLoadedFromCddException`
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerFileOrDirNotFoundException`
        `CcServerInvalidArgumentException`
        `CcServerDatabaseValidationException`
        `CcServerInvalidDecisionServiceException`
        `CcServerLicenseViolationException`
      See Also:
        `stopDynamicUpdateMonitoringService()`

    - #### reloadDecisionService

          void reloadDecisionService(java.lang.String astrDecisionServiceName,
                                     int aiDecisionServiceVersion)
                              throws CcServerDecisionServiceLoadedFromCddException,
                                     CcServerDecisionServiceNotRegisteredException,
                                     CcServerFileOrDirNotFoundException,
                                     CcServerInvalidArgumentException,
                                     CcServerDatabaseValidationException,
                                     CcServerInvalidDecisionServiceException,
                                     CcServerLicenseViolationException

      Invokes `reloadDecisionService(astrDecisionServiceName, aiDecisionServiceMajorVersion, )`.
      Parameters:
        `astrDecisionServiceName` - - name of the Decision Service and thus corresponding Corticon Engine pool to use.
        `aiDecisionServiceVersion` - - a specific Version of the Decision Servie to be modified
      Throws:
        `CcServerDecisionServiceLoadedFromCddException`
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerFileOrDirNotFoundException`
        `CcServerInvalidArgumentException`
        `CcServerDatabaseValidationException`
        `CcServerInvalidDecisionServiceException`
        `CcServerLicenseViolationException`
      See Also:
        `stopDynamicUpdateMonitoringService()`

    - #### reloadDecisionService

          void reloadDecisionService(java.lang.String astrDecisionServiceName,
                                     int aiDecisionServiceMajorVersion,
                                     int aiDecisionServiceMinorVersion)
                              throws CcServerDecisionServiceLoadedFromCddException,
                                     CcServerDecisionServiceNotRegisteredException,
                                     CcServerFileOrDirNotFoundException,
                                     CcServerInvalidArgumentException,
                                     CcServerDatabaseValidationException,
                                     CcServerInvalidDecisionServiceException,
                                     CcServerLicenseViolationException

      Reload a specific deployed Major Version and Minor Version of a Decision Service. This method is used to control dynamic updates of the Decision Service. The client may consider turning off the dynamic update monitoring service when using this method.
      Parameters:
        `astrDecisionServiceName` - - name of the Decision Service and thus corresponding Corticon Engine pool to use.
        `aiDecisionServiceMajorVersion` - - a specific Major Version of the Decision Servie to be modified
        `aiDecisionServiceMinorVersion` - - a specific Minor Version of the Decision Servie to be modified
      Throws:
        `CcServerDecisionServiceLoadedFromCddException`
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerFileOrDirNotFoundException`
        `CcServerInvalidArgumentException`
        `CcServerDatabaseValidationException`
        `CcServerInvalidDecisionServiceException`
        `CcServerLicenseViolationException`
      See Also:
        `stopDynamicUpdateMonitoringService()`

    - #### removeDecisionService

          void removeDecisionService(java.lang.String astrDecisionServiceName)
                              throws CcServerDecisionServiceNotRegisteredException,
                                     CcServerDecisionServiceLoadedFromCddException,
                                     CcServerLicenseViolationException,
                                     CcServerInvalidArgumentException

      Invokes `removeDecisionService(astrDecisionServiceName, aiDecisionServiceMajorVersion, )`.
      Parameters:
        `astrDecisionServiceName` - - Name of the Decision Service to be removed from the server.
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerDecisionServiceLoadedFromCddException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
      See Also:
        `#addDecisionService(String, String, boolean, int, int, String)`

    - #### removeDecisionService

          void removeDecisionService(java.lang.String astrDecisionServiceName,
                                     int aiDecisionServiceMajorVersion)
                              throws CcServerDecisionServiceNotRegisteredException,
                                     CcServerDecisionServiceLoadedFromCddException,
                                     CcServerLicenseViolationException,
                                     CcServerInvalidArgumentException

      Invokes `removeDecisionService(astrDecisionServiceName, aiDecisionServiceMajorVersion, )`.
      Parameters:
        `astrDecisionServiceName` - - Name of the Decision Service to be removed from the server.
        `aiDecisionServiceMajorVersion` - - a specific Major Version of the Decision Servie to be modified
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerDecisionServiceLoadedFromCddException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
      See Also:
        `#addDecisionService(String, String, boolean, int, int, String)`

    - #### removeDecisionService

          void removeDecisionService(java.lang.String astrDecisionServiceName,
                                     int aiDecisionServiceMajorVersion,
                                     int aiDecisionServiceMinorVersion)
                              throws CcServerDecisionServiceNotRegisteredException,
                                     CcServerDecisionServiceLoadedFromCddException,
                                     CcServerLicenseViolationException,
                                     CcServerInvalidArgumentException

      Removes version `aiDecisionServiceMajorVersion` and `aiDecisionServiceMinorVersion` of Decision Service `astrDecisionServiceName` and all associated Corticon Engines in its pool (if any). This method only operates on Decision Services loaded using `addDecisionService`.
      Parameters:
        `astrDecisionServiceName` - - Name of the Decision Service to be removed from the server.
        `aiDecisionServiceMajorVersion` - - a specific Major Version of the Decision Servie to be modified
        `aiDecisionServiceMinorVersion` - - a specific Minor Version of the Decision Servie to be modified
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerDecisionServiceLoadedFromCddException`
        `CcServerLicenseViolationException`
        `CcServerInvalidArgumentException`
      See Also:
        `#addDecisionService(String, String, boolean, int, int, String)`

    - #### setDeploymentDescriptorDirectoryPath

          void setDeploymentDescriptorDirectoryPath(java.lang.String astrDeploymentDirectoryPath)
                                             throws CcServerFileOrDirNotFoundException,
                                                    CcServerLicenseViolationException,
                                                    CcServerInvalidArgumentException

      Sets the current directory that the Maintenance Service looks for new CDD files to be auto-deployed.
      Parameters:
        `astrDeploymentDirectoryPath` - - Path to a directory
      Throws:
        `CcServerFileOrDirNotFoundException`
        `CcServerLicenseViolationException`
        `CcServerInvalidArgumentException`

    - #### setLicensePath

          void setLicensePath(java.lang.String astrLicensePath)
                       throws CcServerLicenseViolationException

      Set the location of the CcLicense.jar that the CcServer should use.
      Parameters:
        `astrLicensePath` - Fully Qualified path to the CcLicense.jar
      Throws:
        `CcServerLicenseViolationException`

    - #### setLogLevel

          void setLogLevel(java.lang.String astrLogPath)
                    throws CcServerLicenseViolationException,
                           CcServerInvalidArgumentException

      Sets the Log level for the server.
      Parameters:
        `astrLogLevel` - - the log level:
        LOG_LEVEL_DEBUG: All messages are logged, including debugging info
        LOG_LEVEL_INFO: All messages except debugging messages are logged
        LOG_LEVEL_DIAGNOSTIC: Only Diagnostic messages and Exceptions are logged
        LOG_LEVEL_VIOLATION: Only Exceptions are logged
      Throws:
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`
      See Also:
        `#LOG_LEVEL_DEBUG`, `#LOG_LEVEL_INFO`, `#LOG_LEVEL_DIANOSTIC`, `#LOG_LEVEL_VIOLATION`

    - #### setLogPath

          void setLogPath(java.lang.String astrLogPath)
                   throws CcServerLicenseViolationException,
                          CcServerInvalidArgumentException

      Sets the path for the Corticon Server log files. The Corticon Server log is a trace of Corticon Server activity and is distinct from Messages that result from rule actions. Note: the default path is in %corticon_base%\log
      Parameters:
        `astrLogPath` - - path to the directory where log files are written
      Throws:
        `CcServerLicenseViolationException`
        `CcServerInvalidArgumentException`

    - #### setServerExecutionTimesIntervalTime

          void setServerExecutionTimesIntervalTime(long alInterval)
                                            throws CcServerLicenseViolationException

      Change the interval time that the Server Execution Times Interval Service uses to determine when to record interval values.
      Parameters:
        `alInterval` - - time in milliseconds that the Server Execution Times Interval Service will wake up and record the interval values.
      Throws:
        `CcServerLicenseViolationException`

    - #### setServerDiagnosticsWaitTime

          void setServerDiagnosticsWaitTime(long alWaitTime)
                                     throws CcServerLicenseViolationException

      Change the wait time for the Diagnostic service. Diagnostics will log every alWaitTime ms.
      Parameters:
        `alWaitTime` - - time in milliseconds between diagnostic log entries
      Throws:
        `CcServerLicenseViolationException`
      See Also:
        `startServerDiagnosticService()`, `stopServerDiagnosticService()`, `isServerDiagnosticServiceRunning()`, `setDiagnosticsEnabled(boolean)`, `setServerDiagnosticsWaitTime(long)`

    - #### setIntervalProcessingEnabled

          void setIntervalProcessingEnabled(boolean abValue)
                                     throws CcServerLicenseViolationException

      Enable/Disable the Interval Time processing
      Throws:
        `CcServerLicenseViolationException`

    - #### setDiagnosticsEnabled

          void setDiagnosticsEnabled(boolean abValue)
                              throws CcServerLicenseViolationException

      Enable/Disable server diagnostic data collection. Note this setting is independent of the Diagnostic service
      Throws:
        `CcServerLicenseViolationException`
      See Also:
        `startServerDiagnosticService()`, `stopServerDiagnosticService()`, `isServerDiagnosticServiceRunning()`, `setDiagnosticsEnabled(boolean)`, `setServerDiagnosticsWaitTime(long)`

    - #### startDynamicUpdateMonitoringService

          void startDynamicUpdateMonitoringService()
                                            throws CcServerLicenseViolationException

      Each Decision Service and each CDD loaded into the Server is monitored by a Maintenance thread at intervals of X where X is the number of milliseconds in the `CcConfig.jar|CcServer.properties| com.corticon.ccserver.dynamicUpdateMonitoringService.serviceIntervals`. If X=0, the Maintenance service is shutdown at server initialization time. The Maintenance thread can be started up and/or shutdown using `startDynamicUpdateMonitoringService/stopDynamicUpdateMonitoringService`. If any new CDD's are added or any existing CDDs are removed or updated, the Maintenance service detects the changes and dynamically refreshes the server to reflect the changes. If any of the CDDs fails to load, a message is printed to the console and the details of the failure are logged in the Corticon log file. Each CDD is updated as an atomic unit. If the update to any of the Decision Services within the CDD fail, the entire CDD update is rolled back and the pre-update state of the Server is restored.

      The Maintenance thread also monitors the .eds, erf, and ers files for the Decision Services already to detect possible updates. For Decision Services loaded with the Automatic Reload flag set to true, an update to the .eds, erf, and ers files results in a dynamic refresh of the Decision Service. If an error occurs during this process, the pre-refresh state of the Decision Service is restored.

      Throws:
        `CcServerLicenseViolationException`
      See Also:
        `stopDynamicUpdateMonitoringService()`, `loadFromCdd(String)`, `#addDecisionService(String, String, boolean, int, int, String)`

    - #### startServerExecutionTimesIntervalService

          void startServerExecutionTimesIntervalService()
                                                 throws CcServerLicenseViolationException

      Each Decision Service loaded into the Server is monitored by an Server Execution Times Interval Service thread at intervals of X that will keep track of total execution times, total execution count, and the average execution times for all executions that occurred during each interval. Also, the each Decision Service will maintain up to X intervals which is configurable with a property in CcServer.properties.
      Throws:
        `CcServerLicenseViolationException`
      See Also:
        `#getIntervalExecutionCounts(String)`, `#getIntervalExecutionCounts(String, int)`, `#getIntervalExecutionTimes(String)`, `#getIntervalExecutionTimes(String, int)`, `#getIntervalExecutionAverageTimes(String)`, `#getIntervalExecutionAverageTimes(String, int)`, `setServerExecutionTimesIntervalTime(long)`, `#clearAllCcServerIntervalValues()`, `#clearIntervalValues(String)`, `#clearIntervalValues(String, int)`, `stopServerExecutionTimesIntervalService()`

    - #### startServerDiagnosticService

          void startServerDiagnosticService()
                                     throws CcServerLicenseViolationException

      This will start the Diagnostic Service. This service will log any diagnostic data collected (data collection if diagnostic data collection enabled) A message will be logged after configured wait time at log level DIAGNOSTIC If Log Level < DIAGNOSTIC the message will not be posted.
      Throws:
        `CcServerLicenseViolationException`
      See Also:
        `startServerDiagnosticService()`, `stopServerDiagnosticService()`, `isServerDiagnosticServiceRunning()`, `setDiagnosticsEnabled(boolean)`, `setServerDiagnosticsWaitTime(long)`

    - #### stopDynamicUpdateMonitoringService

          void stopDynamicUpdateMonitoringService()
                                           throws CcServerLicenseViolationException

      See `startDynamicUpdateMonitorService`.
      Throws:
        `CcServerLicenseViolationException`
      See Also:
        `startDynamicUpdateMonitoringService()`, `loadFromCdd(String)`, `#addDecisionService(String, String, boolean, int, int, String)`

    - #### stopServerExecutionTimesIntervalService

          void stopServerExecutionTimesIntervalService()
                                                throws CcServerLicenseViolationException

      See `stopServerExecutionTimesIntervalService`.
      Throws:
        `CcServerLicenseViolationException`
      See Also:
        `#getIntervalExecutionCounts(String)`, `#getIntervalExecutionCounts(String, int)`, `#getIntervalExecutionTimes(String)`, `#getIntervalExecutionTimes(String, int)`, `#getIntervalExecutionAverageTimes(String)`, `#getIntervalExecutionAverageTimes(String, int)`, `setServerExecutionTimesIntervalTime(long)`, `#clearAllCcServerIntervalValues()`, `#clearIntervalValues(String)`, `#clearIntervalValues(String, int)`, `startServerExecutionTimesIntervalService()`

    - #### stopServerDiagnosticService

          void stopServerDiagnosticService()
                                    throws CcServerLicenseViolationException

      Start Diagnostic Logging Service
      Throws:
        `CcServerLicenseViolationException`
      See Also:
        `startServerDiagnosticService()`, `stopServerDiagnosticService()`, `isServerDiagnosticServiceRunning()`, `setDiagnosticsEnabled(boolean)`, `setServerDiagnosticsWaitTime(long)`

    - #### isCcServerRunning

          boolean isCcServerRunning()
                             throws CcServerLicenseViolationException

      Allows a client application to ask the CcServer it is up and running.
      Returns:
        - boolean (true/false)
      Throws:
        `CcServerLicenseViolationException`

    - #### startBatchExecution

          java.lang.String startBatchExecution(org.json.JSONObject ajsonObjectBatchProcessingProperties)
                                        throws CcServerDecisionServiceNotRegisteredException,
                                               CcServerDecisionServiceQueryServiceLoadFailedException,
                                               CcServerInitializationInProgressException,
                                               CcServerInvalidArgumentException,
                                               CcServerLicenseViolationException

      This method will start a Batch Execution against a particular Decision Service based on the Batch Processing Properties outlined in the passed in JSONObject.
      Parameters:
        `ajsonObjectBatchProcessingProperties` - - JSONObject containing all necessary processing properties to run the desired Batch Execution.
      Returns:
        - String, which will be unique Id for the newly started Batch Execution
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerDecisionServiceQueryServiceLoadFailedException`
        `CcServerInitializationInProgressException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`

    - #### stopBatchExecution

          void stopBatchExecution(java.lang.String astrBatchExecutionId)
                           throws CcServerDecisionServiceBatchNotCurrentlyRunningException,
                                  CcServerDecisionServiceNotRegisteredException,
                                  CcServerDecisionServiceLoadedFromCddException,
                                  CcServerInvalidArgumentException,
                                  CcServerLicenseViolationException

      This method will stop a Batch Execution based on the passed in Id.
      Parameters:
        `astrBatchExecutionId` - - The Id of the desired Batch Execution to be stopped
      Throws:
        `CcServerDecisionServiceBatchNotCurrentlyRunningException`
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerDecisionServiceLoadedFromCddException`
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`

    - #### getBatchExecutionIds

          java.util.List<java.lang.String> getBatchExecutionIds()
                                                         throws CcServerLicenseViolationException

      This method will start a Batch Execution against a particular Decision Service based on the Batch Processing Properties outlined in the passed in JSONObject.
      Parameters:
        `ajsonObjectBatchProcessingProperties` - - JSONObject containing all necessary processing properties to run the desired Batch Execution.
      Returns:
        - List, which will contain all the Ids of the Batch Executions that are currently running or that have completed during the CcServer has been up and running.
      Throws:
        `CcServerLicenseViolationException`

    - #### getBatchExecutionDetails

          org.json.JSONObject getBatchExecutionDetails(java.lang.String astrBatchExecutionId)
                                                throws CcServerLicenseViolationException,
                                                       CcServerInvalidArgumentException

      This method will return a JSONObject that contains all the details the Batch Execution for the passed in Id.
      Parameters:
        `astrBatchExecutionId` - - The Id of the desired Batch Execution to be stopped
      Returns:
        - JSONObject, which contains all details related to the desired Batch Execution.
      Throws:
        `CcServerInvalidArgumentException`
        `CcServerLicenseViolationException`

    - #### reloadDecisionServiceQueryService

          void reloadDecisionServiceQueryService(java.lang.String astrDecisionServiceName)
                                          throws CcServerDecisionServiceNotRegisteredException,
                                                 CcServerDecisionServiceQueryServiceLoadFailedException,
                                                 CcServerInvalidArgumentException,
                                                 CcServerInvalidDecisionServiceException,
                                                 CcServerLicenseViolationException

      Invokes `reloadDecisionServiceQueryService(astrDecisionServiceName, )`
      Parameters:
        `astrDecisionServiceName` - - logical name of an existing Decision Service (and thus corresponding Corticon Engine pool).
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerDecisionServiceQueryServiceLoadFailedException`
        `CcServerInvalidArgumentException`
        `CcServerInvalidDecisionServiceException`
        `CcServerLicenseViolationException`

    - #### reloadDecisionServiceQueryService

          void reloadDecisionServiceQueryService(java.lang.String astrDecisionServiceName,
                                                 int aiDecisionServiceMajorVersion)
                                          throws CcServerDecisionServiceNotRegisteredException,
                                                 CcServerDecisionServiceQueryServiceLoadFailedException,
                                                 CcServerInvalidArgumentException,
                                                 CcServerInvalidDecisionServiceException,
                                                 CcServerLicenseViolationException

      Invokes `reloadDecisionServiceQueryService(astrDecisionServiceName, aiDecisionServiceMajorVersion, )`
      Parameters:
        `astrDecisionServiceName` - - logical name of an existing Decision Service (and thus corresponding Corticon Engine pool).
        `aiDecisionServiceMajorVersion` - - a specific Major Version of the Decision Service to be modified
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerDecisionServiceQueryServiceLoadFailedException`
        `CcServerInvalidArgumentException`
        `CcServerInvalidDecisionServiceException`
        `CcServerLicenseViolationException`

    - #### reloadDecisionServiceQueryService

          void reloadDecisionServiceQueryService(java.lang.String astrDecisionServiceName,
                                                 int aiDecisionServiceMajorVersion,
                                                 int aiDecisionServiceMinorVersion)
                                          throws CcServerDecisionServiceNotRegisteredException,
                                                 CcServerDecisionServiceQueryServiceLoadFailedException,
                                                 CcServerInvalidArgumentException,
                                                 CcServerInvalidDecisionServiceException,
                                                 CcServerLicenseViolationException

      This method will reload the Query Service data from the Database for the desired Decision Service.
      Parameters:
        `astrDecisionServiceName` - - logical name of an existing Decision Service (and thus corresponding Corticon Engine pool).
        `aiDecisionServiceMajorVersion` - - a specific Major Version of the Decision Service to be modified
        `aiDecisionServiceMinorVersion` - - a specific Minor Version of the Decision Service to be modified
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerDecisionServiceQueryServiceLoadFailedException`
        `CcServerInvalidArgumentException`
        `CcServerInvalidDecisionServiceException`
        `CcServerLicenseViolationException`

    - #### reloadAllDecisionServicesQueryService

          void reloadAllDecisionServicesQueryService()
                                              throws CcServerDecisionServiceNotRegisteredException,
                                                     CcServerDecisionServiceQueryServiceLoadFailedException,
                                                     CcServerInvalidArgumentException,
                                                     CcServerInvalidDecisionServiceException,
                                                     CcServerLicenseViolationException

      This method will go to each Decision Service and reload the Query Service data from the Database.
      Parameters:
        `astrDecisionServiceName` - - logical name of an existing Decision Service (and thus corresponding Corticon Engine pool).
        `aiDecisionServiceMajorVersion` - - a specific Major Version of the Decision Service to be modified
        `aiDecisionServiceMinorVersion` - - a specific Minor Version of the Decision Service to be modified
      Throws:
        `CcServerDecisionServiceNotRegisteredException`
        `CcServerDecisionServiceQueryServiceLoadFailedException`
        `CcServerInvalidArgumentException`
        `CcServerInvalidDecisionServiceException`
        `CcServerLicenseViolationException`

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