private static NodeValue fixupDateOrDateTime(NodeValue nv) { if ( nv.isDateTime() ) return fixupDateTime(nv); if ( nv.isDate() ) return fixupDate(nv); throw new ARQInternalErrorException("Attempt to fixupDateOrDateTime on "+nv); }
private static DateTimeStruct parseTime(NodeValue nv) { String lex = nv.getNode().getLiteralLexicalForm() ; if ( nv.isDateTime() ) return DateTimeStruct.parseDateTime(lex) ; else if ( nv.isTime() ) return DateTimeStruct.parseTime(lex) ; else throw new ExprEvalException("Not a datatype for time") ; }
public static NodeValue dtGetDay(NodeValue nv) { if ( nv.isDateTime() || nv.isDate() || nv.isGMonthDay() || nv.isGDay() ) { DateTimeStruct dts = parseAnyDT(nv) ; return NodeValue.makeNode(dts.day, XSDDatatype.XSDinteger) ; } throw new ExprEvalException("Not a month datatype") ; }
public static NodeValue dtGetDay(NodeValue nv) { if ( nv.isDateTime() || nv.isDate() || nv.isGMonthDay() || nv.isGDay() ) { DateTimeStruct dts = parseAnyDT(nv) ; return NodeValue.makeNode(dts.day, XSDDatatype.XSDinteger) ; } throw new ExprEvalException("Not a month datatype") ; }
private static DateTimeStruct parseTime(NodeValue nv) { String lex = nv.getNode().getLiteralLexicalForm() ; if ( nv.isDateTime() ) return DateTimeStruct.parseDateTime(lex) ; else if ( nv.isTime() ) return DateTimeStruct.parseTime(lex) ; else throw new ExprEvalException("Not a datatype for time") ; }
private static NodeValue fixupDateTime(NodeValue nv) { DateTimeStruct dts = DateTimeStruct.parseDateTime(nv.asNode().getLiteralLexicalForm()) ; if ( dts.timezone != null ) return null ; dts.timezone = defaultTimezone ; nv = NodeValue.makeDateTime(dts.toString()) ; if ( ! nv.isDateTime() ) throw new ARQInternalErrorException("Failed to reform an xsd:dateTime") ; return nv ; }
private static NodeValue fixupDateTime(NodeValue nv) { DateTimeStruct dts = DateTimeStruct.parseDateTime(nv.asNode().getLiteralLexicalForm()) ; if ( dts.timezone != null ) return null ; dts.timezone = defaultTimezone ; nv = NodeValue.makeDateTime(dts.toString()) ; if ( ! nv.isDateTime() ) throw new ARQInternalErrorException("Failed to reform an xsd:dateTime") ; return nv ; }
public static NodeValue dtGetYear(NodeValue nv) { if ( nv.isDateTime() || nv.isDate() || nv.isGYear() || nv.isGYearMonth() ) { DateTimeStruct dts = parseAnyDT(nv) ; return NodeValue.makeNode(dts.year, XSDDatatype.XSDinteger) ; } // else if (nv.isGMonth() ) // dts = DateTimeStruct.parseGMonth(lex) ; // else if (nv.isGMonthDay() ) // dts = DateTimeStruct.parseGMonthDay(lex) ; // else if (nv.isGDay() ) // dts = DateTimeStruct.parseGDay(lex) ; throw new ExprEvalException("Not a year datatype") ; }
public static NodeValue dtGetYear(NodeValue nv) { if ( nv.isDateTime() || nv.isDate() || nv.isGYear() || nv.isGYearMonth() ) { DateTimeStruct dts = parseAnyDT(nv) ; return NodeValue.makeNode(dts.year, XSDDatatype.XSDinteger) ; } // else if (nv.isGMonth() ) // dts = DateTimeStruct.parseGMonth(lex) ; // else if (nv.isGMonthDay() ) // dts = DateTimeStruct.parseGMonthDay(lex) ; // else if (nv.isGDay() ) // dts = DateTimeStruct.parseGDay(lex) ; throw new ExprEvalException("Not a year datatype") ; }
public static NodeValue dtGetMonth(NodeValue nv) { if ( nv.isDateTime() || nv.isDate() || nv.isGYearMonth() || nv.isGMonth() || nv.isGMonthDay() ) { DateTimeStruct dts = parseAnyDT(nv) ; return NodeValue.makeNode(dts.month, XSDDatatype.XSDinteger) ; } throw new ExprEvalException("Not a month datatype") ; }
public static NodeValue dtGetMonth(NodeValue nv) { if ( nv.isDateTime() || nv.isDate() || nv.isGYearMonth() || nv.isGMonth() || nv.isGMonthDay() ) { DateTimeStruct dts = parseAnyDT(nv) ; return NodeValue.makeNode(dts.month, XSDDatatype.XSDinteger) ; } throw new ExprEvalException("Not a month datatype") ; }
public boolean hasDateTime() { return isDateTime() || isDate() || isTime() || isGYear() || isGYearMonth() || isGMonth() || isGMonthDay() || isGDay() ; } public boolean isDateTime() { return false ; }
if ( nv.isDateTime() ) return nv ; if ( ! nv.isDate() ) throw new ExprEvalTypeException("Can't cast to XSD:dateTime: "+nv) ; if ( ! nv.isDateTime() ) throw new ExprEvalTypeException("Can't cast to XSD:date: "+nv) ; String x = String.format("%04d-%02d-%02d", xsdDT.getYears(), xsdDT.getMonths(),xsdDT.getDays()) ; return NodeValue.makeNode(x, xsd) ; if ( ! nv.isDateTime() ) throw new ExprEvalTypeException("Can't cast to XSD:time: "+nv) ; if ( ! nv.isDateTime() && ! nv.isDate() ) throw new ExprEvalTypeException("Can't cast to XSD:gYear: "+nv) ; String x = String.format("%04d", xsdDT.getYears()) ; return NodeValue.makeNode(x, xsd) ; if ( ! nv.isDateTime() && ! nv.isDate() ) throw new ExprEvalTypeException("Can't cast to XSD:gYearMonth: "+nv) ; String x = String.format("%04d-%02d", xsdDT.getYears(), xsdDT.getMonths()) ; return NodeValue.makeNode(x, xsd) ; if ( ! nv.isDateTime() && ! nv.isDate() ) throw new ExprEvalTypeException("Can't cast to XSD:gMonth: "+nv) ; String x = String.format("--%02d", xsdDT.getMonths()) ; return NodeValue.makeNode(x, xsd) ; if ( ! nv.isDateTime() && ! nv.isDate() ) throw new ExprEvalTypeException("Can't cast to XSD:gMonthDay: "+nv) ; String x = String.format("--%02d-%02d", xsdDT.getMonths(), xsdDT.getDays()) ; return NodeValue.makeNode(x, xsd) ; if ( ! nv.isDateTime() && ! nv.isDate() ) throw new ExprEvalTypeException("Can't cast to XSD:gDay: "+nv) ; String x = String.format("---%02d", xsdDT.getDays()) ; return NodeValue.makeNode(x, xsd) ;
if ( nv.isDateTime() ) return nv ; if ( ! nv.isDate() ) throw new ExprEvalTypeException("Can't cast to XSD:dateTime: "+nv) ; if ( ! nv.isDateTime() ) throw new ExprEvalTypeException("Can't cast to XSD:date: "+nv) ; if ( ! nv.isDateTime() ) throw new ExprEvalTypeException("Can't cast to XSD:time: "+nv) ; if ( ! nv.isDateTime() && ! nv.isDate() ) throw new ExprEvalTypeException("Can't cast to XSD:gYear: "+nv) ; String x = String.format("%04d", xsdDT.getYear()) ; return NodeValue.makeNode(x, xsd) ; if ( ! nv.isDateTime() && ! nv.isDate() ) throw new ExprEvalTypeException("Can't cast to XSD:gYearMonth: "+nv) ; String x = String.format("%04d-%02d", xsdDT.getYear(), xsdDT.getMonth()) ; return NodeValue.makeNode(x, xsd) ; if ( ! nv.isDateTime() && ! nv.isDate() ) throw new ExprEvalTypeException("Can't cast to XSD:gMonth: "+nv) ; String x = String.format("--%02d", xsdDT.getMonth()) ; return NodeValue.makeNode(x, xsd) ; if ( ! nv.isDateTime() && ! nv.isDate() ) throw new ExprEvalTypeException("Can't cast to XSD:gMonthDay: "+nv) ; String x = String.format("--%02d-%02d", xsdDT.getMonth(), xsdDT.getDay()) ; return NodeValue.makeNode(x, xsd) ; if ( ! nv.isDateTime() && ! nv.isDate() ) throw new ExprEvalTypeException("Can't cast to XSD:gDay: "+nv) ; String x = String.format("---%02d", xsdDT.getDay()) ; return NodeValue.makeNode(x, xsd) ;
public boolean hasDateTime() { return isDateTime() || isDate() || isTime() || isGYear() || isGYearMonth() || isGMonth() || isGMonthDay() || isGDay() ; } public boolean isDateTime() { return false ; }
private static ValueSpaceClassification classifyValueSpace(NodeValue nv) { if ( nv.isNumber() ) return VSPACE_NUM ; if ( nv.isDateTime() ) return VSPACE_DATETIME ; if ( nv.isDate() ) return VSPACE_DATE ; if ( nv.isTime() ) return VSPACE_TIME ; if ( nv.isDuration() ) return VSPACE_DURATION ; if ( nv.isGYear() ) return VSPACE_G_YEAR ; if ( nv.isGYearMonth() ) return VSPACE_G_YEARMONTH ; if ( nv.isGMonth() ) return VSPACE_G_MONTH ; if ( nv.isGMonthDay() ) return VSPACE_G_MONTHDAY ; if ( nv.isGDay() ) return VSPACE_G_DAY ; if ( VALUE_EXTENSIONS && nv.isDate() ) return VSPACE_DATE ; if ( nv.isString()) return VSPACE_STRING ; if ( nv.isBoolean()) return VSPACE_BOOLEAN ; if ( ! nv.isLiteral() ) return VSPACE_NODE ; if ( VALUE_EXTENSIONS && nv.getNode() != null && nv.getNode().isLiteral() && ! nv.getNode().getLiteralLanguage().equals("") ) return VSPACE_LANG ; return VSPACE_UNKNOWN ; }
private static ValueSpaceClassification classifyValueSpace(NodeValue nv) { if ( nv.isNumber() ) return VSPACE_NUM ; if ( nv.isDateTime() ) return VSPACE_DATETIME ; if ( nv.isDate() ) return VSPACE_DATE ; if ( nv.isTime() ) return VSPACE_TIME ; if ( nv.isDuration() ) return VSPACE_DURATION ; if ( nv.isGYear() ) return VSPACE_G_YEAR ; if ( nv.isGYearMonth() ) return VSPACE_G_YEARMONTH ; if ( nv.isGMonth() ) return VSPACE_G_MONTH ; if ( nv.isGMonthDay() ) return VSPACE_G_MONTHDAY ; if ( nv.isGDay() ) return VSPACE_G_DAY ; if ( VALUE_EXTENSIONS && nv.isDate() ) return VSPACE_DATE ; if ( nv.isString()) return VSPACE_STRING ; if ( nv.isBoolean()) return VSPACE_BOOLEAN ; if ( ! nv.isLiteral() ) return VSPACE_NODE ; if ( VALUE_EXTENSIONS && nv.getNode() != null && nv.getNode().isLiteral() && ! nv.getNode().getLiteralLanguage().equals("") ) return VSPACE_LANG ; return VSPACE_UNKNOWN ; }
private static DateTimeStruct parseAnyDT(NodeValue nv) { String lex = nv.getNode().getLiteralLexicalForm() ; if ( nv.isDateTime() ) return DateTimeStruct.parseDateTime(lex) ; if ( nv.isDate() ) return DateTimeStruct.parseDate(lex) ; if ( nv.isGYear() ) return DateTimeStruct.parseGYear(lex) ; if (nv.isGYearMonth() ) return DateTimeStruct.parseGYearMonth(lex) ; if (nv.isGMonth() ) return DateTimeStruct.parseGMonth(lex) ; if (nv.isGMonthDay() ) return DateTimeStruct.parseGMonthDay(lex) ; if (nv.isGDay() ) return DateTimeStruct.parseGDay(lex) ; if ( nv.isTime() ) return DateTimeStruct.parseTime(lex) ; return null ; }
private static DateTimeStruct parseAnyDT(NodeValue nv) { String lex = nv.getNode().getLiteralLexicalForm() ; if ( nv.isDateTime() ) return DateTimeStruct.parseDateTime(lex) ; if ( nv.isDate() ) return DateTimeStruct.parseDate(lex) ; if ( nv.isGYear() ) return DateTimeStruct.parseGYear(lex) ; if (nv.isGYearMonth() ) return DateTimeStruct.parseGYearMonth(lex) ; if (nv.isGMonth() ) return DateTimeStruct.parseGMonth(lex) ; if (nv.isGMonthDay() ) return DateTimeStruct.parseGMonthDay(lex) ; if (nv.isGDay() ) return DateTimeStruct.parseGDay(lex) ; if ( nv.isTime() ) return DateTimeStruct.parseTime(lex) ; return null ; }