Class Reference
IRIS for UNIX 2019.4
InterSystems: The power behind what matters   
Documentation  Search
  [ENSLIB] >  [Ens] >  [Util] >  [ProjectTextDocument]
Private  Storage   

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 17 1


%Location AtEnd Attributes Code CompileTime
Generated Id LastModified LineTerminator Locked
Name Size TimeStamp UpToDate

%%OIDGet %AddToSaveSet %BindExport %BuildObjectGraph
%CheckUnique %ClassIsLatestVersion %ClassName %Close
%ConstructClone %Delete %DeleteExtent %DeleteId
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %DowngradeConcurrency
%Exists %ExistsId %Extends %GetParameter
%GetSwizzleObject %Id %IncrementCount %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
%UpgradeConcurrency %ValidateObject AtEndGet AtEndSet
Clear Compile CompileDocument CompileTime
CompileTimeGet CopyFrom CopyFromAndSave Create
Delete DeleteAttribute DeleteStream Exists
ExportToXML FindAt Flush GblToStream
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 StreamToGbl
SyncStreamIn TimeStamp TimeStampGet TranslateExportName
Unlock UnlockName UpToDateGet Write
WriteLine readUntil


• 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 GblToStream(pKey As %String, pStream As %String) as %Status
Save the PTD text document into the global
• 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 StreamToGbl(pFile As %String, Output pKeyImported As %String, pForceKey As %String) as %Status
Save a PTD document into the PTD 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.
• classmethod readUntil(pStreamIn, pStreamOut, pTarget, ByRef pSC, pIncludeTarget=1) as %Boolean
Read until target found in pStreamIn, copying all data read to pStreamOut


• 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

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