package org.andengine.extension.svg.util;
/**
* @author Larva Labs, LLC
* (c) 2010 Nicolas Gramlich
* (c) 2011 Zynga Inc.
*
* @author Nicolas Gramlich
* @since 16:50:17 - 21.05.2011
*/
public class SVGNumberParser {
// ===========================================================
// Constants
// ===========================================================
// ===========================================================
// Fields
// ===========================================================
// ===========================================================
// Constructors
// ===========================================================
// ===========================================================
// Getter & Setter
// ===========================================================
// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================
// ===========================================================
// Methods
// ===========================================================
public static SVGNumberParserFloatResult parseFloats(final String pString) {
if(pString == null) {
return null;
}
final String[] parts = pString.split("[\\s,]+");
final float[] numbers = new float[parts.length];
for(int i = parts.length - 1; i >= 0; i--) {
numbers[i] = Float.parseFloat(parts[i]);
}
return new SVGNumberParserFloatResult(numbers);
}
public static SVGNumberParserIntegerResult parseInts(final String pString) {
if(pString == null) {
return null;
}
final String[] parts = pString.split("[\\s,]+");
final int[] numbers = new int[parts.length];
for(int i = parts.length - 1; i >= 0; i--) {
numbers[i] = Integer.parseInt(parts[i]);
}
return new SVGNumberParserIntegerResult(numbers);
}
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
public static class SVGNumberParserIntegerResult {
// ===========================================================
// Constants
// ===========================================================
// ===========================================================
// Fields
// ===========================================================
private final int[] mNumbers;
// ===========================================================
// Constructors
// ===========================================================
public SVGNumberParserIntegerResult(final int[] pNumbers) {
this.mNumbers = pNumbers;
}
// ===========================================================
// Getter & Setter
// ===========================================================
public int[] getNumbers() {
return this.mNumbers;
}
public int getNumberCount() {
return this.mNumbers.length;
}
public int getNumber(final int pIndex) {
return this.mNumbers[pIndex];
}
// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================
// ===========================================================
// Methods
// ===========================================================
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
}
public static class SVGNumberParserFloatResult {
// ===========================================================
// Constants
// ===========================================================
// ===========================================================
// Fields
// ===========================================================
private final float[] mNumbers;
// ===========================================================
// Constructors
// ===========================================================
public SVGNumberParserFloatResult(final float[] pNumbers) {
this.mNumbers = pNumbers;
}
// ===========================================================
// Getter & Setter
// ===========================================================
public float[] getNumbers() {
return this.mNumbers;
}
public int getNumberCount() {
return this.mNumbers.length;
}
public float getNumber(final int pIndex) {
return this.mNumbers[pIndex];
}
// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================
// ===========================================================
// Methods
// ===========================================================
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
}
}