Home > Class Reference > ENSLIB namespace > %CSP.Routine
Private  Storage   


stream class %CSP.Routine extends %FileCharacterStream

Subclass of %FileCharacterStream that is used to load, save, compile, delete, etc. CSP files. To create one you pass it the URL of the CSP file you wish to manipulate such as:

	Set stream=##class(%CSP.Routine).%New("/csp/samples/inspector.csp")
	Do stream.OutputToDevice()


Parameters Properties Methods Queries Indices ForeignKeys Triggers
1 7 14


%Location AtEnd Attributes BOM
CanonicalFilename Directory Filename Generated
Id IsModified LastModified LineTerminator
Locked Namespace ReadSize RemoveOnClose
Size StreamFormatWrite TimeStamp TranslateTable
UpToDate Url

%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 %LocationGet %LocationSet
%LockStream %New %NormalizeObject %ObjectIsNull
%ObjectModified %ObjectSize %Oid %Open
%OpenId %OriginalNamespace %PackageName %ReleaseLock
%Reload %RemoveFromSaveSet %RollBack %Save
%SerializeObject %SetModified %UnlockStream %ValidateObject
CanonicalFilenameGet Clear ClearGatewayCache Compile
CopyFrom CopyFromAndSave Delete DeleteAttribute
DeleteStream Exists FileBinarySize FilenameGet
FilenameSet FindAt Flush GetAttribute
GetAttributeList GetCurrentTimeStamp GetDate GetStreamId
GetStreamIdForFile InputFromDevice IsCharacter IsDefinedAttribute
IsFileUnicode IsNull LastModifiedGet LineTerminatorSet
LinkToFile LinkToUrl Lock LockRoutine
MoveTo MoveToEnd NewFileName NextAttribute
OpenStream OutputToDevice OutputToDeviceAt Read
ReadLine ReadLineIntoStream ReadSQL Rewind
SaveStream SerializeToSyncSet SetAttribute SetAttributeList
SizeGet StreamOIDIsNull SyncStreamIn TranslateTableSet
Unlock UpToDateGet Write WriteLine


• parameter FILEEXT = "csp";
Override of file extension from %FileCharacterStream.


• property Generated as %Boolean;
True if this routine is generated from something else
• property IsModified as %Boolean [ InitialExpression = 0 ];
• property Locked as %Integer [ InitialExpression = 0 ];
Number of times this routines has been locked.
• property Namespace as %String;
Readonly property holding the namespace for this CSP application.
• property TimeStamp as %TimeStamp [ Calculated ];
Caclulated property that contains the current timestamp for the routine.
• property UpToDate as %Boolean [ Calculated ];
• property Url as %String;
Property holding the URL for this CSP application.


• method Clear(permanent As %Boolean = 1) as %Status
Clear the contents of this Stream from permanent storage. This will remove the permanent stream storage and any temporary stream and initialise the stream to its initial state that it starts in, including removing all the stream attributes.

Returns a %Status value indicating success or failure.

• classmethod ClearGatewayCache(url As %String, clear As %List = "") as %Status
If needed this will clear the gateway cache of this static url
• method Compile(qspec As %String = "") as %Status
Compile this CSP page. This calls SaveStream to flush the stream out to disk before calling compile.
• classmethod Delete(url As %String) as %Status
Delete the file associated with this CSP url
• classmethod Exists(url As %String) as %Boolean
Return true if the CSP file exists (not the class) and false otherwise.
• method GetCurrentTimeStamp() as %TimeStamp
Get the timestamp for the routine.
• classmethod GetDate(url As %String) as %TimeStamp
Return the timestamp of this CSP/CSR file. If there is no file then return -1
• method LinkToUrl(url As %String = "") as %Status
Link this stream to the file pointed to by this url.
• method Lock() as %Status
Lock the current routine
• classmethod LockRoutine(name As %String, lock As %Boolean = 1, checkfile As %Boolean = 1) as %Status
Lock or unlock a particular routine name. If lock is true then it will be locked else it will be unlocked.
• method OpenStream(url As %String) as %Status
Override of OpenStream method from %FileCharacterStream to open a %CSP.Routine.
• method SaveStream(supressbackup As %Boolean = 0, Output Refresh As %Boolean) as %Status
Override of SaveStream method from %FileCharacterStream to save this stream
• method Unlock() as %Status
Unlock the current routine
• method UpToDateGet() as %Boolean
This is a Get accessor method for the UpToDate property.