IRISLIB database
AbstractDocument Class Reference

Abstract Document used to serve ZEN-editor documents into Studio
In order to create a new Studio Abstract Document, you need to create a subclass of this class and provide the following: More...

Inheritance diagram for AbstractDocument:
Collaboration diagram for AbstractDocument:

Public Member Functions

_.Library.Status Compile (_.Library.String flags)
 Compile this document.
 
_.Library.Status Load ()
 Return URL for Studio to use to load editor.
 
- Public Member Functions inherited from AbstractDocument
_.Library.Status OnNew (_.Library.String name)
 Set the name property.
 
_.Library.Status Clear ()
 Clear the contents of this Stream from permanent storage. More...
 
_.Library.Status CompileDocument (_.Library.String qstruct)
 CompileDocument is called when the document is to be compiled. More...
 
_.Library.Status ExportToXML (_.Library.String flags)
 Export this document to the current device in XML format.
 
_.Library.Status Flush ()
 Flush any output in the stream not already saved.
 
_.Library.Status ImportFromXML (_.Library.RegisteredObject stream, _.Library.String flags)
 Passed a stream containing the XML document, this method should insert this. More...
 
_.Library.Status Lock (_.Library.String flags)
 Lock the current routine. More...
 
_.Library.Status MoveToEnd ()
 Move to the end of the stream so the next <METHOD>Write</METHOD> will be appended to the end. More...
 
_.Library.String Read (_.Library.Integer len, _.Library.Status sc)
 Reads up to len characters from the current position. More...
 
_.Library.String ReadLine (_.Library.Integer len, _.Library.Status sc, _.Library.Boolean eol)
 Read a line from the stream. More...
 
_.Library.Status Rewind ()
 Go back to the start of the stream.
 
_.Library.Status Save ()
 Save the routine stored in Code.
 
_.Library.Status SaveAs (_.Library.String name)
 Save this document with a new name. More...
 
_.Library.Status Unlock (_.Library.String flags)
 Unlock the current routine. More...
 
- Public Member Functions inherited from AbstractStream
_.Library.Status OnClose ()
 This callback method is invoked by the <METHOD>Close</METHOD> method to. More...
 
_.Library.Status CopyFrom (_.Stream.Object source)
 Copies the contents of source into this Stream. More...
 
_.Library.Boolean DeleteAttribute (_.Library.String name)
 Removes this attribute variable from the collection. More...
 
_.Library.String GetAttribute (_.Library.String name, _.Library.String default)
 Retrieves the named attribute value.
 
_.Library.String GetStreamId ()
 Returns an full id value (including class name) with which the Stream implementation has stored. More...
 
_.Library.Boolean IsDefinedAttribute (_.Library.String name)
 Returns true if the named attribute variable exists in the collection, false otherwise.
 
_.Library.Boolean IsNull ()
 Returns true if this is a "NULL" stream; that is, a stream which has never. More...
 
_.Library.String NextAttribute (_.Library.String name)
 Retrieves the next attribute variable name in the sequence, skip any '' names.
 
_.Library.AbstractStream ReadLineIntoStream ()
 This reads from the stream until it find the <property>LineTerminator</property> and returns. More...
 
_.Library.Status SaveStream ()
 Deprecated method, use <method>Save</method> instead. More...
 
 SetAttribute (_.Library.String name, _.Library.String value)
 Inserts an attribute variable by name into the collection.
 
_.Library.Status WriteLine (_.Library.RawString data)
 Appends the string data along with a line terminator to the stream and advances the. More...
 
- Public Member Functions inherited from Object
_.Library.Status AcquireLock (locktype)
 Acquires a lock for the current instance. More...
 
_.Library.Status OnAfterSave (_.Library.Boolean insert)
 This callback method is invoked by the <METHOD>Save</METHOD> method to. More...
 
_.Library.Status OnBeforeSave (_.Library.Boolean insert)
 This callback method is invoked by the <METHOD>Save</METHOD> method to. More...
 
_.Library.Status OnOpen ()
 This callback method is invoked by the <METHOD>Open</METHOD> method to. More...
 
_.Library.Status OnReload ()
 This callback method is invoked by the <METHOD>Reload</METHOD> method to. More...
 
_.Library.Status OnRollBack ()
 This callback method is invoked by the <METHOD>Save</METHOD> method to. More...
 
_.Library.Status CopyFrom (_.Stream.Object source)
 Copies the contents of source into this Stream. More...
 
_.Library.Status CopyFromAndSave (_.Stream.Object source)
 Copy the stream from source into the current stream ignoring anything already in the current stream. More...
 
_.Library.Integer FindAt (_.Library.Integer position, _.Library.RawString target, _.Library.RawString tmpstr, _.Library.Boolean caseinsensitive)
 Find the first occurrence of target in the stream, starting the search at position. More...
 
_.Library.Status InputFromDevice (_.Library.Integer len, _.Library.Integer timeout)
 Input len characters from the current device into the stream. More...
 
_.Library.Boolean MoveTo (_.Library.Integer position)
 Move to this position in the stream. More...
 
_.Library.Status OutputToDevice (_.Library.Integer len)
 Write out len characters of the stream to the current device starting from the current position. More...
 
_.Library.Status OutputToDeviceAt (_.Library.Integer position, _.Library.Integer length)
 Output the stream to the current device starting at position of length. More...
 
_.Library.String ReadSQL (_.Library.Integer start, _.Library.Integer end)
 SQL specific method for reading stream data.
 
_.Library.Status SerializeToSyncSet (_.SYNC.SyncSet ss, _.Library.Integer iPtr, _.Library.String property)
 SerializeToSyncSet copies the stream value from the current object to the sync set global. More...
 
_.Library.Status SyncStreamIn (_.SYNC.SyncSet ss, _.Library.Integer iPtr, _.Library.String property)
 SyncStreamIn copies the stream value from the sync set global into the current object.
 
_.Library.Status Write (_.Library.RawString data)
 Appends the string data to the stream and advances the. More...
 
_.Library.Status WriteLine (_.Library.RawString data)
 Appends the string data along with a line terminator to the stream and advances the. More...
 
- Public Member Functions inherited from RegisteredObject
_.Library.Status OnAddToSaveSet (_.Library.Integer depth, _.Library.Integer insert, _.Library.Integer callcount)
 This callback method is invoked when the current object is added to the SaveSet,. More...
 
_.Library.Status OnConstructClone (_.Library.RegisteredObject object, _.Library.Boolean deep, _.Library.String cloned)
 This callback method is invoked by the <METHOD>ConstructClone</METHOD> method to. More...
 
_.Library.Status OnNew ()
 This callback method is invoked by the <METHOD>New</METHOD> method to. More...
 
_.Library.Status OnValidateObject ()
 This callback method is invoked by the <METHOD>ValidateObject</METHOD> method to. More...
 

Static Public Member Functions

_.Library.Status Delete (_.Library.String name)
 Delete the class that corresponds to document name. More...
 
_.Library.Boolean Exists (_.Library.String pName)
 Return 1 if the given document exists and 0 if it does not. More...
 
_.Library.String GetClassName (_.Library.String pName)
 Return the corresponding class name for this document.
 
_.Library.String GetOther (_.Library.String Name)
 Return other document types that this is related to. More...
 
_.Library.TimeStamp TimeStamp (_.Library.String name)
 Return the timestamp of routine 'name' in TimeStamp format. More...
 
- Static Public Member Functions inherited from AbstractDocument
_.Library.TimeStamp CompileTime (_.Library.String name)
 Return the compile time of routine 'name' in TimeStamp format. More...
 
_.Library.String GetPrevious (_.Library.String Name)
 Return other document types that this is related to. More...
 
_.Library.Boolean IsEnabled ()
 Returns true if this document type is enabled, and false to disable it.
 
_.Library.Boolean IsGenerated (_.Library.String name)
 Return true if this is generated and zero otherwise. More...
 
_.Library.Boolean IsMapped (_.Library.String name, _.Library.String sourcedb)
 Return true if this is mapped from a database other than the default routine database and zero otherwise. More...
 
_.Library.Boolean IsUpToDate (_.Library.String name)
 Return true if the document is up to date with respect to the compiled version, i.e. More...
 
_.Library.Status ItemList (_.Library.Integer Idx, _.Library.String Ext, _.Library.String Work, _.Library.String Start, _.Library.String End, _.Library.String Directory, _.Library.Integer Sort, _.Library.Boolean System, _.Library.Boolean Flat, _.Library.Boolean ShowGenerated, _.Library.Boolean NewFormat)
 This method ties into the open dialog in Studio. More...
 
_.Library.Status LockName (_.Library.String name)
 Lock a document by name. More...
 
 Search (_.Library.String Name, _.Library.String Pattern, _.Library.Boolean WholeWords, _.Library.Boolean CaseSensitive, _.Library.Integer Max, _.Library.Integer Found)
 Override this to support searching inside your document type. More...
 
 SearchRegex (_.Library.String Name, _.Regex.Matcher Matcher, _.Library.Integer Max, _.Library.Integer Found)
 Override this to support searching inside your document type with a regular expression. More...
 
_.Library.Status TranslateExportName (_.Library.String name, _.Library.String items)
 Can be used to translate the type of document to be exported to XML. More...
 
_.Library.Status UnlockName (_.Library.String name)
 Unlock a document by name. More...
 
- Static Public Member Functions inherited from AbstractStream
_.Library.Status DeleteStream (_.Library.ObjectIdentity oid, _.Library.Integer concurrency)
 Deprecated method, use <method>Delete</method> instead. More...
 
- Static Public Member Functions inherited from Object
_.Library.String GetLockReference (_.Library.String pLocation, _.Library.String pId)
 Returns the global reference used to lock the current stream object. More...
 
_.Library.Status OnDelete (_.Library.ObjectIdentity oid)
 This callback method is invoked by the <METHOD>Delete</METHOD> method to. More...
 
_.Library.String IsCharacter ()
 Return true if this is a character stream and false if it is a binary stream.
 
_.Library.Boolean StreamOIDIsNull (_.Library.ObjectIdentity soid)
 Return true if this stream oid is a null stream and false if the stream is not null.
 

Static Public Attributes

 DESCRIPTION = None
 Description Studio will display for this document. More...
 
 DOCUMENTCLASS = None
 If set, name of superclass used for documents of this type. More...
 
 EDITORURL = None
 URL of the editor Studio will display within its HTML pane.
 
 EXTENSION = None
 File extension used for this document (e.g., ".dtl")
 
 LISTABSTRACT = None
 If true, the built-in document list logic will include abstract classes. More...
 
- Static Public Attributes inherited from AbstractDocument
 Delimiter = None
 Delimiter to use when constructing directories for this document type. More...
 
- Static Public Attributes inherited from AbstractStream
 MAXLEN = None
 The maximum number of characters (or bytes) allowed in a stream.
 
 PROPERTYVALIDATION = None
 Turns off property validation.
 
- Static Public Attributes inherited from Object
 DEFAULTCONCURRENCY = None
 
- Static Public Attributes inherited from RegisteredObject
 CAPTION = None
 Optional name used by the Form Wizard for a class when generating forms. More...
 
 JAVATYPE = None
 The Java type to be used when exported.
 
 PROPERTYVALIDATION = None
 This parameter controls the default validation behavior for the object. More...
 

Additional Inherited Members

- Public Attributes inherited from AbstractDocument
 Code
 The body of the routine is held in this stream. More...
 
 CompileTime
 Timestamp of the last compile of this document. More...
 
 Generated
 True if this routine is generated from something else. More...
 
 Locked
 Used to hold the number of times this document is locked. More...
 
 Name
 The name of this routine, this includes the routine extension. More...
 
 TimeStamp
 Timestamp of the current document. More...
 
 UpToDate
 Return true if the document is up to date with respect to the compiled version, i.e. More...
 
- Public Attributes inherited from AbstractStream
 Attributes
 An array of strings containing any attribute values associated with this stream. More...
 
 LineTerminator
 Type of line terminator we use for this stream, defaults to Cr/Lf. More...
 
- Public Attributes inherited from Object
 AtEnd
 The AtEnd property is set to true (1) when, during a read,. More...
 
 LastModified
 LastModified is a read-only property containing the <class>TimeStamp</class> of More...
 
 Size
 Size is a read-only property containing the current size of the stream (in bytes More...
 

Detailed Description

Abstract Document used to serve ZEN-editor documents into Studio
In order to create a new Studio Abstract Document, you need to create a subclass of this class and provide the following:

  • A class Projection named RegisterExtension.
    For example:
    Projection RegisterExtension As Projection.StudioDocument(DocumentExtension = "BPL");
  • A value for the <parameter>EDITORURL</parameter> parameter.
    This is the URL of the page that provides the actual editor UI.
  • If needed, a value for the <parameter>DOCUMENTCLASS</parameter> parameter.
  • An override of the <method>Save</method> method.
  • An override of the <method>Exists</method> method.

Member Function Documentation

◆ Delete()

_.Library.Status Delete ( _.Library.String  name)
static

Delete the class that corresponds to document name.

Subclass should override this behavior for non-class based editors.

Reimplemented from AbstractDocument.

◆ Exists()

_.Library.Boolean Exists ( _.Library.String  pName)
static

Return 1 if the given document exists and 0 if it does not.


Subclass can override this behavior.

Reimplemented from AbstractDocument.

◆ GetOther()

_.Library.String GetOther ( _.Library.String  Name)
static

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.

Reimplemented from AbstractDocument.

◆ TimeStamp()

_.Library.TimeStamp TimeStamp ( _.Library.String  name)
static

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.

Reimplemented from AbstractDocument.

Member Data Documentation

◆ DESCRIPTION

DESCRIPTION = None
static

Description Studio will display for this document.


If <parameter>DOMAIN</parameter> is defined this will be localized.

◆ DOCUMENTCLASS

DOCUMENTCLASS = None
static

If set, name of superclass used for documents of this type.


For example, "Ens.DataTransformDTL"

◆ LISTABSTRACT

LISTABSTRACT = None
static

If true, the built-in document list logic will include abstract classes.

otherwise they are ignored.