Quadcap Embeddable Database

com.quadcap.sql.types.TypeInterval Class Reference

Inheritance diagram for com.quadcap.sql.types.TypeInterval:

com.quadcap.sql.types.Type Externalizable List of all members.

Detailed Description

SQL INTERVAL types.

Author:
Stan Bailes

Definition at line 60 of file TypeInterval.java.

Public Member Functions

 TypeInterval ()
 TypeInterval (int start, int startPrecision, int end, int secPrecision) throws antlr.RecognitionException
 TypeInterval (int start, int startPrecision, int secPrecision)
String fieldName (int type)
String getTypeName ()
int getJDBCType ()
String getJDBCClassName ()
int getPrecision ()
int getScale ()
int getMaxPrecision ()
int getMinScale ()
int getMaxScale ()
boolean isCharType ()
boolean isCaseSensitive ()
boolean isCurrency ()
boolean isSigned ()
String toString ()
int getDisplayWidth ()
void readExternal (ObjectInput in) throws IOException
void writeExternal (ObjectOutput out) throws IOException
Value convert (Value v) throws ValueException
String getCreateParams ()

Static Public Member Functions

int convertCalendarField (int field) throws ValueException

Static Public Attributes

final TypeInterval typeInterval = new TypeInterval()
final int YEAR = 0
final int MONTH = 1
final int DAY = 2
final int HOUR = 3
final int MINUTE = 4
final int SECOND = 5
final int NANO = 6

Package Functions

int getStart ()
int getEnd ()
int getSecPrecision ()
final long getMult ()
 Return the number by which the interval value must be multiplied to convert it to a value in nanoseconds.

long units (int type, boolean ym)
 Return the number by which elements of field 'type' must be multiplied in order to convert them to the unit type used in this interval.


Static Package Functions

final long getNanos (int type)
final long getMon (int type)

Package Attributes

int start = -1
int end = -1
int startPrecision = 2
int secPrecision = 6

Static Package Attributes

final String[] fieldNames
final long[] fieldNanos
final long[] fieldMon
final long[] pow10


Constructor & Destructor Documentation

com.quadcap.sql.types.TypeInterval.TypeInterval  ) 
 

Definition at line 119 of file TypeInterval.java.

com.quadcap.sql.types.TypeInterval.TypeInterval int  start,
int  startPrecision,
int  end,
int  secPrecision
throws antlr.RecognitionException
 

Definition at line 122 of file TypeInterval.java.

References com.quadcap.sql.types.TypeInterval.end, com.quadcap.sql.types.TypeInterval.MONTH, com.quadcap.sql.types.TypeInterval.secPrecision, com.quadcap.sql.types.TypeInterval.start, and com.quadcap.sql.types.TypeInterval.startPrecision.

com.quadcap.sql.types.TypeInterval.TypeInterval int  start,
int  startPrecision,
int  secPrecision
 

Definition at line 136 of file TypeInterval.java.


Member Function Documentation

Value com.quadcap.sql.types.TypeInterval.convert Value  v  )  throws ValueException
 

Implements com.quadcap.sql.types.Type.

Definition at line 257 of file TypeInterval.java.

References com.quadcap.sql.types.TypeInterval.convert().

Referenced by com.quadcap.sql.types.TypeInterval.convert().

int com.quadcap.sql.types.TypeInterval.convertCalendarField int  field  )  throws ValueException [static]
 

Definition at line 101 of file TypeInterval.java.

References com.quadcap.sql.types.TypeInterval.convertCalendarField(), com.quadcap.sql.types.TypeInterval.DAY, com.quadcap.sql.types.TypeInterval.HOUR, com.quadcap.sql.types.TypeInterval.MINUTE, com.quadcap.sql.types.TypeInterval.MONTH, com.quadcap.sql.types.TypeInterval.SECOND, and com.quadcap.sql.types.TypeInterval.YEAR.

Referenced by com.quadcap.sql.types.TypeInterval.convertCalendarField().

String com.quadcap.sql.types.TypeInterval.fieldName int  type  ) 
 

Definition at line 149 of file TypeInterval.java.

References com.quadcap.sql.types.TypeInterval.fieldName(), and com.quadcap.sql.types.TypeInterval.fieldNames.

Referenced by com.quadcap.sql.types.TypeInterval.fieldName().

String com.quadcap.sql.types.TypeInterval.getCreateParams  ) 
 

Implements com.quadcap.sql.types.Type.

Definition at line 261 of file TypeInterval.java.

int com.quadcap.sql.types.TypeInterval.getDisplayWidth  ) 
 

Implements com.quadcap.sql.types.Type.

Definition at line 241 of file TypeInterval.java.

int com.quadcap.sql.types.TypeInterval.getEnd  )  [package]
 

Definition at line 145 of file TypeInterval.java.

References com.quadcap.sql.types.TypeInterval.end.

Referenced by com.quadcap.sql.types.ValueInterval.getTimeComponent(), and com.quadcap.sql.types.ValueInterval.toString().

String com.quadcap.sql.types.TypeInterval.getJDBCClassName  ) 
 

Implements com.quadcap.sql.types.Type.

Definition at line 188 of file TypeInterval.java.

int com.quadcap.sql.types.TypeInterval.getJDBCType  ) 
 

Implements com.quadcap.sql.types.Type.

Definition at line 186 of file TypeInterval.java.

int com.quadcap.sql.types.TypeInterval.getMaxPrecision  ) 
 

Implements com.quadcap.sql.types.Type.

Definition at line 194 of file TypeInterval.java.

int com.quadcap.sql.types.TypeInterval.getMaxScale  ) 
 

Implements com.quadcap.sql.types.Type.

Definition at line 198 of file TypeInterval.java.

int com.quadcap.sql.types.TypeInterval.getMinScale  ) 
 

Implements com.quadcap.sql.types.Type.

Definition at line 196 of file TypeInterval.java.

final long com.quadcap.sql.types.TypeInterval.getMon int  type  )  [static, package]
 

Definition at line 152 of file TypeInterval.java.

References com.quadcap.sql.types.TypeInterval.fieldMon, and com.quadcap.sql.types.TypeInterval.getMon().

Referenced by com.quadcap.sql.types.TypeInterval.getMon().

final long com.quadcap.sql.types.TypeInterval.getMult  )  [package]
 

Return the number by which the interval value must be multiplied to convert it to a value in nanoseconds.

Definition at line 158 of file TypeInterval.java.

References com.quadcap.sql.types.TypeInterval.end, com.quadcap.sql.types.TypeInterval.NANO, com.quadcap.sql.types.TypeInterval.pow10, and com.quadcap.sql.types.TypeInterval.secPrecision.

Referenced by com.quadcap.sql.types.ValueInterval.convert(), com.quadcap.sql.types.ValueInterval.getCalendar(), and com.quadcap.sql.types.TypeInterval.units().

final long com.quadcap.sql.types.TypeInterval.getNanos int  type  )  [static, package]
 

Definition at line 151 of file TypeInterval.java.

References com.quadcap.sql.types.TypeInterval.fieldNanos, and com.quadcap.sql.types.TypeInterval.getNanos().

Referenced by com.quadcap.sql.types.TypeInterval.getNanos().

int com.quadcap.sql.types.TypeInterval.getPrecision  ) 
 

Implements com.quadcap.sql.types.Type.

Definition at line 190 of file TypeInterval.java.

int com.quadcap.sql.types.TypeInterval.getScale  ) 
 

Implements com.quadcap.sql.types.Type.

Definition at line 192 of file TypeInterval.java.

int com.quadcap.sql.types.TypeInterval.getSecPrecision  )  [package]
 

Definition at line 147 of file TypeInterval.java.

References com.quadcap.sql.types.TypeInterval.secPrecision.

Referenced by com.quadcap.sql.types.ValueInterval.ValueInterval().

int com.quadcap.sql.types.TypeInterval.getStart  )  [package]
 

Definition at line 144 of file TypeInterval.java.

References com.quadcap.sql.types.TypeInterval.start.

Referenced by com.quadcap.sql.types.ValueInterval.convert(), com.quadcap.sql.types.ValueInterval.getTimeComponent(), com.quadcap.sql.types.ValueInterval.readExternal(), com.quadcap.sql.types.ValueInterval.toString(), and com.quadcap.sql.types.ValueInterval.ValueInterval().

String com.quadcap.sql.types.TypeInterval.getTypeName  ) 
 

Implements com.quadcap.sql.types.Type.

Definition at line 182 of file TypeInterval.java.

References com.quadcap.sql.types.TypeInterval.toString().

boolean com.quadcap.sql.types.TypeInterval.isCaseSensitive  ) 
 

Implements com.quadcap.sql.types.Type.

Definition at line 202 of file TypeInterval.java.

boolean com.quadcap.sql.types.TypeInterval.isCharType  ) 
 

Implements com.quadcap.sql.types.Type.

Definition at line 200 of file TypeInterval.java.

boolean com.quadcap.sql.types.TypeInterval.isCurrency  ) 
 

Implements com.quadcap.sql.types.Type.

Definition at line 204 of file TypeInterval.java.

boolean com.quadcap.sql.types.TypeInterval.isSigned  ) 
 

Implements com.quadcap.sql.types.Type.

Definition at line 206 of file TypeInterval.java.

void com.quadcap.sql.types.TypeInterval.readExternal ObjectInput  in  )  throws IOException
 

Definition at line 243 of file TypeInterval.java.

References com.quadcap.sql.types.TypeInterval.end, com.quadcap.sql.types.TypeInterval.readExternal(), com.quadcap.sql.types.TypeInterval.secPrecision, com.quadcap.sql.types.TypeInterval.start, and com.quadcap.sql.types.TypeInterval.startPrecision.

Referenced by com.quadcap.sql.types.TypeInterval.readExternal().

String com.quadcap.sql.types.TypeInterval.toString  ) 
 

Definition at line 208 of file TypeInterval.java.

References com.quadcap.sql.types.TypeInterval.end, com.quadcap.sql.types.TypeInterval.fieldNames, com.quadcap.sql.types.TypeInterval.NANO, com.quadcap.sql.types.TypeInterval.SECOND, com.quadcap.sql.types.TypeInterval.secPrecision, com.quadcap.sql.types.TypeInterval.start, and com.quadcap.sql.types.TypeInterval.startPrecision.

Referenced by com.quadcap.sql.types.TypeInterval.getTypeName(), and com.quadcap.sql.types.ValueInterval.toString().

long com.quadcap.sql.types.TypeInterval.units int  type,
boolean  ym
[package]
 

Return the number by which elements of field 'type' must be multiplied in order to convert them to the unit type used in this interval.

units(type) * getMult() => nanoseconds per unit

Definition at line 172 of file TypeInterval.java.

References com.quadcap.sql.types.TypeInterval.end, com.quadcap.sql.types.TypeInterval.getMult(), com.quadcap.sql.types.TypeInterval.NANO, and com.quadcap.sql.types.TypeInterval.units().

Referenced by com.quadcap.sql.types.ValueInterval.convert(), com.quadcap.sql.types.ValueInterval.getTimeComponent(), com.quadcap.sql.types.ValueInterval.toString(), com.quadcap.sql.types.TypeInterval.units(), and com.quadcap.sql.types.ValueInterval.ValueInterval().

void com.quadcap.sql.types.TypeInterval.writeExternal ObjectOutput  out  )  throws IOException
 

Definition at line 250 of file TypeInterval.java.

References com.quadcap.sql.types.TypeInterval.end, com.quadcap.sql.types.TypeInterval.secPrecision, com.quadcap.sql.types.TypeInterval.start, com.quadcap.sql.types.TypeInterval.startPrecision, and com.quadcap.sql.types.TypeInterval.writeExternal().

Referenced by com.quadcap.sql.types.TypeInterval.writeExternal().


Member Data Documentation

final int com.quadcap.sql.types.TypeInterval.DAY = 2 [static]
 

Definition at line 65 of file TypeInterval.java.

Referenced by com.quadcap.sql.types.TypeInterval.convertCalendarField().

int com.quadcap.sql.types.TypeInterval.end = -1 [package]
 

Definition at line 97 of file TypeInterval.java.

Referenced by com.quadcap.sql.types.TypeInterval.getEnd(), com.quadcap.sql.types.TypeInterval.getMult(), com.quadcap.sql.types.TypeInterval.readExternal(), com.quadcap.sql.types.TypeInterval.toString(), com.quadcap.sql.types.TypeInterval.TypeInterval(), com.quadcap.sql.types.TypeInterval.units(), and com.quadcap.sql.types.TypeInterval.writeExternal().

final long [] com.quadcap.sql.types.TypeInterval.fieldMon [static, package]
 

Initial value:

{ 12, 1, 0, 0, 0, 0, 0 }

Definition at line 85 of file TypeInterval.java.

Referenced by com.quadcap.sql.types.TypeInterval.getMon().

final String [] com.quadcap.sql.types.TypeInterval.fieldNames [static, package]
 

Initial value:

{ "YEAR", "MONTH", "DAY", "HOUR", "MINUTE", "SECOND", "NANO" }

Definition at line 71 of file TypeInterval.java.

Referenced by com.quadcap.sql.types.TypeInterval.fieldName(), and com.quadcap.sql.types.TypeInterval.toString().

final long [] com.quadcap.sql.types.TypeInterval.fieldNanos [static, package]
 

Initial value:

{ 365*24*3600*1000000000L, 30*24*3600*1000000000L, 24*3600*1000000000L, 3600*1000000000L, 60*1000000000L, 1000000000L, 1L }

Definition at line 75 of file TypeInterval.java.

Referenced by com.quadcap.sql.types.TypeInterval.getNanos().

final int com.quadcap.sql.types.TypeInterval.HOUR = 3 [static]
 

Definition at line 66 of file TypeInterval.java.

Referenced by com.quadcap.sql.types.TypeInterval.convertCalendarField().

final int com.quadcap.sql.types.TypeInterval.MINUTE = 4 [static]
 

Definition at line 67 of file TypeInterval.java.

Referenced by com.quadcap.sql.types.TypeInterval.convertCalendarField().

final int com.quadcap.sql.types.TypeInterval.MONTH = 1 [static]
 

Definition at line 64 of file TypeInterval.java.

Referenced by com.quadcap.sql.types.TypeInterval.convertCalendarField(), and com.quadcap.sql.types.TypeInterval.TypeInterval().

final int com.quadcap.sql.types.TypeInterval.NANO = 6 [static]
 

Definition at line 69 of file TypeInterval.java.

Referenced by com.quadcap.sql.types.TypeInterval.getMult(), com.quadcap.sql.types.TypeInterval.toString(), and com.quadcap.sql.types.TypeInterval.units().

final long [] com.quadcap.sql.types.TypeInterval.pow10 [static, package]
 

Initial value:

{ 1L, 10L, 100L, 1000L, 10000L, 100000L, 1000000L, 10000000L, 100000000L, 1000000000L }

Definition at line 89 of file TypeInterval.java.

Referenced by com.quadcap.sql.types.TypeInterval.getMult().

final int com.quadcap.sql.types.TypeInterval.SECOND = 5 [static]
 

Definition at line 68 of file TypeInterval.java.

Referenced by com.quadcap.sql.types.TypeInterval.convertCalendarField(), and com.quadcap.sql.types.TypeInterval.toString().

int com.quadcap.sql.types.TypeInterval.secPrecision = 6 [package]
 

Definition at line 99 of file TypeInterval.java.

Referenced by com.quadcap.sql.types.TypeInterval.getMult(), com.quadcap.sql.types.TypeInterval.getSecPrecision(), com.quadcap.sql.types.TypeInterval.readExternal(), com.quadcap.sql.types.TypeInterval.toString(), com.quadcap.sql.types.TypeInterval.TypeInterval(), and com.quadcap.sql.types.TypeInterval.writeExternal().

int com.quadcap.sql.types.TypeInterval.start = -1 [package]
 

Definition at line 96 of file TypeInterval.java.

Referenced by com.quadcap.sql.types.TypeInterval.getStart(), com.quadcap.sql.types.TypeInterval.readExternal(), com.quadcap.sql.types.TypeInterval.toString(), com.quadcap.sql.types.TypeInterval.TypeInterval(), and com.quadcap.sql.types.TypeInterval.writeExternal().

int com.quadcap.sql.types.TypeInterval.startPrecision = 2 [package]
 

Definition at line 98 of file TypeInterval.java.

Referenced by com.quadcap.sql.types.TypeInterval.readExternal(), com.quadcap.sql.types.TypeInterval.toString(), com.quadcap.sql.types.TypeInterval.TypeInterval(), and com.quadcap.sql.types.TypeInterval.writeExternal().

final TypeInterval com.quadcap.sql.types.TypeInterval.typeInterval = new TypeInterval() [static]
 

Definition at line 61 of file TypeInterval.java.

final int com.quadcap.sql.types.TypeInterval.YEAR = 0 [static]
 

Definition at line 63 of file TypeInterval.java.

Referenced by com.quadcap.sql.types.TypeInterval.convertCalendarField().