19 package org.sleuthkit.autopsy.coreutils;
22 import java.util.ArrayList;
23 import java.util.List;
25 import org.openide.util.NbBundle;
75 public JLNK(
int header, byte[] linkClassIdentifier,
int linkFlags,
76 int fileAttributesFlags,
long crtime,
long atime,
77 long mtime,
int fileSize,
int iconIndex,
int showCommand,
short hotKey,
78 List<String> linkTargetIdList,
79 boolean hasUnicodeLocalBaseAndCommonSuffixOffset,
80 String localBasePath, String commonPathSuffix, String localBasePathUnicode,
81 String commonPathSuffixUnicode, String name, String relativePath,
82 String workingDir, String arguments, String iconLocation,
int driveSerialNumber,
84 int commonNetworkRelativeListFlags,
86 String netName, String netNameUnicode, String deviceName,
87 String deviceNameUnicode) {
90 this.linkFlags =
new ArrayList<LinkFlags>();
91 for(LnkEnums.LinkFlags enumVal : LnkEnums.LinkFlags.values()) {
92 if((linkFlags & enumVal.getFlag()) == enumVal.getFlag()) {
93 this.linkFlags.add(enumVal);
96 this.fileAttributesFlags =
new ArrayList<FileAttributesFlags>();
97 for(LnkEnums.FileAttributesFlags enumVal : LnkEnums.FileAttributesFlags.values()) {
98 if((fileAttributesFlags & enumVal.getFlag()) == enumVal.getFlag()) {
99 this.fileAttributesFlags.add(enumVal);
123 this.commonNetworkRelativeListFlags =
new ArrayList<CommonNetworkRelativeLinkFlags>();
124 for(LnkEnums.CommonNetworkRelativeLinkFlags enumVal : LnkEnums.CommonNetworkRelativeLinkFlags.values()) {
125 if((commonNetworkRelativeListFlags & enumVal.getFlag()) == enumVal.getFlag()) {
126 this.commonNetworkRelativeListFlags.add(enumVal);
268 if(localBasePathUnicode != null && !localBasePathUnicode.isEmpty()) {
269 if(commonPathSuffixUnicode != null) {
271 }
else if(commonPathSuffix != null) {
274 }
else if(localBasePath != null && !localBasePath.isEmpty()) {
275 if(commonPathSuffixUnicode != null) {
277 }
else if(commonPathSuffix != null) {
280 }
else if(netNameUnicode != null && !netNameUnicode.isEmpty()) {
281 if(commonPathSuffixUnicode != null && !commonPathSuffixUnicode.isEmpty()) {
283 }
else if(commonPathSuffix != null && !commonPathSuffix.isEmpty()) {
286 }
else if(netName != null && !netName.isEmpty()) {
287 if(commonPathSuffixUnicode != null && !commonPathSuffixUnicode.isEmpty()) {
289 }
else if(commonPathSuffix != null && !commonPathSuffix.isEmpty()) {
292 }
else if(linkTargetIdList != null && !linkTargetIdList.isEmpty()) {
294 for(String s : linkTargetIdList) {
299 return NbBundle.getMessage(this.getClass(),
"JLNK.noPrefPath.text");
int getDriveSerialNumber()
String getNetNameUnicode()
String commonPathSuffixUnicode
boolean isHasUnicodeLocalBaseAndCommonSuffixOffset()
List< CommonNetworkRelativeLinkFlags > commonNetworkRelativeListFlags
NetworkProviderType getNetworkProviderType()
List< String > getLinkTargetIdList()
JLNK(int header, byte[] linkClassIdentifier, int linkFlags, int fileAttributesFlags, long crtime, long atime, long mtime, int fileSize, int iconIndex, int showCommand, short hotKey, List< String > linkTargetIdList, boolean hasUnicodeLocalBaseAndCommonSuffixOffset, String localBasePath, String commonPathSuffix, String localBasePathUnicode, String commonPathSuffixUnicode, String name, String relativePath, String workingDir, String arguments, String iconLocation, int driveSerialNumber, DriveType driveType, String volumeLabel, int commonNetworkRelativeListFlags, NetworkProviderType networkProviderType, boolean unicodeNetAndDeviceName, String netName, String netNameUnicode, String deviceName, String deviceNameUnicode)
byte[] linkClassIdentifier
List< FileAttributesFlags > fileAttributesFlags
byte[] getLinkClassIdentifier()
String getLocalBasePath()
String localBasePathUnicode
List< LinkFlags > getLinkFlags()
List< CommonNetworkRelativeLinkFlags > getCommonNetworkRelativeListFlags()
String getLocalBasePathUnicode()
String getCommonPathSuffixUnicode()
String getCommonPathSuffix()
List< String > linkTargetIdList
List< LinkFlags > linkFlags
boolean unicodeNetAndDeviceName
NetworkProviderType networkProviderType
List< FileAttributesFlags > getFileAttributesFlags()
boolean hasUnicodeLocalBaseAndCommonSuffixOffset
boolean isUnicodeNetAndDeviceName()
String getDeviceNameUnicode()