package org.signalml.util.matfiles.array.elements; import java.io.DataOutputStream; import java.io.IOException; import org.signalml.util.matfiles.array.AbstractArray; import org.signalml.util.matfiles.elements.DataElement; import org.signalml.util.matfiles.types.DataType; /** * This class represents the part of the {@link AbstractArray} that * holds the dimensions of the array. * * @author Piotr Szachewicz */ public class DimensionsArray extends DataElement { /** * The dimensions of the array. */ private int[] dimensions; public DimensionsArray(int[] dimensions) { super(DataType.MI_UINT32); //documentation - INT32, JMatio UINT32 this.dimensions = dimensions; } @Override public void write(DataOutputStream dataOutputStream) throws IOException { super.write(dataOutputStream); for (int dimension: dimensions) { dataOutputStream.writeInt(dimension); } } @Override protected int getSizeInBytes() { return dimensions.length * dataType.getDataTypeSizeInBytes(); } }