IntegerValue.java 源代码


package jxl.biff.formula;

import common.Logger;
import jxl.biff.IntegerHelper;

class IntegerValue extends NumberValue implements ParsedThing {
    static Class class$jxl$biff$formula$IntegerValue;
    private static Logger logger;
    private boolean outOfRange;
    private double value;

    @Override
    public void handleImportedCellReferences() {
    }

    static {
        Class cls = class$jxl$biff$formula$IntegerValue;
        if (cls == null) {
            cls = class$("jxl.biff.formula.IntegerValue");
            class$jxl$biff$formula$IntegerValue = cls;
        }
        logger = Logger.getLogger(cls);
    }

    static Class class$(String str) {
        try {
            return Class.forName(str);
        } catch (ClassNotFoundException e) {
            throw new NoClassDefFoundError(e.getMessage());
        }
    }

    public IntegerValue() {
        this.outOfRange = false;
    }

    public IntegerValue(String str) {
        try {
            this.value = Integer.parseInt(str);
        } catch (NumberFormatException e) {
            logger.warn(e, e);
            this.value = 0.0d;
        }
        double d = this.value;
        this.outOfRange = d != ((double) ((short) ((int) d)));
    }

    @Override
    public int read(byte[] bArr, int i) {
        this.value = IntegerHelper.getInt(bArr[i], bArr[i + 1]);
        return 2;
    }

    @Override
    public byte[] getBytes() {
        byte[] bArr = {Token.INTEGER.getCode()};
        IntegerHelper.getTwoBytes((int) this.value, bArr, 1);
        return bArr;
    }

    @Override
    public double getValue() {
        return this.value;
    }

    public boolean isOutOfRange() {
        return this.outOfRange;
    }
}