29 lines
737 B
Java
29 lines
737 B
Java
package ch.fritteli.maze.generator.serialization;
|
|
|
|
import ch.fritteli.maze.generator.model.Maze;
|
|
import java.io.ByteArrayOutputStream;
|
|
import lombok.NonNull;
|
|
|
|
public abstract class AbstractMazeOutputStream extends ByteArrayOutputStream {
|
|
|
|
public abstract void writeHeader();
|
|
|
|
public abstract void writeMazeData(@NonNull final Maze maze);
|
|
|
|
public void writeByte(final byte value) {
|
|
this.write(value);
|
|
}
|
|
|
|
public void writeInt(final int value) {
|
|
this.write(value >> 24);
|
|
this.write(value >> 16);
|
|
this.write(value >> 8);
|
|
this.write(value);
|
|
}
|
|
|
|
public void writeLong(final long value) {
|
|
this.writeInt((int) (value >> 32));
|
|
this.writeInt((int) value);
|
|
}
|
|
}
|