List of usage examples for org.apache.commons.lang3.math NumberUtils toLong
public static long toLong(final String str, final long defaultValue)
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
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( "1-5" ); //results in 1,2,3,4,5 * new Range( "1-5:2" ); //results in 1,3,5 * new Range( "123" ); //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); }