19 package org.sleuthkit.autopsy.coreutils;
22 import java.util.ArrayList;
23 import java.util.List;
25 import org.openide.util.NbBundle;
76 public JLNK(
int header, byte[] linkClassIdentifier,
int linkFlags,
77 int fileAttributesFlags,
long crtime,
long atime,
78 long mtime,
int fileSize,
int iconIndex,
int showCommand,
short hotKey,
79 List<String> linkTargetIdList,
80 boolean hasUnicodeLocalBaseAndCommonSuffixOffset,
81 String localBasePath, String commonPathSuffix, String localBasePathUnicode,
82 String commonPathSuffixUnicode, String name, String relativePath,
83 String workingDir, String arguments, String iconLocation,
int driveSerialNumber,
85 int commonNetworkRelativeListFlags,
87 String netName, String netNameUnicode, String deviceName,
88 String deviceNameUnicode) {
91 this.linkFlags =
new ArrayList<LinkFlags>();
92 for (LnkEnums.LinkFlags enumVal : LnkEnums.LinkFlags.values()) {
93 if ((linkFlags & enumVal.getFlag()) == enumVal.getFlag()) {
94 this.linkFlags.add(enumVal);
97 this.fileAttributesFlags =
new ArrayList<FileAttributesFlags>();
98 for (LnkEnums.FileAttributesFlags enumVal : LnkEnums.FileAttributesFlags.values()) {
99 if ((fileAttributesFlags & enumVal.getFlag()) == enumVal.getFlag()) {
100 this.fileAttributesFlags.add(enumVal);
124 this.commonNetworkRelativeListFlags =
new ArrayList<CommonNetworkRelativeLinkFlags>();
125 for (LnkEnums.CommonNetworkRelativeLinkFlags enumVal : LnkEnums.CommonNetworkRelativeLinkFlags.values()) {
126 if ((commonNetworkRelativeListFlags & enumVal.getFlag()) == enumVal.getFlag()) {
127 this.commonNetworkRelativeListFlags.add(enumVal);
267 if (localBasePathUnicode != null && !localBasePathUnicode.isEmpty()) {
268 if (commonPathSuffixUnicode != null) {
270 }
else if (commonPathSuffix != null) {
273 }
else if (localBasePath != null && !localBasePath.isEmpty()) {
274 if (commonPathSuffixUnicode != null) {
276 }
else if (commonPathSuffix != null) {
279 }
else if (netNameUnicode != null && !netNameUnicode.isEmpty()) {
280 if (commonPathSuffixUnicode != null && !commonPathSuffixUnicode.isEmpty()) {
282 }
else if (commonPathSuffix != null && !commonPathSuffix.isEmpty()) {
285 }
else if (netName != null && !netName.isEmpty()) {
286 if (commonPathSuffixUnicode != null && !commonPathSuffixUnicode.isEmpty()) {
288 }
else if (commonPathSuffix != null && !commonPathSuffix.isEmpty()) {
291 }
else if (linkTargetIdList != null && !linkTargetIdList.isEmpty()) {
293 for (String s : linkTargetIdList) {
298 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()