Example usage for org.apache.commons.lang3.math NumberUtils toLong

List of usage examples for org.apache.commons.lang3.math NumberUtils toLong

Introduction

In this page you can find the example usage for org.apache.commons.lang3.math NumberUtils toLong.

Prototype

public static long toLong(final String str, final long defaultValue) 

Source Link

Document

Convert a String to a long, returning a default value if the conversion fails.

If the string is null, the default value is returned.

 NumberUtils.toLong(null, 1L) = 1L NumberUtils.toLong("", 1L)   = 1L NumberUtils.toLong("1", 0L)  = 1L 

Usage

From source file:org.omnaest.utils.operation.foreach.Range.java

/**
 * Allows to specify a {@link Range} with a given {@link String} expression.<br>
 * <br>/*from w w  w . j a  v a 2s  .c  o m*/
 * The expression format is:<br>
 * 
 * <pre>
 * new Range( &quot;1-5&quot; ); //results in 1,2,3,4,5
 * new Range( &quot;1-5:2&quot; ); //results in 1,3,5
 * new Range( &quot;123&quot; ); //result in only a single value
 * 
 * </pre>
 * 
 * @see Range
 * @param rangeExpression
 */
public Range(String rangeExpression) {
    super();

    Assert.isNotNull(rangeExpression);

    ReplacementResult replacementResult = new StringReplacer("\\:([0-9]*)$").setGroup(1)
            .findAndRemoveFirst(rangeExpression);
    final boolean hasDeclaredStep = replacementResult.hasMatchingTokens();
    if (hasDeclaredStep) {
        String[] matchingTokens = replacementResult.getMatchingTokens();
        if (matchingTokens != null && matchingTokens.length == 1) {
            final String stepString = matchingTokens[0];
            Assert.isTrue(StringUtils.isNumeric(stepString), "Step must be numerical but was " + stepString);
            this.step = NumberUtils.toLong(stepString, DEFAULT_STEP);
        }
    }
    rangeExpression = replacementResult.getOutput();

    String[] tokens = rangeExpression.split("-");
    Assert.isTrue(tokens.length == 2 || tokens.length == 1);
    if (tokens.length == 2) {
        Assert.isTrue(StringUtils.isNumeric(tokens[0]), "Range start must be numerical but was " + tokens[0]);
        Assert.isTrue(StringUtils.isNumeric(tokens[1]), "Range start must be numerical but was " + tokens[1]);

        this.numberFrom = Long.valueOf(tokens[0]);
        this.numberTo = Long.valueOf(tokens[1]);
    } else if (tokens.length == 1) {
        Assert.isTrue(StringUtils.isNumeric(tokens[0]),
                "Range start and end must be numerical but was " + tokens[0]);

        this.numberFrom = this.numberTo = Long.valueOf(tokens[0]);
    }

    if (!hasDeclaredStep) {
        this.step = determineDefaultStep(this.numberFrom, this.numberTo);
    }
    Assert.isTrue(
            this.numberTo == this.numberFrom
                    || Math.signum(this.numberTo - this.numberFrom) == Math.signum(this.step),
            "The given end number cannot be reached by the given start number and step " + this);
}

From source file:org.xwiki.job.internal.xstream.SafeLogEventConverter.java

@Override
public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
    LogLevel level = null;//from w ww.  j a v  a 2s  . c o m
    Marker marker = null;
    String message = "";
    long timeStamp = -1;
    List<Object> arguments = new ArrayList<>();
    Throwable throwable = null;

    while (reader.hasMoreChildren()) {
        reader.moveDown();
        switch (reader.getNodeName()) {
        case FIELD_LEVEL:
            level = read(LogLevel.class, reader, context);
            break;
        case FIELD_MARKER:
            marker = read(Marker.class, reader, context);
            break;
        case FIELD_MESSAGE:
            message = reader.getValue();
            break;
        case FIELD_TIMESTAMP:
            String timeStampString = reader.getValue();
            timeStamp = NumberUtils.toLong(timeStampString, -1);
            break;
        case FIELD_THROWABLE:
            throwable = read(Throwable.class, reader, context);
            break;
        case FIELD_ARGUMENTARRAY:
            arguments = unmarshalArgumentArray(reader, context);
            break;
        default:
            break;
        }
        reader.moveUp();
    }

    return new LogEvent(marker, level, message, arguments.toArray(), throwable, timeStamp);
}