1 /*- 2 * Copyright (C) 2006 Erik Larsson 3 * 4 * This program is free software: you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation, either version 3 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 package org.catacombae.hfs.types.hfsplus; 19 20 import java.io.PrintStream; 21 import org.catacombae.csjc.PrintableStruct; 22 23 public abstract class BTNode implements PrintableStruct { 24 protected final BTNodeDescriptor nodeDescriptor; 25 BTNode(byte[] data, int offset, int nodeSize)26 public BTNode(byte[] data, int offset, int nodeSize) { 27 nodeDescriptor = new BTNodeDescriptor(data, offset); 28 } 29 getNodeDescriptor()30 public BTNodeDescriptor getNodeDescriptor() { 31 return nodeDescriptor; 32 } 33 printFields(PrintStream ps, String prefix)34 public void printFields(PrintStream ps, String prefix) { 35 ps.println(prefix + " nodeDescriptor:"); 36 nodeDescriptor.printFields(ps, prefix + " "); 37 } 38 print(PrintStream ps, String prefix)39 public void print(PrintStream ps, String prefix) { 40 ps.println(prefix + "BTNode:"); 41 printFields(ps, prefix); 42 } 43 } 44