Home > Class Reference > ENSLIB namespace > %iKnow.Queries.MetadataWSAPI


class %iKnow.Queries.MetadataWSAPI extends %iKnow.Queries.AbstractWSAPI

This is an automatically generated class, offering a functionally equivalent set of methods and queries as %iKnow.Queries.MetadataAPI, exposed as WebMethod methods.

See the classdocs for %iKnow.Queries.MetadataAPI for more information.

This class was generated by : %iKnow.Queries.MetadataAPI.cls

Method Inventory (Including Private)


parameter NAMESPACE = http://www.intersystems.com/iKnow/Queries/MetadataWSAPI;
Inherited description: NAMESPACE - Should be an unique URI Override this parameter in the subclass with the unique namespace URI of your organization. Override this parameter in the subclass.
parameter SERVICENAME = iKnow.Queries.MetadataWSAPI;
Inherited description: SERVICENAME - Should be the name of the service for which this is a proxy. Override this parameter in the subclass.
Inherited description: When USECLASSNAMESPACES = 1, then the WSDL of the Web service reflects the namespaces defined for the referenced classes by the NAMESPACE parameters of those classes. The default, for compatibility with previous versions, is that the NAMESPACE parameters of the referenced classes are ignored when creating the WSDL. If USECLASSNAMESPACES has no value, then the default value from ^ISCSOAP("USECLASSNAMESPACES") is used.

Methods (Including Private)

classmethod AddField(domainId As %Integer, fieldName As %String, supportedOperators As %ListOfDataTypes = $lb($$$MDOPEQUAL), dataType As %String = $$$MDDTSTRING, storage As %Integer = $$$MDSTNORMAL, caseSensitive As %Boolean = 0, lovId As %Integer = -1, validateLov As %Boolean = 1, hidden As %Boolean = 0) as %Library.Integer [ WebMethod ]

Adds a field definition with the given name and properties.

  • The supportedOperators parameter specifies which operations (such as $$$MDOPEQUAL) will be available for filtering criteria
  • For dataType, choose either $$$MDDTSTRING, $$$MDDTNUMBER or $$$MDDTDATE ($horolog format)
  • Use storage to control how values are stored: $$$MDSTNORMAL for cases where you would use a normal Caché index, $$$MDSTBITMAP where you would use a Caché bitmap index (few different metadata values compared to total # of records)
  • If dataType is $$$MDDTSTRING, caseSensitive controls whether or not string values should be treated as case-sensitive.
  • The lovId and validateLov parameters define whether a List Of Values is available for this metadata field and whether input values should be verified against this list. See also AddListOfValues().
  • If hidden is set to true, the field will by default not appear in metadata field and value lists.
classmethod AddListOfValues(domainId As %Integer, lovName As %String, autoExtend As %Boolean = 1) as %Library.Integer [ WebMethod ]

Adds a List Of Values to the domain, which can then be used as a list of allowable values for one or more metadata fields.

classmethod AddLovValue(domainId As %Integer, lovId As %Integer, value As %String, rank As %Integer = -1) as %Boolean [ WebMethod ]
Adds a new value to an existing List Of Values
classmethod CreateFilter(pDomainId As %Integer, pFieldName As %String, pOperator As %String, pValue As %String) as %iKnow.Filters.Filter [ WebMethod ]

Create a %iKnow.Filters.Filter instance that filters sources according to the given criteria, using the filter class compatible with this %iKnow.Queries.MetadataI implementation.

For the default MetadataAPI, this is a %iKnow.Filters.SimpleMetadataFilter instance.

classmethod GetFieldId(domainId As %Integer, fieldName As %String) as %Library.Integer [ WebMethod ]
Returns the metadata field ID corresponding to the supplied name, or "" if none exists in this domain.
classmethod GetFieldValues(domainId As %Integer, fieldName As %String, page As %Integer = 1, pageSize As %Integer = 10) as %XML.DataSet [ WebMethod ]
Returns all the distinct values currently in use for a given metadata field (by name). See also GetUniqueValues() for a version returning the number of sources with this metadata value and sorting options.
classmethod GetFieldValuesById(domainId As %Integer, mdFieldId As %Integer, page As %Integer = 1, pageSize As %Integer = 10) as %XML.DataSet [ WebMethod ]
Returns all the distinct values currently in use for a given metadata field (by ID).
classmethod GetFields(domainId As %Integer, includeHidden As %Boolean = 0) as %XML.DataSet [ WebMethod ]

Returns all field definitions (including their properties) for the given domain.

Setting includeHidden to true will also return any metadata fields marked as 'hidden'.

classmethod GetLovValues(domainId As %Integer, lovId As %Integer) as %XML.DataSet [ WebMethod ]
Returns all the allowed values for a given metadata LOV.
classmethod GetLovs(domainId As %Integer, page As %Integer = 1, pageSize As %Integer = 10) as %XML.DataSet [ WebMethod ]
Returns all LOVs (List of Values) registered for this domain.
classmethod GetMetaSpreadByEntities(pDomainId As %Integer, pFieldName As %String, pEntityList As %ListOfDataTypes, pFilter As %String(MAXLEN=32767)="", pSetOp As %Integer = $$$UNION) as %Library.Integer [ WebMethod ]

Returns the "spread" of metadata values (number of distinct values) for field pFieldName for the entities in pEntityList, in the sources satisfying pFilter. When specifying multiple entities, sources (and their metadata values) are included based on the value of pSetOp: if pSetOp = $$$UNION, only one entity has to be present (default), if pSetOp = $$$INTERSECT, all of them need to be present.

classmethod GetMetaSpreadByEntityIds(pDomainId As %Integer, pFieldName As %String, pEntityIdList As %ListOfDataTypes, pFilter As %String(MAXLEN=32767)="", pSetOp As %Integer = $$$UNION) as %Library.Integer [ WebMethod ]