net.sf.farrago.fem.fennel
Class FemWindowDef$Hib

java.lang.Object
  extended by org.eigenbase.enki.jmi.impl.RefBaseObjectBase
      extended by org.eigenbase.enki.jmi.impl.RefFeaturedBase
          extended by org.eigenbase.enki.jmi.impl.RefObjectBase
              extended by net.sf.farrago.fem.fennel.FemWindowDef$Hib
All Implemented Interfaces:
RefBaseObject, RefFeatured, RefObject, FemWindowDef

public class FemWindowDef$Hib
extends RefObjectBase
implements FemWindowDef

Implements MOF's WindowDef interface.

Author:
MofImplementationHandler

The definition of a window inside a FemWindowStreamDef.

A window has either a logical or physical range, and contains a number of partitions:


Field Summary
private  Integer offset
           
private  FemTupleProjection orderKeyList
           
private  WindowPartitions partition
           
private  Boolean physical
           
private  String range
           
private  Windows windowStream
           
 
Constructor Summary
FemWindowDef$Hib(RefClass refClass)
           
FemWindowDef$Hib(RefClass refClass, FemTupleProjection orderKeyList, boolean physical, String range, int offset)
           
 
Method Summary
protected  void checkConstraints(List<JmiException> errors, boolean deepVerify)
           
 int getOffset()
          Returns the value of attribute offset.
 FemTupleProjection getOrderKeyList()
          Returns the value of attribute orderKeyList.
 List<FemWindowPartitionDef> getPartition()
          Returns the value of reference Partition.
 String getRange()
          Returns the value of attribute range.
 FemWindowStreamDef getWindowStream()
          Returns the value of reference WindowStream.
 boolean isPhysical()
          Returns the value of attribute physical.
 void setOffset(int newValue)
          Sets the value of offset attribute.
 void setOrderKeyList(FemTupleProjection newValue)
          Sets the value of orderKeyList attribute.
 void setPhysical(boolean newValue)
          Sets the value of physical attribute.
 void setRange(String newValue)
          Sets the value of range attribute.
 void setWindowStream(FemWindowStreamDef newValue)
          Sets the value of WindowStream reference.
 
Methods inherited from class org.eigenbase.enki.jmi.impl.RefObjectBase
findAssociationEnd, findAttribute, getRepository, refClass, refDelete, refImmediateComposite, refImmediatePackage, refIsInstanceOf, refMetaObject, refOutermostComposite, setRefMetaObject, unregister
 
Methods inherited from class org.eigenbase.enki.jmi.impl.RefFeaturedBase
refGetValue, refGetValue, refInvokeOperation, refInvokeOperation, refSetValue, refSetValue
 
Methods inherited from class org.eigenbase.enki.jmi.impl.RefBaseObjectBase
createInstance, equals, getCurrentInitializer, getEnum, getInitializer, getMofId, getTag, hashCode, invokeMethod, invokeMethod, logJmi, refMofId, refOutermostPackage, refVerifyConstraints, setMofId
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.jmi.reflect.RefObject
refClass, refDelete, refImmediateComposite, refIsInstanceOf, refOutermostComposite
 
Methods inherited from interface javax.jmi.reflect.RefFeatured
refGetValue, refGetValue, refInvokeOperation, refInvokeOperation, refSetValue, refSetValue
 
Methods inherited from interface javax.jmi.reflect.RefBaseObject
equals, hashCode, refImmediatePackage, refMetaObject, refMofId, refOutermostPackage, refVerifyConstraints
 

Field Detail

orderKeyList

private FemTupleProjection orderKeyList

physical

private Boolean physical

range

private String range

offset

private Integer offset

partition

private WindowPartitions partition

windowStream

private Windows windowStream
Constructor Detail

FemWindowDef$Hib

FemWindowDef$Hib(RefClass refClass)

FemWindowDef$Hib

FemWindowDef$Hib(RefClass refClass,
                 FemTupleProjection orderKeyList,
                 boolean physical,
                 String range,
                 int offset)
Method Detail

getOrderKeyList

public FemTupleProjection getOrderKeyList()
Description copied from interface: FemWindowDef
Returns the value of attribute orderKeyList.

List of columns to sort the window on. For example, in WINDOW w AS (ORDER BY hiredate PARTITION BY gender ROWS 5 PRECEDING), the order list is "hiredate".

Often the optimizer will have ensured that the input stream is already sorted on the sort key, or at least a subset of it; for infinite relations, this is required in order to perform aggregation. See FemWindowStreamDef.getInputOrderKeyList().

Specified by:
getOrderKeyList in interface FemWindowDef
Returns:
Value of attribute orderKeyList.

setOrderKeyList

public void setOrderKeyList(FemTupleProjection newValue)
Description copied from interface: FemWindowDef
Sets the value of orderKeyList attribute. See FemWindowDef.getOrderKeyList() for description on the attribute.

Specified by:
setOrderKeyList in interface FemWindowDef
Parameters:
newValue - New value to be set.

isPhysical

public boolean isPhysical()
Description copied from interface: FemWindowDef
Returns the value of attribute physical.

True if the window is physical (defined by a number of rows); false if the window is logical (defined by a range of values).

Specified by:
isPhysical in interface FemWindowDef
Returns:
Value of attribute physical.

setPhysical

public void setPhysical(boolean newValue)
Description copied from interface: FemWindowDef
Sets the value of physical attribute. See FemWindowDef.isPhysical() for description on the attribute.

Specified by:
setPhysical in interface FemWindowDef
Parameters:
newValue - New value to be set.

getRange

public String getRange()
Description copied from interface: FemWindowDef
Returns the value of attribute range.

If physical, the number of rows; if logical, the value range (for example, 3,600,000 milliseconds).

Specified by:
getRange in interface FemWindowDef
Returns:
Value of attribute range.

setRange

public void setRange(String newValue)
Description copied from interface: FemWindowDef
Sets the value of range attribute. See FemWindowDef.getRange() for description on the attribute.

Specified by:
setRange in interface FemWindowDef
Parameters:
newValue - New value to be set.

getOffset

public int getOffset()
Description copied from interface: FemWindowDef
Returns the value of attribute offset.

This is the offset of the window. Positive value refers to a leading window and negative value refers to a trailing window.

Specified by:
getOffset in interface FemWindowDef
Returns:
Value of attribute offset.

setOffset

public void setOffset(int newValue)
Description copied from interface: FemWindowDef
Sets the value of offset attribute. See FemWindowDef.getOffset() for description on the attribute.

Specified by:
setOffset in interface FemWindowDef
Parameters:
newValue - New value to be set.

getPartition

public List<FemWindowPartitionDef> getPartition()
Description copied from interface: FemWindowDef
Returns the value of reference Partition.

Specified by:
getPartition in interface FemWindowDef
Returns:
Value of reference Partition. Element type: FemWindowPartitionDef

getWindowStream

public FemWindowStreamDef getWindowStream()
Description copied from interface: FemWindowDef
Returns the value of reference WindowStream.

Specified by:
getWindowStream in interface FemWindowDef
Returns:
Value of reference WindowStream.

setWindowStream

public void setWindowStream(FemWindowStreamDef newValue)
Description copied from interface: FemWindowDef
Sets the value of WindowStream reference. See FemWindowDef.getWindowStream() for description on the attribute.

Specified by:
setWindowStream in interface FemWindowDef
Parameters:
newValue - New value to be set.

checkConstraints

protected void checkConstraints(List<JmiException> errors,
                                boolean deepVerify)
Specified by:
checkConstraints in class RefBaseObjectBase