31 private static final Logger logger = Logger.getLogger(
Pool.class.getName());
32 private volatile long poolHandle = 0;
33 private final long type;
44 super(db, obj_id, name);
51 if (poolHandle == 0) {
55 return SleuthkitJNI.readPool(poolHandle, readBuffer, offset, len);
63 logger.log(Level.SEVERE,
"Error getting parent of pool with obj ID {0}",
getId());
88 if (poolHandle == 0) {
90 if (poolHandle == 0) {
92 if ((dataSource !=
null) && (dataSource instanceof
Image)) {
96 throw new TskCoreException(
"Data Source of pool is not an image");
101 return this.poolHandle;
110 private long getPoolOffset(Image image)
throws TskCoreException {
114 }
else if (this.
getParent() instanceof Volume) {
116 Volume parent = (Volume)this.
getParent();
117 if (parent.getParent() instanceof VolumeSystem) {
119 return parent.getStart() * ((VolumeSystem) parent.getParent()).getBlockSize();
122 return parent.getStart() * image.getSsize();
125 throw new TskCoreException(
"Pool with object ID " + this.
getId() +
" does not have Image or Volume parent");
133 @SuppressWarnings(
"deprecation")
145 return v.
visit(
this);
149 public <T> T accept(ContentVisitor<T> v) {
150 return v.visit(
this);
166 return super.toString(preserveState) +
"Pool [\t" +
"type " + type +
"]\t";
AbstractContent(SleuthkitCase db, long obj_id, String name)
SleuthkitCase getSleuthkitCase()