com.hp.hpl.jena.datatypes.xsd
Class XSDDateTime

java.lang.Object
  extended by com.hp.hpl.jena.datatypes.xsd.AbstractDateTime
      extended by com.hp.hpl.jena.datatypes.xsd.XSDDateTime
All Implemented Interfaces:
Comparable<AbstractDateTime>

public class XSDDateTime
extends AbstractDateTime

Represent an XSD date/time value. Rather than have a separate type for each legal date/time value combination this is a combination type than does runtime checks whether a given field is legal in the current circumstances.

Version:
$Revision: 1.2 $ on $Date: 2009-09-25 09:58:14 $
Author:
Dave Reynolds

Field Summary
static short DAY_MASK
          Mask to indicate whether day is present
static short FULL_MASK
          Mask to indicate all date/time are present
static short MONTH_MASK
          Mask to indicate whether month is present
static short TIME_MASK
          Mask to indicate whether time is present
static short YEAR_MASK
          Mask to indicate whether year is present
 
Fields inherited from class com.hp.hpl.jena.datatypes.xsd.AbstractDateTime
EQUAL, GREATER_THAN, INDETERMINATE, LESS_THAN
 
Constructor Summary
XSDDateTime(Calendar date)
          Constructor - create a full DateTime object from a java calendar instance.
XSDDateTime(Object value, int mask)
          Constructor - should only be used by the internals but public scope because the internals spread across multiple packages.
 
Method Summary
 Calendar asCalendar()
          Return the date time as a java Calendar object.
 int getDays()
          Return the number of years in the dateTime
 int getFullSeconds()
          Return the number of full seconds in the dateTime
 int getHours()
          Return the number of hours in the dateTime
 int getMinutes()
          Return the number of minutes in the dateTime
 int getMonths()
          Return the month in the dateTime, this is in ISO8601 format so january = 1
 XSDDatatype getNarrowedDatatype()
          Return the most specific xsd type which can represent this date/time
 double getSeconds()
          Return the number of seconds in the dateTime, including fractional part
 double getTimePart()
          Return the time component of the dateTime - i.e.
 int getYears()
          Return the number of years in the dateTime.
 void narrowType(XSDDatatype dt)
          Set the mask for this date/time to be that appropriate for the given XSD subtype.
 String timeLexicalForm()
          Return the lexical form of the time component.
 String toString()
          Return legal serialized form.
 
Methods inherited from class com.hp.hpl.jena.datatypes.xsd.AbstractDateTime
compare, compareTo, equals, hashCode, normalize
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

YEAR_MASK

public static final short YEAR_MASK
Mask to indicate whether year is present

See Also:
Constant Field Values

MONTH_MASK

public static final short MONTH_MASK
Mask to indicate whether month is present

See Also:
Constant Field Values

DAY_MASK

public static final short DAY_MASK
Mask to indicate whether day is present

See Also:
Constant Field Values

TIME_MASK

public static final short TIME_MASK
Mask to indicate whether time is present

See Also:
Constant Field Values

FULL_MASK

public static final short FULL_MASK
Mask to indicate all date/time are present

See Also:
Constant Field Values
Constructor Detail

XSDDateTime

public XSDDateTime(Object value,
                   int mask)
Constructor - should only be used by the internals but public scope because the internals spread across multiple packages.

Parameters:
value - the date/time value returned by the parsing
mask - bitmask defining which components are valid in this instance (e.g. dates don't have valid time fields).

XSDDateTime

public XSDDateTime(Calendar date)
Constructor - create a full DateTime object from a java calendar instance.

Parameters:
date - java calendar instance
Method Detail

getNarrowedDatatype

public XSDDatatype getNarrowedDatatype()
Return the most specific xsd type which can represent this date/time


narrowType

public void narrowType(XSDDatatype dt)
Set the mask for this date/time to be that appropriate for the given XSD subtype. If the type is a subtype of XSDdateTime the mask will be narrowed appropriately, other types will be silently ignored.


asCalendar

public Calendar asCalendar()
                    throws IllegalDateTimeFieldException
Return the date time as a java Calendar object. If the timezone has been specified then the object is normalized to GMT. If the zone has not been specified then we use the default timezone.

Throws:
IllegalDateTimeFieldException - if this is not a full date + time

getYears

public int getYears()
             throws IllegalDateTimeFieldException
Return the number of years in the dateTime.

Throws:
IllegalDateTimeFieldException - if there is no legal year component

getMonths

public int getMonths()
              throws IllegalDateTimeFieldException
Return the month in the dateTime, this is in ISO8601 format so january = 1

Throws:
IllegalDateTimeFieldException - if there is no legal month component

getDays

public int getDays()
            throws IllegalDateTimeFieldException
Return the number of years in the dateTime

Throws:
IllegalDateTimeFieldException - if there is no legal day component

getHours

public int getHours()
             throws IllegalDateTimeFieldException
Return the number of hours in the dateTime

Throws:
IllegalDateTimeFieldException - if there is no legal time component

getMinutes

public int getMinutes()
               throws IllegalDateTimeFieldException
Return the number of minutes in the dateTime

Throws:
IllegalDateTimeFieldException - if there is no legal time component

getFullSeconds

public int getFullSeconds()
                   throws IllegalDateTimeFieldException
Return the number of full seconds in the dateTime

Throws:
IllegalDateTimeFieldException - if there is no legal time component

getSeconds

public double getSeconds()
                  throws IllegalDateTimeFieldException
Return the number of seconds in the dateTime, including fractional part

Throws:
IllegalDateTimeFieldException - if there is no legal time component

getTimePart

public double getTimePart()
                   throws IllegalDateTimeFieldException
Return the time component of the dateTime - i.e. just the hours/mins/seconds, and returns the values in seconds.

Throws:
IllegalDateTimeFieldException - if there is no legal time component

toString

public String toString()
Return legal serialized form.

Overrides:
toString in class Object

timeLexicalForm

public String timeLexicalForm()
Return the lexical form of the time component.



Licenced under the Apache License, Version 2.0