From 124f869faae3a0f75a3825e6a8e195c17f3c626a Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 16 Oct 2014 23:34:20 +0400 Subject: initial for idea --- .../java/com/github/junrar/unpack/ppm/Pointer.java | 59 ++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 org.fox.ttcomics/src/main/java/com/github/junrar/unpack/ppm/Pointer.java (limited to 'org.fox.ttcomics/src/main/java/com/github/junrar/unpack/ppm/Pointer.java') diff --git a/org.fox.ttcomics/src/main/java/com/github/junrar/unpack/ppm/Pointer.java b/org.fox.ttcomics/src/main/java/com/github/junrar/unpack/ppm/Pointer.java new file mode 100644 index 0000000..c206b9d --- /dev/null +++ b/org.fox.ttcomics/src/main/java/com/github/junrar/unpack/ppm/Pointer.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2007 innoSysTec (R) GmbH, Germany. All rights reserved. + * Original author: Edmund Wagner + * Creation date: 14.06.2007 + * + * Source: $HeadURL$ + * Last changed: $LastChangedDate$ + * + * the unrar licence applies to all junrar source and binary distributions + * you are not allowed to use this source to re-create the RAR compression algorithm + * + * Here some html entities which can be used for escaping javadoc tags: + * "&": "&" or "&" + * "<": "<" or "<" + * ">": ">" or ">" + * "@": "@" + */ +package com.github.junrar.unpack.ppm; + +/** + * Simulates Pointers on a single mem block as a byte[] + * + * @author $LastChangedBy$ + * @version $LastChangedRevision$ + */ +public abstract class Pointer +{ + protected byte[] mem; + protected int pos; + + /** + * Initialize the object with the array (may be null) + * @param mem the byte array + */ + public Pointer(byte[] mem){ + this.mem = mem; + } + /** + * returns the position of this object in the byte[] + * @return the address of this object + */ + public int getAddress(){ + assert (mem != null); + return pos; + } + + /** + * needs to set the fields of this object to the values in the byte[] + * at the given position. + * be aware of the byte order + * @param pos the position this object should point to + * @return true if the address could be set + */ + public void setAddress(int pos) { + assert (mem != null); + assert (pos >= 0) && (pos < mem.length) : pos; + this.pos = pos; + } +} -- cgit v1.2.3