19 package org.sleuthkit.autopsy.coreutils;
 
   22 import java.util.ArrayList;
 
   23 import java.util.Collections;
 
   24 import java.util.List;
 
   26 import org.openide.util.NbBundle;
 
   77     public JLNK(
int header, byte[] linkClassIdentifier, 
int linkFlags,
 
   78             int fileAttributesFlags, 
long crtime, 
long atime,
 
   79             long mtime, 
int fileSize, 
int iconIndex, 
int showCommand, 
short hotKey,
 
   80             List<String> linkTargetIdList,
 
   81             boolean hasUnicodeLocalBaseAndCommonSuffixOffset,
 
   82             String localBasePath, String commonPathSuffix, String localBasePathUnicode,
 
   83             String commonPathSuffixUnicode, String name, String relativePath,
 
   84             String workingDir, String arguments, String iconLocation, 
int driveSerialNumber,
 
   86             int commonNetworkRelativeListFlags,
 
   88             String netName, String netNameUnicode, String deviceName,
 
   89             String deviceNameUnicode) {
 
   91         this.linkClassIdentifier = linkClassIdentifier.clone();
 
   92         this.linkFlags = 
new ArrayList<>();
 
   93         for (LnkEnums.LinkFlags enumVal : LnkEnums.LinkFlags.values()) {
 
   94             if ((linkFlags & enumVal.getFlag()) == enumVal.getFlag()) {
 
   95                 this.linkFlags.add(enumVal);
 
   98         this.fileAttributesFlags = 
new ArrayList<>();
 
   99         for (LnkEnums.FileAttributesFlags enumVal : LnkEnums.FileAttributesFlags.values()) {
 
  100             if ((fileAttributesFlags & enumVal.getFlag()) == enumVal.getFlag()) {
 
  101                 this.fileAttributesFlags.add(enumVal);
 
  125         this.commonNetworkRelativeListFlags = 
new ArrayList<>();
 
  126         for (LnkEnums.CommonNetworkRelativeLinkFlags enumVal : LnkEnums.CommonNetworkRelativeLinkFlags.values()) {
 
  127             if ((commonNetworkRelativeListFlags & enumVal.getFlag()) == enumVal.getFlag()) {
 
  128                 this.commonNetworkRelativeListFlags.add(enumVal);
 
  144         return Collections.unmodifiableList(commonNetworkRelativeListFlags);
 
  180         return Collections.unmodifiableList(fileAttributesFlags);
 
  200         return Collections.unmodifiableList(linkTargetIdList);
 
  212         return linkClassIdentifier.clone();
 
  216         return Collections.unmodifiableList(linkFlags);
 
  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) {
 
  295                 if (s.endsWith(
"\\")) {
 
  298                     if (ret.endsWith(
"\\")) {
 
  308         return NbBundle.getMessage(this.getClass(), 
"JLNK.noPrefPath.text");
 
int getDriveSerialNumber()
 
final String commonPathSuffixUnicode
 
final String netNameUnicode
 
String getNetNameUnicode()
 
boolean isHasUnicodeLocalBaseAndCommonSuffixOffset()
 
NetworkProviderType getNetworkProviderType()
 
final String deviceNameUnicode
 
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[] getLinkClassIdentifier()
 
final List< String > linkTargetIdList
 
String getLocalBasePath()
 
final String commonPathSuffix
 
List< LinkFlags > getLinkFlags()
 
List< CommonNetworkRelativeLinkFlags > getCommonNetworkRelativeListFlags()
 
final List< CommonNetworkRelativeLinkFlags > commonNetworkRelativeListFlags
 
String getLocalBasePathUnicode()
 
String getCommonPathSuffixUnicode()
 
String getCommonPathSuffix()
 
final String localBasePathUnicode
 
final int driveSerialNumber
 
final List< LinkFlags > linkFlags
 
final boolean unicodeNetAndDeviceName
 
final String localBasePath
 
final String relativePath
 
final boolean hasUnicodeLocalBaseAndCommonSuffixOffset
 
final DriveType driveType
 
final NetworkProviderType networkProviderType
 
final String iconLocation
 
final List< FileAttributesFlags > fileAttributesFlags
 
List< FileAttributesFlags > getFileAttributesFlags()
 
boolean isUnicodeNetAndDeviceName()
 
final byte[] linkClassIdentifier
 
String getDeviceNameUnicode()