Home > Class Reference > ENSLIB namespace > Ens.Util.AbstractDocument
Private  Storage   


abstract stream class Ens.Util.AbstractDocument extends %Studio.AbstractDocument

Abstract Document used to server SVG-editor documents into Studio
Subclasses need to provide:
RegisterExtension Projection
Save method
Exists method
EDITORURL parameter


Parameters Properties Methods Queries Indices ForeignKeys Triggers
4 18 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
Delete DeleteAttribute DeleteStream Exists
ExportToXML FindAt Flush GetAttribute
GetAttributeList GetClassName GetOther GetPrevious
GetStreamId GetURL HasExtension 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

Ens.Atelier.v1.RuleDocument Ens.BPL.UI.BPLDocument Ens.DTL.UI.DTLDocument


• parameter DOCUMENTCLASS;
If set, name of superclass used for documents of this type.
For example, Ens.DataTransformDTL
• parameter DOMAIN = "Ensemble";
Use Ensemble domain for localization
• parameter EDITORURL;
URL to use to get actual editor for Studio to display.
• parameter EXTENSION;
File extension used for this document (e.g., .dtl)


• method CompileDocument(flags As %String) as %Status
Compile this document
• classmethod Delete(name As %String) as %Status
Delete the class that corresponds to document name. Subclass should override this behavior for non-class based editors.
• classmethod Exists(name As %String) as %Boolean
Return 1 if the given document exists and 0 if it does not.
Subclass should override this behavior.
• classmethod GetClassName(pName As %String) as %String
Return the corresponding class name for this document
• classmethod GetOther(Name As %String) as %String
Return other document types that this is related to. Passed a name and you return a comma separated list of the other documents it is related to or "" if it is not related to anything
Subclass should override this behavior for non-class based editors.
• classmethod GetURL(pName As %String) as %String
• classmethod HasExtension(name As %String, ext As %String) as %Boolean
Check to see that the file type matches
• 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
Return URL for Studio to use to load editor.
• method Lock(flags As %String) as %Status
Lock the class definition for the document.
• classmethod LockName(name As %String) as %Status
Lock the class definition for a document by name.
• classmethod TimeStamp(name As %String) as %TimeStamp
Return the timestamp of routine 'name' in %TimeStamp format. This is used to determine if the routine has been updated on the server and so needs reloading from Studio. So the format should be $zdatetime($horolog,3), or "" if the routine does not exist.
Subclass should override this behavior for non-class based editors.
• classmethod TranslateExportName(name As %String, ByRef items As %String) as %Status
Make the XML export export the class instead of this studio document which is only the XData.
• method Unlock(flags As %String) as %Status
Unlock the class definition for the document.
• classmethod UnlockName(name As %String) as %Status
Unlock the class definition for a document by name.


• query List(Directory As %String, Flat As %Boolean, System As %Boolean)
Selects name As %String, modified As %TimeStamp, size As %Integer, directory As %String
Subclass should override this query for non-class based editors.