19 package org.sleuthkit.autopsy.casemodule.multiusercases;
 
   21 import java.io.ByteArrayInputStream;
 
   22 import java.io.ByteArrayOutputStream;
 
   23 import java.io.DataInputStream;
 
   24 import java.io.DataOutputStream;
 
   25 import java.io.IOException;
 
   26 import java.nio.file.Path;
 
   27 import java.nio.file.Paths;
 
   28 import java.text.ParseException;
 
   29 import java.util.Date;
 
   78         this.errorsOccurred = 
false;
 
   79         this.directory = Paths.get(metadata.getCaseDirectory());
 
   81         this.lastAccessDate = 
new Date();
 
   82         this.name = metadata.getCaseName();
 
   83         this.displayName = metadata.getCaseDisplayName();
 
   84         this.deletedItemFlags = 0;
 
   97         if (nodeData == null || nodeData.length == 0) {
 
   98             throw new IOException(null == nodeData ? 
"Null node data byte array" : 
"Zero-length node data byte array");
 
  100         DataInputStream inputStream = 
new DataInputStream(
new ByteArrayInputStream(nodeData));
 
  101         this.version = inputStream.readInt();
 
  102         if (this.version > 0) {
 
  103             this.errorsOccurred = inputStream.readBoolean();
 
  105             short legacyErrorsOccurred = inputStream.readByte();
 
  106             this.errorsOccurred = (legacyErrorsOccurred < 0);
 
  108         if (this.version > 0) {
 
  109             this.directory = Paths.get(inputStream.readUTF());
 
  110             this.createDate = 
new Date(inputStream.readLong());
 
  111             this.lastAccessDate = 
new Date(inputStream.readLong());
 
  112             this.name = inputStream.readUTF();
 
  113             this.displayName = inputStream.readUTF();
 
  114             this.deletedItemFlags = inputStream.readShort();
 
  164         this.directory = caseDirectory;
 
  173         return new Date(this.createDate.getTime());
 
  182         this.createDate = 
new Date(createDate.getTime());
 
  191         return new Date(this.lastAccessDate.getTime());
 
  200         this.lastAccessDate = 
new Date(lastAccessDate.getTime());
 
  250         ByteArrayOutputStream byteStream = 
new ByteArrayOutputStream();
 
  251         DataOutputStream outputStream = 
new DataOutputStream(byteStream);
 
  252         outputStream.writeInt(this.version);
 
  253         outputStream.writeBoolean(this.errorsOccurred);
 
  254         outputStream.writeUTF(this.directory.toString());
 
  255         outputStream.writeLong(this.createDate.getTime());
 
  256         outputStream.writeLong(this.lastAccessDate.getTime());
 
  257         outputStream.writeUTF(this.name);
 
  258         outputStream.writeUTF(this.displayName);
 
  259         outputStream.writeShort(this.deletedItemFlags);
 
  260         outputStream.flush();
 
  262         return byteStream.toByteArray();
 
  274             super(message, cause);
 
void setName(String name)
 
boolean getErrorsOccurred()
 
void setDisplayName(String displayName)
 
void setCreateDate(Date createDate)
 
void setDirectory(Path caseDirectory)
 
InvalidDataException(String message)
 
CaseNodeData(byte[] nodeData)
 
void setLastAccessDate(Date lastAccessDate)
 
void setErrorsOccurred(boolean errorsOccurred)
 
InvalidDataException(String message, Throwable cause)
 
static int getCurrentVersion()
 
static final int CURRENT_VERSION
 
CaseNodeData(CaseMetadata metadata)
 
static final long serialVersionUID