Home > Class Reference > ENSLIB namespace > Ens.Util.ProjectTextDocument


class Ens.Util.ProjectTextDocument extends %Studio.AbstractDocument

Studio Document used to store arbitrary text documents in a Project file and edit them in Studio.


Parameters Properties Methods Queries Indices ForeignKeys Triggers
1 14 1


%Location AtEnd Attributes Code CompileTime
Generated Id LastModified LineTerminator Locked
Name Size TimeStamp UpToDate
%AddToSaveSet %CheckUnique %ClassIsLatestVersion %ClassName
%ConstructClone %Delete %DeleteExtent %DeleteId
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Exists
%ExistsId %Extends %GetParameter %GetSwizzleObject
%Id %IsA %IsModified %IsNull
%KillExtent %LOBPrefetch %LocationSet %LockStream
%New %NormalizeObject %ObjectIsNull %ObjectModified
%ObjectSize %Oid %Open %OpenId
%OriginalNamespace %PackageName %ReleaseLock %Reload
%RemoveFromSaveSet %RollBack %Save %SerializeObject
%SetModified %UnlockStream %ValidateObject AtEndGet
AtEndSet Clear Compile CompileDocument
CompileTime CompileTimeGet CopyFrom CopyFromAndSave
Create Delete DeleteAttribute DeleteStream
Exists ExportToXML FindAt Flush
GetAttribute GetAttributeList GetOther GetPrevious
GetStream GetStreamId GetString ImportFromXML
InputFromDevice IsCharacter IsDefinedAttribute IsEnabled
IsGenerated IsMapped IsNull IsUpToDate
ItemList LastModifiedGet LineTerminatorSet ListClose
ListExecute ListFetch Load LocalizeDescription
Lock LockName MoveTo MoveToEnd
NextAttribute OpenStream OutputToDevice OutputToDeviceAt
Read ReadLine ReadLineIntoStream ReadSQL
Rewind Save SaveAs SaveStream
Search SearchRegex SerializeToSyncSet SetAttribute
SetAttributeList SizeGet StreamOIDIsNull SyncStreamIn
TimeStamp TimeStampGet TranslateExportName Unlock
UnlockName UpToDateGet Write WriteLine


parameter EXTENSION = ".PTD";


classmethod CompileTime(pName As %String) as %TimeStamp
Return the compile time of routine 'pName' in %TimeStamp format. The format should be $zdatetime($horolog,3), or "" if the routine does not exist.
classmethod Create(pText As %String, pName As %String, pDescription As %String = "") as %Status
Save a text document into global storage as a PTD document
classmethod Delete(pName As %String) as %Status
Delete the named PTD document pName.
classmethod Exists(pName As %String) as %Boolean
Return 1 if the given project text PTD document exists and 0 if it does not.
method ExportToXML(flags As %String) as %Status
Export this document to the current device in XML format
classmethod GetStream(Output pStream, pName As %String, Output pDescription As %String) as %Status
Get the content of a PTD document from global storage into a stream object
classmethod GetString(pName As %String, Output pDescription As %String, Output pStatus As %Status) as %String
Get the content of a PTD document from global storage and return it as a string
method ImportFromXML(stream As %RegisteredObject, flags As %String) as %Status
Import from the stream in XML format. Note that the line endings are normalized to CRLF (i.e. $char(13,10)) to simplify parsing.
classmethod ListClose(ByRef qHandle As %Binary) as %Status
classmethod ListExecute(ByRef qHandle As %Binary, Directory As %String, Flat As %Boolean, System As %Boolean) as %Status
classmethod ListFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
method Load() as %Status
Load the PTD text from the global into a Code stream
method Save() as %Status
Save the PTD text document into the global
classmethod TimeStamp(pName As %String) as %TimeStamp
Return the timestamp of text document 'pName' in %TimeStamp format, i.e. $zdatetime($horolog,3). This is used to determine if the document has been updated on the server and so needs reloading into Studio. So the format should be $zdatetime($horolog,3), or "" if the category does not exist.


query List(Directory As %String, Flat As %Boolean, System As %Boolean)
Selects name As %String, modified As %TimeStamp, size As %Integer, directory As %String
This query scans over the documents for the Studio open dialog. The arguments are defined in ItemList.

This should return a row formed by:
$listbuild(name,date/time modified,size,directory delimiter)

  • name - The name to display in the open dialog
  • date/time modified - In %TimeStamp format the date/time this item was last modified
  • size - The size of this item
  • directory delimiter - If this is not a directory then return "" here, if it is a directory then return the type of delimiter to use when they double click on this directory