/**
* Copyright (C) 2010-14 diirt developers. See COPYRIGHT.TXT
* All rights reserved. Use is subject to license terms. See LICENSE.TXT
*/
package org.diirt.vtype;
import java.util.Objects;
import org.diirt.util.array.ListNumber;
class IArrayDimensionDisplay implements ArrayDimensionDisplay {
private final ListNumber cellBoundaries;
private final boolean reversed;
private final String units;
public IArrayDimensionDisplay(ListNumber cellBoundaries, boolean reversed, String units) {
this.cellBoundaries = cellBoundaries;
this.reversed = reversed;
this.units = units;
}
@Override
public ListNumber getCellBoundaries() {
return cellBoundaries;
}
public int getSize() {
return getCellBoundaries().size() - 1;
}
@Override
public String getUnits() {
return units;
}
@Override
public boolean isReversed() {
return reversed;
}
@Override
public int hashCode() {
return getCellBoundaries().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj instanceof IArrayDimensionDisplay) {
IArrayDimensionDisplay info = (IArrayDimensionDisplay) obj;
return Objects.equals(info.getSize(), getSize()) &&
Objects.equals(info.isReversed(), isReversed()) &&
Objects.equals(info.getUnits(), getUnits()) &&
Objects.equals(info.getCellBoundaries(), getCellBoundaries());
}
return false;
}
}