Package javax.xml.datatype

Examples of javax.xml.datatype.Duration


  @Builtin(Name = "seconds-from-duration")
  public static Literal seconds_from_duration(final Argument arg) {
    String str = BuiltinHelper
        .stringFromLiteral((TypedLiteral) arg.arguments.get(0));
    Duration dur = BuiltinHelper.getDayTimeDurationFromString(str);
    return BuiltinHelper.getNumericLiteral(dur.getSign()
        * (dur.getField(DatatypeConstants.SECONDS).doubleValue()));
  }
 
View Full Code Here


        .stringFromLiteral((TypedLiteral) arg.arguments.get(0));
    XMLGregorianCalendar cal1 = XMLGregorianCalendarImpl.parse(str);
    str = BuiltinHelper.stringFromLiteral((TypedLiteral) arg.arguments
        .get(1));
    XMLGregorianCalendar cal2 = XMLGregorianCalendarImpl.parse(str);
    Duration dur;
    try {
      dur = DatatypeFactory.newInstance().newDuration(
          cal1.toGregorianCalendar().getTimeInMillis()
              - cal2.toGregorianCalendar().getTimeInMillis());
    } catch (DatatypeConfigurationException e) {
      return null;
    }
    return BuiltinHelper.createXSLiteral(
        dur.toString().substring(0, dur.toString().indexOf("D") + 1),
        "dayTimeDuration");
  }
View Full Code Here

        .stringFromLiteral((TypedLiteral) arg.arguments.get(0));
    XMLGregorianCalendar cal1 = XMLGregorianCalendarImpl.parse(str);
    str = BuiltinHelper.stringFromLiteral((TypedLiteral) arg.arguments
        .get(1));
    XMLGregorianCalendar cal2 = XMLGregorianCalendarImpl.parse(str);
    Duration dur;
    try {
      dur = DatatypeFactory.newInstance().newDuration(
          cal1.toGregorianCalendar().getTimeInMillis()
              - cal2.toGregorianCalendar().getTimeInMillis());
    } catch (DatatypeConfigurationException e) {
      return null;
    }
    return BuiltinHelper.createXSLiteral(
        dur.toString().substring(0, dur.toString().indexOf("M") + 1),
        "dayTimeDuration");
  }
View Full Code Here

  @Builtin(Name = "add-yearMonthDurations")
  public static Literal add_yearMonthDurations(final Argument arg) {
    String str = BuiltinHelper
        .stringFromLiteral((TypedLiteral) arg.arguments.get(0));
    Duration dur1 = BuiltinHelper.getYearMonthDurationFromString(str);
    str = BuiltinHelper.stringFromLiteral((TypedLiteral) arg.arguments
        .get(1));
    Duration dur2 = BuiltinHelper.getYearMonthDurationFromString(str);
    Duration dur = dur1.add(dur2);
    try {
      dur = DatatypeFactory.newInstance().newDurationYearMonth(
          dur.getSign() > 0, dur.getYears() + (dur.getMonths() / 12),
          dur.getMonths() % 12);
    } catch (DatatypeConfigurationException e) {
      return null;
    }
    return BuiltinHelper.createXSLiteral(dur, "yearMonthDuration");
  }
View Full Code Here

  @Builtin(Name = "subtract-yearMonthDurations")
  public static Literal substract_yearMonthDurations(final Argument arg) {
    String str = BuiltinHelper
        .stringFromLiteral((TypedLiteral) arg.arguments.get(0));
    Duration dur1 = BuiltinHelper.getYearMonthDurationFromString(str);
    str = BuiltinHelper.stringFromLiteral((TypedLiteral) arg.arguments
        .get(1));
    Duration dur2 = BuiltinHelper.getYearMonthDurationFromString(str);
    Duration dur = dur1.subtract(dur2);
    try {
      dur = DatatypeFactory.newInstance().newDurationYearMonth(
          dur.getSign() > 0, dur.getYears() + (dur.getMonths() / 12),
          dur.getMonths() % 12);
    } catch (DatatypeConfigurationException e) {
      return null;
    }
    return BuiltinHelper.createXSLiteral(dur.toString()
        .replaceAll("0Y", ""), "yearMonthDuration");
  }
View Full Code Here

  @Builtin(Name = "multiply-yearMonthDuration")
  public static Literal multiply_yearMonthDurations(final Argument arg) {
    String str = BuiltinHelper
        .stringFromLiteral((TypedLiteral) arg.arguments.get(0));
    Duration dur1 = BuiltinHelper.getYearMonthDurationFromString(str);
    double value = BuiltinHelper
        .numberFromLiteral((TypedLiteral) arg.arguments.get(1));
    Duration dur = dur1.normalizeWith(GregorianCalendar.getInstance())
        .multiply(BigDecimal.valueOf(value));
    try {
      dur = DatatypeFactory.newInstance().newDurationYearMonth(
          dur.getSign() > 0, dur.getDays() / 365,
          (int) Math.ceil((dur.getDays() % 365.0) / 31.0));
    } catch (DatatypeConfigurationException e) {
      return null;
    }
    return BuiltinHelper.createXSLiteral(dur.toString()
        .replaceAll("0Y", ""), "yearMonthDuration");
  }
View Full Code Here

  @Builtin(Name = "divide-yearMonthDuration")
  public static Literal divide_yearMonthDurations(final Argument arg) {
    String str = BuiltinHelper
        .stringFromLiteral((TypedLiteral) arg.arguments.get(0));
    Duration dur1 = BuiltinHelper.getYearMonthDurationFromString(str);
    double value = BuiltinHelper
        .numberFromLiteral((TypedLiteral) arg.arguments.get(1));
    Duration dur = dur1.normalizeWith(GregorianCalendar.getInstance())
        .multiply(BigDecimal.valueOf(1.0 / value));
    try {
      dur = DatatypeFactory.newInstance().newDurationYearMonth(
          dur.getSign() > 0, dur.getDays() / 365,
          (int) Math.ceil((dur.getDays() % 365.0) / 31.0));
    } catch (DatatypeConfigurationException e) {
      return null;
    }
    return BuiltinHelper.createXSLiteral(dur.toString()
        .replaceAll("0Y", ""), "yearMonthDuration");
  }
View Full Code Here

import lupos.rif.RIFException;

public class BuiltinHelper {

  public static Duration getYearMonthDurationFromString(final String duration) {
    Duration dur;
    try {
      dur = DatatypeFactory.newInstance().newDurationYearMonth(duration);
    } catch (DatatypeConfigurationException e) {
      return null;
    }
View Full Code Here

    }
    return dur;
  }

  public static Duration getDayTimeDurationFromString(final String duration) {
    Duration dur;
    try {
      dur = DatatypeFactory.newInstance().newDurationDayTime(duration);
    } catch (DatatypeConfigurationException e) {
      return null;
    }
View Full Code Here

    }
    return dur;
  }

  public static Duration getDurationFromCalendar(XMLGregorianCalendar cal) {
    Duration dur;
    try {
      dur = DatatypeFactory.newInstance().newDurationDayTime(
          cal.getTimezone() * 60000);
    } catch (DatatypeConfigurationException e) {
      return null;
View Full Code Here

TOP

Related Classes of javax.xml.datatype.Duration

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.