Class Reference
IRIS for UNIX 2019.2
InterSystems: The power behind what matters   
Documentation  Search
  [ENSLIB] >  [Ens] >  [VDoc] >  [Interface]
Private  Storage   

abstract class Ens.VDoc.Interface

Common interface used as a base class for all Virtual Document types

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
4 12 25 3


Summary

Properties
DocType DocTypeCategory DocTypeName Identifier
IsMutable Name OriginalDocId RawContent
Source TimeCreated TypeVersion UserValues

Methods
CopyValues DrawFormButtons DrawHTMLContentsForm DrawHTMLForm
EnumerateDocTypesClose EnumerateDocTypesExecute EnumerateDocTypesFetch EnumerateTypeCategoriesClose
EnumerateTypeCategoriesExecute EnumerateTypeCategoriesFetch EnumerateVDocsClose EnumerateVDocsExecute
EnumerateVDocsFetch GetAlias GetContentArray GetManagerLinks
GetNewManagerLinks GetNextIndex GetValueAt IsMutableSet
PokeDocType SetValueAt TypeVersionGet Validate
getTestNewArg

Subclasses
EnsLib.EDI.Document EnsLib.ebXML.Message

Parameters

• parameter DOCCLASSFULLNAME;
Full descriptive name for this subclass of document
• parameter DOCCLASSNAME;
Compact descriptive name for this subclass of document
• parameter DOCTYPES;
If provided, this parameter defines a comma-delimited, default list of document types for a document class.
This provides an alternate mechanism to overriding the EnumerateDocTypes query
• parameter DOMAIN = "Ensemble";
Use our own domain for localization

Properties

• property DocType as %String(MAXLEN=128);
Reference to associated Schema Id
• property DocTypeCategory as %String [ Transient ];
the category portion of the DocType
• property DocTypeName as %String(MAXLEN=50) [ Transient,ReadOnly ];
Stored raw document type name ; the secondary type name portion of the DocType
• property Identifier as %String [ Calculated,Transient,ReadOnly ];
Unique document identification string found in document content
• property IsMutable as %Boolean [ InitialExpression = 1 ];
We clear this property to prevent saving or modifying of already-saved document objects
• property Name as %String [ Calculated,Transient,ReadOnly ];
Raw type name of document as declared in document content
• property OriginalDocId as %String(COLLATION="EXACT",MAXLEN="");
If this document is a response to another document of the same type, this property contains the Id of the original document
• property RawContent as %String(MAXLEN="") [ Calculated,ReadOnly ];
The raw text content of the document. Note that this is a truncated version suitable for use in SQL results and visual inspection, but not a complete or definitive representation of the document.
• property Source as %String(MAXLEN=250,TRUNCATE=1);
Source of document (e.g. filename)
• property TimeCreated as Ens.DataType.UTC [ InitialExpression = $$$timeUTC ];
The timestamp of when this Document object was first instantiated
• property TypeVersion as %String [ Calculated,Transient,ReadOnly ];
Raw type version of document if declared in document content
• property UserValues as array of %String(MAXLEN="");
An array of strings for storing user defined attribute values. Value key names beginning with % are reserved for InterSystems IRIS use.

Methods

• method CopyValues(pSource As Ens.VDoc.Interface, pSourcePath As %String, pTargetPath As %String, pAction As %String, pKey As %String) as %Status
Copy a whole set of values from source to target when iteration is implied between 2 VDocs pSourcePath contains the property path to the source set
pTargetPath contains the property path to the target set
pAction contains an action code: "set", etc..
pKey contains an optional key value or a set of comma-separated key values to be used as array indices where empty array index placeholders are present in pPropertyPath.
• classmethod DrawFormButtons(ByRef pButtons As %CSP.Util.FormButton) as %Status
• classmethod DrawHTMLContentsForm(pObj As %RegisteredObject, ByRef pID As %String) as %Status
Specialized HTML generation method to display the body of a form to display/edit a document-style message.
• classmethod DrawHTMLForm(pObj As %RegisteredObject, ByRef pID As %String, pActionURL As %String = "", ByRef pButtons As %CSP.Util.FormButton, pTarget As %String = "") as %Status
Override standard DrawHTMLForm method Draw an HTML form for this form object.
pObj is an instance of the form object that provides the initial values for the form.
pActionURL is the URL to submit this form to.
pButtons is an array of submit buttons to display for the form. If not provided, the default Save and Cancel buttons are shown. pButtons is an integer-subscripted array of FormButton objects.
• classmethod EnumerateDocTypesClose(ByRef qHandle As %Binary) as %Status
• classmethod EnumerateDocTypesExecute(ByRef qHandle As %Binary, Category As %String, IncludeBase As %Boolean) as %Status
• classmethod EnumerateDocTypesFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
• classmethod EnumerateTypeCategoriesClose(ByRef qHandle As %Binary) as %Status
• classmethod EnumerateTypeCategoriesExecute(ByRef qHandle As %Binary, Standard As %String = "") as %Status
• classmethod EnumerateTypeCategoriesFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
• classmethod EnumerateVDocsClose(ByRef qHandle As %Binary) as %Status
• classmethod EnumerateVDocsExecute(ByRef qHandle As %Binary, Persistent As %Boolean = 1, Abstract As %Boolean = 0) as %Status
• classmethod EnumerateVDocsFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
• classmethod GetAlias(pContentArrayName As %String, pArrayPos As %String) as %String
This method computes the Alias string for a property name, given the property's node in the Content Array.
• abstract classmethod GetContentArray(Output pContents, pMode As %String, pDocType As %String, pLevel As %Integer, pIncludeBase As %Boolean = 0) as %Status
Returns array of properties that make up the contents of this object.
This method in implemented within the document class.
The content array is in the form:
pContents(n,"type")="%String"
pContents(n,"name")="Field"
pContents(n,"alias")=alias code
If pContents(n) is non-zero then the property is a composite type with
sub-properties. The sub-properties are indexed with a similar structure under
pContents(n,m) where m is the index of the subtype property.
• classmethod GetManagerLinks(Output pColumns) as %Boolean
Returns an array of links to manager pages for this type of VDoc; item 0 is the family description The output array is subscripted first by item number, and below that by "name","page" and "desc"
• classmethod GetNewManagerLinks(Output pColumns) as %Boolean
Returns an array of links to manager pages for this type of VDoc; item 0 is the family description The output array is subscripted first by item number, and below that by "name","page" and "desc"
• method GetNextIndex(pPath As %String, pIndex As %String = "", ByRef pStatus As %Status = $$$OK) as %String
Return the next
• abstract method GetValueAt(pPropertyPath As %String, pFormat As %String, Output pStatus As %Status, pTreatEmptyFieldAsNull As %Boolean = 0) as %String
Return the value of the designated virtual property.
pPropertyPath contains a text expression representing the address within the document of the value of interest.
pFormat contains additional context that may be used to influence the form of the result value
If no value can be found matching pPropertyPath in the current document an empty string is returned and output argument pStatus returns status information explaining the failure
pTreatEmptyFieldAsNull indicates whether repeating fields which have a separator but are empty should be considered to have a count of 1 (if false) or 0 (if true) This is implemented by the document subclass.
• method IsMutableSet(pMutable As %Boolean) as %Status
This is a Set accessor method for the IsMutable property.
• method PokeDocType(pDocType As %String) as %Status
• abstract method SetValueAt(pValue As %String, pPropertyPath As %String, pAction As %String = "set", pKey As %String = "") as %Status
Set the value of the designated virtual property.
pValue contains the value to set.
pPropertyPath contains a text expression representing the address within the document of the value of interest.
pKey contains an optional key value or a set of comma-separated key values to be used as array indices where empty array index placeholders are present in pPropertyPath.
pAction contains an action code: "set", "clear", "append", etc.
• method TypeVersionGet() as %String
Subclasses should override this if the version can be gotten from the document content
• abstract method Validate(pValidationSpec As %String) as %Status
• classmethod getTestNewArg(pTestContext As %String, pTestOption As %String, pTestName As %String) as %String
Return a suitable argument to pass to %New() to create a test object for the test described by the arguments. Example: getTestNewArg("DTL","existing","Test.DTL.DTLExisting") as passed from the DTL test wizard.

Queries

• query EnumerateDocTypes(Category As %String = "", IncludeBase As %Boolean = 0)
Selects Type As %String
Returns a list of available DocTypes for the document class.
The DocType is returned as the first column in the result set.
The Category parameter can be used to restrict the list.
If Category is:
0 - return only DocTypes in standard categories
+ - return only DocTypes in user-defined categories
empty - return DocTypes from all categories
a category name - return only DocTypes in the named category
a partial name suffixed with '%' - return only DocTypes in categories matching the partial category name
other - return nothing
If IncludeBase is:
0 - return only DocTypes defined in the current schema category itself
1 - return all DocTypes in the current schema category's base category in addition to those defined in the current category itself
This query can be overridden in a subclass.
This default implementation returns the type list specified by the DOCTYPES parameter (or a dummy result containing 1 empty row).
• query EnumerateTypeCategories(Standard As %String = "")
Selects Category As %String, Description As %String, IsStandard As %Boolean, Base As %String
Returns a list of document type schema categories for the document class.
The Standard parameter can be used to restrict the list.
If Standard is:
0 - return only standard categories
+ - return only user-defined categories
empty - return all categories
a partial category name - return only categories starting with the given category name part
other - return nothing
This query can be overridden in a subclass.
This default implementation returns no rows.
• query EnumerateVDocs(Persistent As %Boolean = 1, Abstract As %Boolean = 0)
Selects Name As %String, Persistent As %Boolean, Abstract As %Boolean
Returns a list of VDoc classes that extend Ens.VDoc.Interface.
The Persistent and Abstract parameters can be used to restrict the list.
If Persistent is:
0 - return persistent and non-persistent subclasses
1 - return only persistent subclasses
If Abstract is:
0 - return only non-abstract subclasses
1 - return both abstract and non-abstract subclasses
Note that the default value for Persistent is 1.


Copyright (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.