Example usage for org.apache.commons.lang3 Range getMinimum

List of usage examples for org.apache.commons.lang3 Range getMinimum

Introduction

In this page you can find the example usage for org.apache.commons.lang3 Range getMinimum.

Prototype

public T getMinimum() 

Source Link

Document

Gets the minimum value in this range.

Usage

From source file:com.offbynull.portmapper.upnpigd.UpnpIgdDiscovery.java

private static Range<Long> extractRangeIfAvailable(String min, String max, Long absoluteMin, Long absoluteMax) {
    if (!NumberUtils.isNumber(min) || !NumberUtils.isNumber(max)) {
        return null;
    }/*  www  .j a va 2 s  . co  m*/

    Range<Long> ret = Range.between(Long.valueOf(min), Long.valueOf(max));

    if (absoluteMin != null && ret.getMinimum() < absoluteMin) {
        return null;
    }

    if (absoluteMax != null && ret.getMaximum() > absoluteMax) {
        return null;
    }

    return ret;
}

From source file:cherry.foundation.bizcal.SimpleBizYearStrategyTest.java

@Test
public void test0101() {
    SimpleBizYearStrategy strategy = new SimpleBizYearStrategy();
    strategy.setYearOfFirstOffset(0);//from ww  w .  ja  va  2  s .c om
    strategy.setMonthOfFirst(1);
    strategy.setDayOfFirst(1);
    for (int year = 1900; year < 3000; year++) {
        Range<LocalDate> range = strategy.rangeOfBizYear(year);
        assertEquals(new LocalDate(year, 1, 1), range.getMinimum());
        assertEquals(new LocalDate(year, 12, 31), range.getMaximum());
    }
}

From source file:cherry.foundation.bizcal.SimpleBizYearStrategyTest.java

@Test
public void test0401() {
    SimpleBizYearStrategy strategy = new SimpleBizYearStrategy();
    strategy.setYearOfFirstOffset(0);//ww w.  j  a  v  a2 s.  c o  m
    strategy.setMonthOfFirst(4);
    strategy.setDayOfFirst(1);
    for (int year = 1900; year < 3000; year++) {
        Range<LocalDate> range = strategy.rangeOfBizYear(year);
        assertEquals(new LocalDate(year, 4, 1), range.getMinimum());
        assertEquals(new LocalDate(year + 1, 3, 31), range.getMaximum());
    }
}

From source file:cherry.foundation.bizcal.SimpleBizYearStrategyTest.java

@Test
public void test0901() {
    SimpleBizYearStrategy strategy = new SimpleBizYearStrategy();
    strategy.setYearOfFirstOffset(-1);//  w w w  .  j  a v  a  2s  .c  o m
    strategy.setMonthOfFirst(9);
    strategy.setDayOfFirst(1);
    for (int year = 1900; year < 3000; year++) {
        Range<LocalDate> range = strategy.rangeOfBizYear(year);
        assertEquals(new LocalDate(year - 1, 9, 1), range.getMinimum());
        assertEquals(new LocalDate(year, 8, 31), range.getMaximum());
    }
}

From source file:cherry.foundation.bizcal.BizYearManagerImpl.java

@Override
public int getNthDayOfBizYear(LocalDate dt) {
    Range<LocalDate> range = bizYearByDate(dt).getRight();
    return Days.daysBetween(range.getMinimum(), dt).getDays() + 1;
}

From source file:cherry.foundation.bizcal.BizYearManagerImpl.java

@Override
public int getNumberOfDaysOfBizYear(LocalDate dt) {
    Range<LocalDate> range = bizYearByDate(dt).getRight();
    return Days.daysBetween(range.getMinimum(), range.getMaximum()).getDays() + 1;
}

From source file:cherry.foundation.bizcal.BizYearManagerImpl.java

@Override
public int getNumberOfDaysOfBizYear(int bizYear) {
    Range<LocalDate> range = bizYearStrategy.rangeOfBizYear(bizYear);
    return Days.daysBetween(range.getMinimum(), range.getMaximum()).getDays() + 1;
}

From source file:de.tor.tribes.util.algo.types.TimeFrame.java

/**
 * Check if a movement with the provided runtime is possible for this
 * AttackFitter// ww  w  .j a  va  2 s  . co m
 *
 * @param pRuntime Runtime to check
 * @param pVillage Village for which the runtime is valid
 * @return boolean TRUE=Runtime might be fitted if not all send times are
 * already used
 */
public boolean isMovementPossible(long pRuntime) {
    if (startRanges == null) {
        startRanges = startTimespansToRanges();
    }
    if (arriveRanges == null) {
        arriveRanges = arriveTimespansToRanges();
    }

    for (Range<Long> currentStartRange : startRanges) {
        Range<Long> arriveRangeForStartRange = Range.between(currentStartRange.getMinimum() + pRuntime,
                currentStartRange.getMaximum() + pRuntime);
        for (Range<Long> currentArriveRange : arriveRanges) {
            if (currentArriveRange.isOverlappedBy(arriveRangeForStartRange)) {
                //movement with 'pRuntime' starting in 'currentStartRange' will arrive withing 'currentArriveRange'
                return true;
            }
        }
    }
    //no overlapping range was found
    return false;
}

From source file:de.tor.tribes.util.report.ReportRule.java

public Element toXml(String name) {
    Element rule = new Element(name);
    rule.addContent(new Element("type").setText(type.name()));
    rule.addContent(new Element("targetSet").setText(targetSet));
    Element settings = new Element("settings");

    switch (type) {
    case AGE://from   w  w w.  j a  va 2 s .c o  m
        Long maxAge = (Long) filterComponent;
        settings.setText(maxAge.toString());
        break;
    case ATTACKER_ALLY:
        List<Ally> attAllyList = (List<Ally>) filterComponent;
        for (Ally a : attAllyList) {
            settings.addContent(new Element("ally").setText(Integer.toString(a.getId())));
        }
        break;
    case ATTACKER_TRIBE:
        List<Tribe> attTribeList = (List<Tribe>) filterComponent;
        for (Tribe t : attTribeList) {
            settings.addContent(new Element("tribe").setText(Integer.toString(t.getId())));
        }
        break;
    case COLOR:
        Integer color = (Integer) filterComponent;
        settings.setText(color.toString());
        break;
    case DATE:
        Range<Long> dates = (Range<Long>) filterComponent;
        settings.setText(dates.getMinimum() + "-" + dates.getMaximum());
        break;
    case DEFENDER_ALLY:
        List<Ally> defAllyList = (List<Ally>) filterComponent;
        for (Ally a : defAllyList) {
            settings.addContent(new Element("ally").setText(Integer.toString(a.getId())));
        }
        break;
    case DEFENDER_TRIBE:
        List<Tribe> defTribeList = (List<Tribe>) filterComponent;
        for (Tribe t : defTribeList) {
            settings.addContent(new Element("tribe").setText(Integer.toString(t.getId())));
        }
        break;
    case CATA:
    case CONQUERED:
    case FAKE:
    case FARM:
    case OFF:
    case WALL:
        break;
    default:
        throw new IllegalArgumentException("wrong type");
    }

    rule.addContent(settings);
    return rule;
}

From source file:de.tor.tribes.util.report.ReportRule.java

public ReportRule(RuleType pType, Object pFilterComponent, String pTargetSet) throws IllegalArgumentException {
    try {/*from   www .j  a v a2  s .c  o m*/
        type = pType;
        filterComponent = pFilterComponent;
        targetSet = pTargetSet;

        //check arguments and throw Exception if illigal
        switch (type) {
        case AGE:
            Long maxAge = (Long) pFilterComponent;
            if (maxAge < 0)
                throw new IllegalArgumentException("Age < 0");
            break;
        case ATTACKER_ALLY:
            List<Ally> attAllyList = (List<Ally>) pFilterComponent;
            for (int i = attAllyList.size() - 1; i >= 0; i--) {
                if (attAllyList.get(i) == null) {
                    attAllyList.remove(i);
                    logger.debug("removed entry {}", i);
                }
            }
            if (attAllyList.isEmpty())
                throw new IllegalArgumentException("List empty!");
            break;
        case ATTACKER_TRIBE:
            List<Tribe> attTribeList = (List<Tribe>) pFilterComponent;
            for (int i = attTribeList.size() - 1; i >= 0; i--) {
                if (attTribeList.get(i) == null) {
                    attTribeList.remove(i);
                    logger.debug("removed entry {}", i);
                }
            }
            if (attTribeList.isEmpty())
                throw new IllegalArgumentException("List empty!");
            break;
        case COLOR:
            if ((((Integer) pFilterComponent) & 0x1F) == 0)
                throw new IllegalArgumentException("No color");
            break;
        case DATE:
            Range<Long> dates = (Range<Long>) pFilterComponent;
            if (dates.getMinimum().equals(dates.getMaximum()))
                throw new IllegalArgumentException("Empty Range");
            break;
        case DEFENDER_ALLY:
            List<Ally> defAllyList = (List<Ally>) pFilterComponent;
            for (int i = defAllyList.size() - 1; i >= 0; i--) {
                if (defAllyList.get(i) == null) {
                    defAllyList.remove(i);
                    logger.debug("removed entry {}", i);
                }
            }
            if (defAllyList.isEmpty())
                throw new IllegalArgumentException("List empty!");
            break;
        case DEFENDER_TRIBE:
            List<Tribe> defTribeList = (List<Tribe>) pFilterComponent;
            for (int i = defTribeList.size() - 1; i >= 0; i--) {
                if (defTribeList.get(i) == null) {
                    defTribeList.remove(i);
                    logger.debug("removed entry {}", i);
                }
            }
            if (defTribeList.isEmpty())
                throw new IllegalArgumentException("List empty!");
            break;
        case CATA:
        case CONQUERED:
        case FAKE:
        case FARM:
        case OFF:
        case WALL:
            filterComponent = null;
            break;
        default:
            throw new IllegalArgumentException("wrong type");
        }
    } catch (Exception e) {
        throw new IllegalArgumentException(e);
    }
}