IRISLIB database
AbstractLevel Class Reference

This is the base class for the family of DeepSee time hierarchy level classes. More...

Inheritance diagram for AbstractLevel:
Collaboration diagram for AbstractLevel:

Static Public Attributes

 DIMTYPE = None
 Type reported back to the UI. More...
 
 OPTIONLIST = None
 This is a comma-delimited list of user-settable options for this. More...
 
- 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...
 

Static Private Member Functions

_.Library.Status BaseRangeToKey (_.Library.String pKey, _.Library.Date pStart, _.Library.Date pEnd, _.Library.String pOffset)
 Given a pair of base values (in $H format) find a key value that lies within the range.
 
_.Library.Integer Convert (_.DeepSee.Datatype.dateTime pTime, _.Library.String pOffset)
 Convert a $H value to the logical value used for this level. More...
 
_.Library.Integer Count (_.Library.String pCube, _.Library.Integer pDimNo, _.Library.Integer pHierNo, _.Library.Integer pLevelNo)
 Return the total number of members within this level. More...
 
_.Library.Integer FormatToZDTCode (_.Library.String pFormat, _.Library.Integer pDefault)
 Utility method: More...
 
_.Library.Status GetAllMembers (_.Library.List pList, _.Library.String pCube, _.Library.String pFact, _.Library.Date pStartRange, _.Library.Date pEndRange, _.Library.String pFormat)
 Pull out all members of this level from the Fact table index.
 
_.Library.String GetCalendar ()
 Return the calendar that this class uses to calculate the members of the level.
 
_.Library.String GetDimType ()
 Return the type of this level class (used by UI components).
 
_.Library.Status GetLevelMembers (_.Library.List pList, _.Library.String pCube, _.Library.String pFact, _.Library.Date pStartRange, _.Library.Date pEndRange, _.Library.String pTimeOffset, _.Library.String pFormat)
 Return an array of members of this level.
 
_.Library.String GetName ()
 Return the user-visible name of this level.
 
_.Library.Status GetNthKey (_.Library.String pKey, _.Library.String pCube, _.Library.String pFact, _.Library.String pRelation, _.Library.Integer pOffset)
 Pull out the Nth (non-null) member (key) of this level from the Fact table index. More...
 
 GetOptionList (_.Library.String pList)
 Return set of possible options for this function. More...
 
_.Library.Integer GetPeriodLength ()
 Return the number of seconds in one unit of this time level.
 
_.Library.Status GetRelatedKey (_.Library.String pRelatedKey, _.Library.String pCube, _.Library.String pFact, _.Library.String pKey, _.Library.String pRelation, _.Library.Integer pOffset, _.Library.String pEndKey, _.Library.String pTimeOffset)
 Return, via pRelatedKey a key within this level. More...
 
_.Library.Boolean IsIndependent ()
 Return true if this time level is independent of the actual date. More...
 
_.Library.Status KeyToBaseRange (_.Library.String pKey, _.Library.Date pStart, _.Library.Date pEnd, _.Library.String pOffset)
 Convert a level key value into starting and ending base values (in $H format).
 
_.Library.String KeyToValue (_.Library.Integer pKey, _.Library.String pFormat, _.Library.String pOffset)
 Convert a level key (logical) value to a display value. More...
 
_.Library.Boolean SupportsNOW ()
 Return true if this level supports a NOW member.
 
_.Library.Integer ValueToKey (_.Library.String pValue, _.Library.String pFormat, _.Library.String pOffset)
 Convert a level display value to its corresponding key value. More...
 

Additional Inherited Members

- 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 OnClose ()
 This callback method is invoked by the <METHOD>Close</METHOD> method to. 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...
 

Detailed Description

This is the base class for the family of DeepSee time hierarchy level classes.


A time hierarchy class defines the behavior for a level within a hierarchy within a DeepSee dimension.
The class (non-package) part of a level class must be unique. You will get an error when you attempt to compile a cube definition is this is not the case.

Member Function Documentation

◆ Convert()

_.Library.Integer Convert ( _.DeepSee.Datatype.dateTime  pTime,
_.Library.String  pOffset 
)
staticprivate

Convert a $H value to the logical value used for this level.

This is used within the computed field logic for properties within a fact table based on this level.
. This is implemented by subclasses.
A subclass may extend this function and add additional arguments that correspond to user-settable options. Option values will be supplied when DeepSee invokes this method.
pTimeOffset is a time offset (interval) applied to the value.

Reimplemented in WeekYear, WeekNumber, QuarterNumber, MonthYear, MonthNumber, DayOfWeek, DayNumber, DayMonthYear, QuarterNumber, MonthYear, MonthNumber, MinuteNumber, HourNumber, DayNumber, DayMonthYear, QuarterNumber, MonthYear, MonthNumber, MinuteNumber, HourNumber, DayNumber, DayMonthYear, WeekYear, WeekNumber, QuarterNumber, MonthYear, MonthNumber, MinuteNumber, HourNumber, DayOfWeek, DayNumber, DayMonthYear, Years, Months, Days, Year, QuarterYear, Decade, Year, QuarterYear, Decade, Year, QuarterYear, Decade, Year, QuarterYear, and Decade.

◆ Count()

◆ FormatToZDTCode()

_.Library.Integer FormatToZDTCode ( _.Library.String  pFormat,
_.Library.Integer  pDefault 
)
staticprivate

Utility method:

Convert a time format string to a $ZDT format number. [Previously private]

◆ GetNthKey()

_.Library.Status GetNthKey ( _.Library.String  pKey,
_.Library.String  pCube,
_.Library.String  pFact,
_.Library.String  pRelation,
_.Library.Integer  pOffset 
)
staticprivate

Pull out the Nth (non-null) member (key) of this level from the Fact table index.

where N is pIndex. pRelation is "first" or "last" If pOffset offset from the start or end.

◆ GetOptionList()

GetOptionList ( _.Library.String  pList)
staticprivate

Return set of possible options for this function.

This is return as an array subscripted by option name.

◆ GetRelatedKey()

_.Library.Status GetRelatedKey ( _.Library.String  pRelatedKey,
_.Library.String  pCube,
_.Library.String  pFact,
_.Library.String  pKey,
_.Library.String  pRelation,
_.Library.Integer  pOffset,
_.Library.String  pEndKey,
_.Library.String  pTimeOffset 
)
staticprivate

Return, via pRelatedKey a key within this level.

related to pKey.
pRelation describes the relation: "lead","lag","first","last"
"lead" and "lag" are relative to pKey
"first" and "last" are relative to the first and last members of the level.
pEndKey is the end of the time period implied by the parent level (if applicable). This is used by "first" and "last".
pOffset is an optional offset to apply (in the direction of the relation).
Note: pKey and pEndKey are key values and not $H values.

Reimplemented in Year, WeekYear, WeekNumber, QuarterYear, QuarterNumber, MonthYear, MonthNumber, Decade, DayOfWeek, DayNumber, DayMonthYear, Year, QuarterYear, QuarterNumber, MonthYear, MonthNumber, Decade, DayNumber, DayMonthYear, Year, QuarterYear, QuarterNumber, MonthYear, MonthNumber, Decade, DayNumber, DayMonthYear, Year, WeekYear, WeekNumber, QuarterYear, QuarterNumber, MonthYear, MonthNumber, MinuteNumber, HourNumber, Decade, DayOfWeek, DayNumber, DayMonthYear, Years, Months, and Days.

◆ IsIndependent()

_.Library.Boolean IsIndependent ( )
staticprivate

Return true if this time level is independent of the actual date.

For example a Month Number is independent of the actual month while a YearMonth is not.

Reimplemented in WeekNumber, QuarterNumber, MonthNumber, DayOfWeek, DayNumber, QuarterNumber, MonthNumber, DayNumber, QuarterNumber, MonthNumber, DayNumber, WeekNumber, QuarterNumber, MonthNumber, MinuteNumber, HourNumber, DayOfWeek, and DayNumber.

◆ KeyToValue()

_.Library.String KeyToValue ( _.Library.Integer  pKey,
_.Library.String  pFormat,
_.Library.String  pOffset 
)
staticprivate

Convert a level key (logical) value to a display value.

pKey is the logical value (the format is up to the implementer of the class, but it must match that returned by the <method>Convert</method> method.)
Format is an optional format value. This is specified by the Format option when this level is specified within a cube definition. The possible Format values are determined by the class implementor.

Reimplemented in QuarterYear, MonthYear, DayMonthYear, QuarterYear, MonthYear, DayMonthYear, QuarterYear, MonthYear, DayMonthYear, QuarterYear, MonthYear, DayMonthYear, Year, WeekYear, WeekNumber, QuarterNumber, MonthNumber, Decade, DayOfWeek, DayNumber, Year, QuarterNumber, MonthNumber, Decade, DayNumber, Year, QuarterNumber, MonthNumber, Decade, DayNumber, Year, WeekYear, WeekNumber, QuarterNumber, MonthNumber, MinuteNumber, HourNumber, Decade, DayOfWeek, DayNumber, Years, Months, and Days.

◆ ValueToKey()

_.Library.Integer ValueToKey ( _.Library.String  pValue,
_.Library.String  pFormat,
_.Library.String  pOffset 
)
staticprivate

Convert a level display value to its corresponding key value.

The format of the logical and display values are up to the class implementor.
Format is an optional format value. This is specified by the Format option when this level is specified within a cube definition.
The possible Format values are determined by the class implementor.
Return "" if there is no corresponding key.

Reimplemented in Year, WeekYear, WeekNumber, QuarterYear, QuarterNumber, MonthYear, MonthNumber, Decade, DayOfWeek, DayNumber, DayMonthYear, Year, QuarterYear, QuarterNumber, MonthYear, MonthNumber, Decade, DayNumber, DayMonthYear, Year, QuarterYear, QuarterNumber, MonthYear, MonthNumber, Decade, DayNumber, DayMonthYear, Year, WeekYear, WeekNumber, QuarterYear, QuarterNumber, MonthYear, MonthNumber, MinuteNumber, HourNumber, Decade, DayOfWeek, DayNumber, DayMonthYear, Years, Months, and Days.

Member Data Documentation

◆ DIMTYPE

DIMTYPE = None
static

Type reported back to the UI.

This determines what type of control to display

for filters based on this class.

◆ OPTIONLIST

OPTIONLIST = None
static

This is a comma-delimited list of user-settable options for this.

time function.
Options can be defined within a DeepSee cube definition.