This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

Home > Class Reference > ENSLIB namespace > EnsLib.RecordMap.Model.Record


class EnsLib.RecordMap.Model.Record extends %Library.RegisteredObject, %XML.Adaptor, Ens.Util.PortalModelBase

Object representation of a RecordMap Record Note that this class is responsible for the persistence and swizzling of the Contents object graph containing Field and Composite objects

Property Inventory (Including Private)

Method Inventory (Including Private)


parameter NAMESPACE =;
Inherited description: NAMESPACE specifies the XML namespace to be used when projecting the class to XML. if NAMESPACE - "", the default namespace is used for the XML schema is used as the namespace for his class.
parameter XMLSEQUENCE = 1;
Inherited description: If the XMLSEQUENCE = 1, then the order of the XML elements must match the order of the class properties. This allows us to deal with XML where the same field appears multiple times and is distinguished by the order.

Properties (Including Private)

property Contents as list of EnsLib.RecordMap.Model.RecordProperty (XMLPROJECTION = "ELEMENT", XMLTYPECONSTRAINT = "CHOICE") [ Required ];
List of all Composite and Field objects which are contained in the first level of this Record - each Composite object must contain at least one embedded Composite or Field, and those embedded objects do not appear directly in this list.
Property methods: ContentsBuildValueArray(), ContentsCollectionToDisplay(), ContentsCollectionToOdbc(), ContentsDisplayToCollection(), ContentsGet(), ContentsGetObject(), ContentsGetObjectId(), ContentsGetSwizzled(), ContentsIsValid(), ContentsOdbcToCollection(), ContentsSet(), ContentsSetObject(), ContentsSetObjectId()
property Separators as list of %String (XMLITEMNAME = "Separator");
Property for delimited Record types only. The Record will fail validation if this is set for other Record types. This is a list of Separators (or delimiters), in nesting order from outermost to innermost.
Property methods: SeparatorsBuildValueArray(), SeparatorsCollectionToDisplay(), SeparatorsCollectionToOdbc(), SeparatorsDisplayToCollection(), SeparatorsDisplayToLogical(), SeparatorsGet(), SeparatorsGetObject(), SeparatorsGetObjectId(), SeparatorsGetSwizzled(), SeparatorsIsValid(), SeparatorsLogicalToDisplay(), SeparatorsLogicalToOdbc(), SeparatorsNormalize(), SeparatorsOdbcToCollection(), SeparatorsSet(), SeparatorsSetObject(), SeparatorsSetObjectId()
property allowEarlyTerminator as EnsLib.RecordMap.Model.DataType.Boolean (XMLPROJECTION = "ATTRIBUTE");
Property for fixedwidth Record types only. The Record will fail validation if this is set for other Record types. When true, this flag indicates whether an earlier than expected record terminator will simply set all subsequent properties to "" instead of treating the short record as invalid.
Property methods: allowEarlyTerminatorDisplayToLogical(), allowEarlyTerminatorGet(), allowEarlyTerminatorIsValid(), allowEarlyTerminatorLogicalToDisplay(), allowEarlyTerminatorLogicalToXSD(), allowEarlyTerminatorNormalize(), allowEarlyTerminatorSet(), allowEarlyTerminatorXSDToLogical()
property annotation as %String (MAXLEN = 1024);
Comments for the Record. This text will appear as part of the class comments.
Property methods: annotationDisplayToLogical(), annotationGet(), annotationIsValid(), annotationLogicalToDisplay(), annotationLogicalToOdbc(), annotationNormalize(), annotationSet()
property batchClass as %String (MAXLEN = 220, XMLPROJECTION = "ATTRIBUTE");
Name of the batch class (if any) which should be associated with this RecordMap. NOTE: This only applies to simple Batch classes which extend EnsLib.RecordMap.Batch.
Property methods: batchClassDisplayToLogical(), batchClassGet(), batchClassIsValid(), batchClassLogicalToDisplay(), batchClassLogicalToOdbc(), batchClassNormalize(), batchClassSet()
property charEncoding as %String (XMLNAME = "char_encoding", XMLPROJECTION = "ATTRIBUTE") [ InitialExpression = "UTF-8" , Required ];
Character encoding for imported data records
Property methods: charEncodingDisplayToLogical(), charEncodingGet(), charEncodingIsValid(), charEncodingLogicalToDisplay(), charEncodingLogicalToOdbc(), charEncodingNormalize(), charEncodingSet()
property complexBatchManaged as EnsLib.RecordMap.Model.DataType.Boolean (XMLPROJECTION = "ATTRIBUTE");
Flag to indicate whether the RecordMap can be included in a ComplexMap.
Property methods: complexBatchManagedDisplayToLogical(), complexBatchManagedGet(), complexBatchManagedIsValid(), complexBatchManagedLogicalToDisplay(), complexBatchManagedLogicalToXSD(), complexBatchManagedNormalize(), complexBatchManagedSet(), complexBatchManagedXSDToLogical()
property escapeSequence as %String (XMLPROJECTION = "ATTRIBUTE");
Property for delimited Record types only. The Record will fail validation if this is set for other Record types. This represents the character(s) used for escaping as determined by the value of the escaping property.
Property methods: escapeSequenceDisplayToLogical(), escapeSequenceGet(), escapeSequenceIsValid(), escapeSequenceLogicalToDisplay(), escapeSequenceLogicalToOdbc(), escapeSequenceNormalize(), escapeSequenceSet()
property escaping as %String (VALUELIST = ",,quote,all", XMLPROJECTION = "ATTRIBUTE");
Property for delimited Record types only. The Record will fail validation if this is set for other Record types. Indicate which escape strategy is in use, where the escapeSequence captures the characters to be used.
Property methods: escapingDisplayToLogical(), escapingGet(), escapingIsValid(), escapingLogicalToDisplay(), escapingLogicalToOdbc(), escapingNormalize(), escapingSet()
property fieldSeparator as %String (XMLPROJECTION = "ATTRIBUTE");
Property for fixed width Record types only. The Record will fail validation if this is set for other Record types. This indicates whether a character (or characters) must appear between all Fields. Note that the width of this separator will be included in calculations for later Fields.
Property methods: fieldSeparatorDisplayToLogical(), fieldSeparatorGet(), fieldSeparatorIsValid(), fieldSeparatorLogicalToDisplay(), fieldSeparatorLogicalToOdbc(), fieldSeparatorNormalize(), fieldSeparatorSet()
property label as %String);
Leading character data prior to the actual record contents.
Property methods: labelDisplayToLogical(), labelGet(), labelIsValid(), labelLogicalToDisplay(), labelLogicalToOdbc(), labelNormalize(), labelSet()
property name as %String (MAXLEN = 220, XMLPROJECTION = "ATTRIBUTE") [ Required ];
Name of the RecordMap.
Property methods: nameDisplayToLogical(), nameGet(), nameIsValid(), nameLogicalToDisplay(), nameLogicalToOdbc(), nameNormalize(), nameSet()
property padFromLeft as EnsLib.RecordMap.Model.DataType.Boolean (XMLPROJECTION = "ATTRIBUTE");
Controls right justification (i.e. padding from the left).
Property methods: padFromLeftDisplayToLogical(), padFromLeftGet(), padFromLeftIsValid(), padFromLeftLogicalToDisplay(), padFromLeftLogicalToXSD(), padFromLeftNormalize(), padFromLeftSet(), padFromLeftXSDToLogical()
property paddingChars as %String (XMLPROJECTION = "ATTRIBUTE");
Character(s) to use for padding. Required for fixed width Records
Property methods: paddingCharsDisplayToLogical(), paddingCharsGet(), paddingCharsIsValid(), paddingCharsLogicalToDisplay(), paddingCharsLogicalToOdbc(), paddingCharsNormalize(), paddingCharsSet()
property recordTerminator as %String (XMLPROJECTION = "ATTRIBUTE");
Character(s) used to indicate the end of a particular record.
Property methods: recordTerminatorDisplayToLogical(), recordTerminatorGet(), recordTerminatorIsValid(), recordTerminatorLogicalToDisplay(), recordTerminatorLogicalToOdbc(), recordTerminatorNormalize(), recordTerminatorSet()
property repeatSeparator as %String (XMLPROJECTION = "ATTRIBUTE");
Property for delimited Record types only. The Record will fail validation if this is set for other Record types. If a delimited record contains repeating fields, this separator indicates what character(s) should be used to delimit the repeating data.
Property methods: repeatSeparatorDisplayToLogical(), repeatSeparatorGet(), repeatSeparatorIsValid(), repeatSeparatorLogicalToDisplay(), repeatSeparatorLogicalToOdbc(), repeatSeparatorNormalize(), repeatSeparatorSet()
property targetClassname as %String (MAXLEN = 220, XMLPROJECTION = "ATTRIBUTE") [ Required ];
Name of the Ensemble class to represent the Record. This class will be generated as a subclass of EnsLib.RecordMap.Base. If the RECORDMAPGENERATED parameter of the existing class is 0, then the target class will not be modified by the RecordMap framework - all changes are then the responsibility of the user.
Property methods: targetClassnameDisplayToLogical(), targetClassnameGet(), targetClassnameIsValid(), targetClassnameLogicalToDisplay(), targetClassnameLogicalToOdbc(), targetClassnameNormalize(), targetClassnameSet()
property type as EnsLib.RecordMap.Model.DataType.RecordType (XMLPROJECTION = "ATTRIBUTE") [ InitialExpression = "delimited" , Required ];
The type of Record; options include delimited and fixed width types.
Property methods: typeDisplayToLogical(), typeGet(), typeIsValid(), typeLogicalToDisplay(), typeLogicalToOdbc(), typeNormalize(), typeSet()

Methods (Including Private)

private method %OnValidateObject() as %Status
Perform validation on properties specific to the particular Record type
classmethod Exists(pRecordMapName As %String, ByRef pStatus As %Status) as %Boolean
Method to check whether a specified RecordMap exists.
classmethod LoadFromClass(pClassname As %String, Output pStatus As %Status, Output pReadOnly As %Boolean, pConcurrency As %Integer = -1) as EnsLib.RecordMap.Model.Record
Deserialize the XML from the RecordMap XData block and create a Record object based on that XML.
method SaveToClass() as %Status
Validates and then serializes the current RecordMap structure into XML inside the RecordMap XData block in the relevant RecordMap class.
classmethod ValidateObjectMap(pRecord As EnsLib.RecordMap.Model.Record) as %Status
Check for collisions in object names before save

Inherited Members

Inherited Properties (Including Private)

Inherited Methods (Including Private)

FeedbackOpens in a new window