19package org.sleuthkit.datamodel;
21import java.text.MessageFormat;
22import java.util.Collections;
23import java.util.ResourceBundle;
24import java.util.logging.Level;
25import java.util.logging.Logger;
26import org.sleuthkit.datamodel.TskData.FileKnown;
27import org.sleuthkit.datamodel.TskData.TSK_DB_FILES_TYPE_ENUM;
28import org.sleuthkit.datamodel.TskData.TSK_FS_META_TYPE_ENUM;
29import org.sleuthkit.datamodel.TskData.TSK_FS_NAME_FLAG_ENUM;
30import org.sleuthkit.datamodel.TskData.TSK_FS_NAME_TYPE_ENUM;
37public class DerivedFile
extends AbstractFile {
40 private static final Logger logger = Logger.getLogger(DerivedFile.class.getName());
41 private static ResourceBundle bundle = ResourceBundle.getBundle(
"org.sleuthkit.datamodel.Bundle");
42 private boolean hasDerivedMethod =
true;
95 long dataSourceObjectId,
111 Long osAccountObjId) {
116 metaFlags,
size,
ctime,
crtime,
atime,
mtime, (
short) 0, 0, 0,
md5Hash,
sha256Hash,
sha1Hash,
knownState,
parentPath, mimeType, extension, ownerUid, osAccountObjId,
TskData.
CollectedStatus.
UNKNOWN, Collections.emptyList());
117 setLocalFilePath(localPath);
118 setEncodingType(encodingType);
141 if (derivedMethod ==
null && hasDerivedMethod ==
true) {
144 if (derivedMethod ==
null) {
145 hasDerivedMethod =
false;
148 String msg = MessageFormat.format(bundle.getString(
"DerviedFile.derivedMethod.exception.msg1.text"),
getId());
149 logger.log(Level.WARNING, msg, e);
153 return derivedMethod;
166 return v.
visit(
this);
178 public <T> T accept(ContentVisitor<T> v) {
179 return v.visit(
this);
205 return super.toString(preserveState) +
"DerivedFile{"
206 +
"derivedMethod=" + derivedMethod
207 +
", hasDerivedMethod=" + hasDerivedMethod
216 private final int derivedId;
217 private String toolName;
218 private String toolVersion;
219 private String other;
220 private String rederiveDetails;
223 this.derivedId = derivedId;
224 this.rederiveDetails = rederiveDetails;
225 if (this.rederiveDetails ==
null) {
226 this.rederiveDetails =
"";
229 this.toolVersion =
"";
233 void setToolName(String toolName) {
234 this.toolName = toolName;
237 void setToolVersion(String toolVersion) {
238 this.toolVersion = toolVersion;
241 void setOther(String other) {
262 return rederiveDetails;
267 return "DerivedMethod{" +
"derived_id=" + derivedId +
", toolName=" + toolName +
", toolVersion=" + toolVersion +
", other=" + other +
", rederiveDetails=" + rederiveDetails +
'}';
SleuthkitCase getSleuthkitCase()
final Long fileSystemObjectId
TskData.FileKnown knownState
Set< TSK_FS_META_FLAG_ENUM > metaFlags
final TSK_FS_NAME_TYPE_ENUM dirType
final TSK_FS_META_TYPE_ENUM metaType
TSK_FS_NAME_FLAG_ENUM dirFlag
String getRederiveDetails()
DerivedMethod(int derivedId, String rederiveDetails)
String toString(boolean preserveState)
synchronized DerivedMethod getDerivedMethod()
DERIVED
File derived from a parent file (i.e. from ZIP).