deprecatedabstract class %iKnow.REST.Base
extends %CSP.REST
parameter CHARSET = "utf-8";
Specifies the default character set for the page. This can be overriden using the
<CSP:CONTENT CHARSET=> tag, or by setting the %response.CharSet property
in the OnPreHTTP method. If this parameter is not specified, then
for the default charset is utf-8.
parameter CONTENTTYPE = "application/json";
Specifies the default content type for the page. This can be overriden using the
<CSP:CONTENT TYPE=> tag, or by setting the %response.ContentType property
in the OnPreHTTP method. The default value if this parameter is
not set is text/html.
parameter HandleCorsRequest = 1;
This parameter influences the CORS support. The default is an empty string meaning 'not specified'.
If set to true (1) then CORS processing is ON. If set to false (0) then CORS processing is OFF.
If left unset ("") then the decision to process CORS is delegated to the setting on the URL map route.
parameter IKLATESTVERSION = "%iKnow.REST.v1dot1";
parameter PAGESIZE = 200;
classmethod %ErrorHandler(pSC As %Status, ByRef pContinue As %Boolean)
as %Status
classmethod CreateDomainAPI(pDomainId As %Integer, pClassname As %String, pVersion As %String = "%iKnow.REST.v1")
as %Status
Use this method
classmethod OnPreDispatch(pUrl As %String, pMethod As %String, ByRef pContinue As %Boolean)
as %Status
This method gets called prior to dispatch of the request. Put any common code here
that you want to be executed for EVERY request. If pContinue is set to 0, the
request will NOT be dispatched according to the UrlMap. In this case it's the
responsibility of the user to return a response.
classmethod ParseFilter(pDomainId As %Integer, pObject As %DynamicObject, Output pFilter As %iKnow.Filters.Filter)
as %Status
{ ids: [ srcID1, srcID2, ...] } --> SourceIdFilter
{ extIds: [ extID1, extID2, ...] } --> ExternalIdFilter
{ field: "fieldName", operator: "<", value: "value" } --> SimpleMetadataFilter
{ operator: "AND"|"OR", negate : false, filters: [...] } --> GroupFilter
{ className: "RandomClass", arguments : [ all args except domainID] }
classmethod ParseHighlight(Output pHighlight)
as %Status
{ highlight: [
{ style: "...", entities : ["..."] }, --> ENTITY
{ style: "...", role : "concept"|"relation"|"nonRelevant"|"pathRelevant" } --> ROLE
{ style: "...", attribute : "negation"|"positiveSentiment"|"negativeSentiment"|id } --> ATTRIBUTE
{ style: "...", attributeWords : "negation"|"positiveSentiment"|"negativeSentiment"|id } --> ATTRIBUTEWORDS
{ style: "...", anyMatch: true [, matchType:"partial"|"full"] } --> MATCH
{ style: "...", dictionaries: [ dictIDs... ] [, matchType:"partial"|"full"] } --> MATCH
{ style: "...", dictionaryItems: [ dictItemIDs... ] [, matchType:"partial"|"full"] } --> MATCHITEM
{ style: "...", start: ##, end: ## } --> CHARS
{ style: "...", stems : ["..."] }, --> STEMS
{ style: "...", crcs : ["..."] }, --> CRC
{ style: "...", paths : ["..."] }, --> PATH
] ... }
classmethod ParseList(pObjectProp As %String, pRequestParam As %RawString = "")
as %List
classmethod ParseStringArray(pObjectProp As %String, pRequestParam As %RawString = "")
as %DynamicArray
classmethod ResolveDomainId(ByRef pDomainId As %RawString)
as %Status
If the supplied domain ID is not a valid integer, verify if it happens to be a domain name
and update pDomainId to that domain's ID