Java Code Examples for org.joda.time.DurationField#add()

The following examples show how to use org.joda.time.DurationField#add() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: BaseChronology.java    From astor with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Gets the values of a period from an interval.
 *
 * @param period  the period instant to use
 * @param duration  the duration to query
 * @return the values of the period extracted from the duration
 */
public int[] get(ReadablePeriod period, long duration) {
    int size = period.size();
    int[] values = new int[size];
    if (duration != 0) {
        long current = 0;
        for (int i = 0; i < size; i++) {
            DurationField field = period.getFieldType(i).getField(this);
            if (field.isPrecise()) {
                int value = field.getDifference(duration, current);
                current = field.add(current, value);
                values[i] = value;
            }
        }
    }
    return values;
}
 
Example 2
Source File: BaseChronology.java    From astor with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Gets the values of a period from an interval.
 *
 * @param period  the period instant to use
 * @param duration  the duration to query
 * @return the values of the period extracted from the duration
 */
public int[] get(ReadablePeriod period, long duration) {
    int size = period.size();
    int[] values = new int[size];
    if (duration != 0) {
        long current = 0;
        for (int i = 0; i < size; i++) {
            DurationField field = period.getFieldType(i).getField(this);
            if (field.isPrecise()) {
                int value = field.getDifference(duration, current);
                current = field.add(current, value);
                values[i] = value;
            }
        }
    }
    return values;
}
 
Example 3
Source File: BaseChronology.java    From astor with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Gets the values of a period from an interval.
 *
 * @param period  the period instant to use
 * @param startInstant  the start instant of an interval to query
 * @param endInstant  the start instant of an interval to query
 * @return the values of the period extracted from the interval
 */
public int[] get(ReadablePeriod period, long startInstant, long endInstant) {
    int size = period.size();
    int[] values = new int[size];
    if (startInstant != endInstant) {
        for (int i = 0; i < size; i++) {
            DurationField field = period.getFieldType(i).getField(this);
            int value = field.getDifference(endInstant, startInstant);
            startInstant = field.add(startInstant, value);
            values[i] = value;
        }
    }
    return values;
}
 
Example 4
Source File: BaseChronology.java    From astor with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Gets the values of a period from an interval.
 *
 * @param period  the period instant to use
 * @param startInstant  the start instant of an interval to query
 * @param endInstant  the start instant of an interval to query
 * @return the values of the period extracted from the interval
 */
public int[] get(ReadablePeriod period, long startInstant, long endInstant) {
    int size = period.size();
    int[] values = new int[size];
    if (startInstant != endInstant) {
        for (int i = 0; i < size; i++) {
            DurationField field = period.getFieldType(i).getField(this);
            int value = field.getDifference(endInstant, startInstant);
            startInstant = field.add(startInstant, value);
            values[i] = value;
        }
    }
    return values;
}
 
Example 5
Source File: AgeCalculator.java    From astor with GNU General Public License v2.0 4 votes vote down vote up
public long updateResult(long minuend, long subtrahend) {
    // Because time zone can be dynamically changed, field must be
    // dynamically acquired.

    DurationField field;
    switch (iFieldType) {
    case YEARS:
        field = iChronology.years();
        break;
    case MONTHS:
        field = iChronology.months();
        break;
    case DAYS:
        field = iChronology.days();
        break;
    case WEEKYEARS:
        field = iChronology.weekyears();
        break;
    case WEEKS:
        field = iChronology.weeks();
        break;
    case HOURS:
        field = iChronology.hours();
        break;
    case MINUTES:
        field = iChronology.minutes();
        break;
    case SECONDS: default:
        field = iChronology.seconds();
        break;
    }

    String textToSet = "";

    if (iCheckbox.isSelected()) {
        long difference = field.getDifferenceAsLong(minuend, subtrahend);
        textToSet = Long.toString(difference);
        subtrahend = field.add(subtrahend, difference);
    }

    if (!iResult.getText().equals(textToSet)) {
        iResult.setText(textToSet);
    }

    return subtrahend;
}
 
Example 6
Source File: AgeCalculator.java    From astor with GNU General Public License v2.0 4 votes vote down vote up
public long updateResult(long minuend, long subtrahend) {
    // Because time zone can be dynamically changed, field must be
    // dynamically acquired.

    DurationField field;
    switch (iFieldType) {
    case YEARS:
        field = iChronology.years();
        break;
    case MONTHS:
        field = iChronology.months();
        break;
    case DAYS:
        field = iChronology.days();
        break;
    case WEEKYEARS:
        field = iChronology.weekyears();
        break;
    case WEEKS:
        field = iChronology.weeks();
        break;
    case HOURS:
        field = iChronology.hours();
        break;
    case MINUTES:
        field = iChronology.minutes();
        break;
    case SECONDS: default:
        field = iChronology.seconds();
        break;
    }

    String textToSet = "";

    if (iCheckbox.isSelected()) {
        long difference = field.getDifferenceAsLong(minuend, subtrahend);
        textToSet = Long.toString(difference);
        subtrahend = field.add(subtrahend, difference);
    }

    if (!iResult.getText().equals(textToSet)) {
        iResult.setText(textToSet);
    }

    return subtrahend;
}