Showing preview only (9,422K chars total). Download the full file or copy to clipboard to get everything.
Repository: trol73/mucommander
Branch: develop
Commit: fa0963fe3774
Files: 1617
Total size: 23.1 MB
Directory structure:
gitextract_oxon2gw8/
├── .gitignore
├── LICENSE
├── README.md
├── build.gradle
├── build.properties
├── build_template.properties
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── jni/
│ ├── Makefile
│ ├── build.sh
│ ├── ru_trolsoft_jni_NativeFileUtils.c
│ └── ru_trolsoft_jni_NativeFileUtils.h
├── lib/
│ ├── compile/
│ │ ├── apple/
│ │ │ ├── AppleJavaExtensions-1.6.jar
│ │ │ └── ui.jar
│ │ ├── checker-qual-3.32.0.jar
│ │ ├── jaxb-api-2.3.1.jar
│ │ └── jfxrt.jar
│ ├── runtime/
│ │ ├── VAqua13.jar
│ │ ├── apple/
│ │ │ └── AppleJavaExtensions-1.6.jar
│ │ ├── image4j.jar
│ │ ├── java-iso-tools/
│ │ │ ├── iso9660-writer-2.0.0.jar
│ │ │ └── sabre-2.0.0.jar
│ │ ├── javadjvu.jar
│ │ ├── jcifs/
│ │ │ └── jcifs-1.3.18-kohsuke-2-SNAPSHOT.jar
│ │ ├── jediterm/
│ │ │ ├── JediTerm-3.66-SNAPSHOT.jar
│ │ │ ├── annotations.jar
│ │ │ ├── jediterm-core-3.66-SNAPSHOT.jar
│ │ │ ├── jediterm-ui-3.66-SNAPSHOT.jar
│ │ │ ├── jzlib-1.1.1.jar
│ │ │ ├── pty4j-0.13.4.jar
│ │ │ └── purejavacomm.jar
│ │ ├── jets3t/
│ │ │ └── jets3t-0.7.2.jar
│ │ ├── jftp-1.60-trol1.jar
│ │ ├── jide-oss-3.7.4.jar
│ │ ├── quaqua/
│ │ │ ├── libquaqua.jnilib
│ │ │ ├── libquaqua64.jnilib
│ │ │ ├── quaqua-native.jar
│ │ │ └── quaqua.jar
│ │ ├── rsyntaxtextarea-3.6.3-SNAPSHOT.jar
│ │ ├── sardine-5.3.jar
│ │ ├── sevenzipjbinding-AllPlatforms.jar
│ │ ├── sevenzipjbinding-Mac-arm64.jar
│ │ ├── sevenzipjbinding.jar
│ │ ├── trolcommander-native.jar
│ │ ├── trolsoft.jar
│ │ └── vmware/
│ │ └── vim25-2.5.jar
│ └── tools/
│ ├── ant-contrib.jar
│ ├── appbundler.jar
│ ├── asm/
│ │ └── asm.jar
│ ├── file-leak-detector-1.8-jar-with-dependencies.jar
│ ├── jaxen/
│ │ └── jaxen.jar
│ ├── jaxme/
│ │ └── jaxme-api.jar
│ ├── jdeb.jar
│ ├── jdom/
│ │ └── jdom.jar
│ ├── msv/
│ │ ├── relaxngDatatype.jar
│ │ └── xsdlib.jar
│ ├── pull-parser/
│ │ └── pull-parser.jar
│ ├── stax/
│ │ └── stax-api.jar
│ ├── version.txt
│ ├── xalan/
│ │ └── xalan.jar
│ ├── xerces/
│ │ ├── xercesImpl.jar
│ │ └── xmlParserAPIs.jar
│ ├── xml-apis/
│ │ └── xml-apis.jar
│ ├── xom/
│ │ └── xom.jar
│ └── xpp3/
│ └── xpp3.jar
├── readme.txt
├── release-linux.sh
├── release.sh
├── res/
│ ├── jar/
│ │ ├── services/
│ │ │ └── services/
│ │ │ ├── org.apache.hadoop.crypto.key.KeyProviderFactory
│ │ │ ├── org.apache.hadoop.fs.FileSystem
│ │ │ ├── org.apache.hadoop.io.compress.CompressionCodec
│ │ │ ├── org.apache.hadoop.security.SecurityInfo
│ │ │ ├── org.apache.hadoop.security.alias.CredentialProviderFactory
│ │ │ ├── org.apache.hadoop.security.token.TokenIdentifier
│ │ │ └── org.apache.hadoop.security.token.TokenRenewer
│ │ ├── servicesCOMMON/
│ │ │ ├── org.apache.hadoop.crypto.key.KeyProviderFactory
│ │ │ ├── org.apache.hadoop.fs.FileSystem
│ │ │ ├── org.apache.hadoop.io.compress.CompressionCodec
│ │ │ ├── org.apache.hadoop.security.SecurityInfo
│ │ │ └── org.apache.hadoop.security.alias.CredentialProviderFactory
│ │ └── servicesHDFS/
│ │ ├── org.apache.hadoop.fs.FileSystem
│ │ ├── org.apache.hadoop.security.token.TokenIdentifier
│ │ └── org.apache.hadoop.security.token.TokenRenewer
│ └── package/
│ ├── keystore
│ ├── osx/
│ │ └── icon.icns
│ ├── unix/
│ │ ├── deb/
│ │ │ ├── control
│ │ │ ├── postinst
│ │ │ └── postrm
│ │ ├── trolcommander.desktop
│ │ └── trolcommander.sh
│ ├── version.xml
│ └── windows/
│ └── trolcommander.nsi
├── settings.gradle
└── src/
├── main/
│ ├── java/
│ │ ├── com/
│ │ │ ├── ibm/
│ │ │ │ └── icu/
│ │ │ │ └── text/
│ │ │ │ ├── CharsetDetector.java
│ │ │ │ ├── CharsetMatch.java
│ │ │ │ ├── CharsetRecog_2022.java
│ │ │ │ ├── CharsetRecog_UTF8.java
│ │ │ │ ├── CharsetRecog_Unicode.java
│ │ │ │ ├── CharsetRecog_mbcs.java
│ │ │ │ ├── CharsetRecog_sbcs.java
│ │ │ │ └── CharsetRecognizer.java
│ │ │ ├── mucommander/
│ │ │ │ ├── PlatformManager.java
│ │ │ │ ├── RuntimeConstants.java
│ │ │ │ ├── StressTester.java
│ │ │ │ ├── TrolCommander.java
│ │ │ │ ├── adb/
│ │ │ │ │ ├── AdbUtils.java
│ │ │ │ │ └── AndroidMenu.java
│ │ │ │ ├── auth/
│ │ │ │ │ ├── CredentialsConstants.java
│ │ │ │ │ ├── CredentialsManager.java
│ │ │ │ │ ├── CredentialsMapping.java
│ │ │ │ │ ├── CredentialsParser.java
│ │ │ │ │ ├── CredentialsWriter.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── bonjour/
│ │ │ │ │ ├── BonjourDirectory.java
│ │ │ │ │ ├── BonjourMenu.java
│ │ │ │ │ ├── BonjourService.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── bookmark/
│ │ │ │ │ ├── Bookmark.java
│ │ │ │ │ ├── BookmarkBuilder.java
│ │ │ │ │ ├── BookmarkConstants.java
│ │ │ │ │ ├── BookmarkException.java
│ │ │ │ │ ├── BookmarkListener.java
│ │ │ │ │ ├── BookmarkManager.java
│ │ │ │ │ ├── BookmarkParser.java
│ │ │ │ │ ├── BookmarkWriter.java
│ │ │ │ │ ├── XORCipher.java
│ │ │ │ │ ├── file/
│ │ │ │ │ │ ├── BookmarkFile.java
│ │ │ │ │ │ ├── BookmarkOutputStream.java
│ │ │ │ │ │ ├── BookmarkProtocolProvider.java
│ │ │ │ │ │ ├── BookmarkRoot.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ └── package.html
│ │ │ │ ├── cache/
│ │ │ │ │ ├── FastLRUCache.java
│ │ │ │ │ ├── LRUCache.java
│ │ │ │ │ ├── TextHistory.java
│ │ │ │ │ ├── WindowsStorage.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── command/
│ │ │ │ │ ├── AssociationBuilder.java
│ │ │ │ │ ├── AssociationFactory.java
│ │ │ │ │ ├── AssociationReader.java
│ │ │ │ │ ├── AssociationWriter.java
│ │ │ │ │ ├── AssociationsXmlConstants.java
│ │ │ │ │ ├── Command.java
│ │ │ │ │ ├── CommandAssociation.java
│ │ │ │ │ ├── CommandBuilder.java
│ │ │ │ │ ├── CommandException.java
│ │ │ │ │ ├── CommandManager.java
│ │ │ │ │ ├── CommandReader.java
│ │ │ │ │ ├── CommandType.java
│ │ │ │ │ ├── CommandWriter.java
│ │ │ │ │ ├── CommandsXmlConstants.java
│ │ │ │ │ ├── PermissionsFileFilter.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── commons/
│ │ │ │ │ ├── DummyDecoratedFile.java
│ │ │ │ │ ├── HasProgress.java
│ │ │ │ │ ├── collections/
│ │ │ │ │ │ ├── AlteredVector.java
│ │ │ │ │ │ ├── Enumerator.java
│ │ │ │ │ │ └── VectorChangeListener.java
│ │ │ │ │ ├── conf/
│ │ │ │ │ │ ├── BufferedConfigurationExplorer.java
│ │ │ │ │ │ ├── Configuration.java
│ │ │ │ │ │ ├── ConfigurationBuilder.java
│ │ │ │ │ │ ├── ConfigurationEvent.java
│ │ │ │ │ │ ├── ConfigurationException.java
│ │ │ │ │ │ ├── ConfigurationExplorer.java
│ │ │ │ │ │ ├── ConfigurationFormatException.java
│ │ │ │ │ │ ├── ConfigurationListener.java
│ │ │ │ │ │ ├── ConfigurationReader.java
│ │ │ │ │ │ ├── ConfigurationReaderFactory.java
│ │ │ │ │ │ ├── ConfigurationSection.java
│ │ │ │ │ │ ├── ConfigurationSource.java
│ │ │ │ │ │ ├── ConfigurationStructureException.java
│ │ │ │ │ │ ├── ConfigurationWriterFactory.java
│ │ │ │ │ │ ├── DefaultConfigurationBuilder.java
│ │ │ │ │ │ ├── FileConfigurationSource.java
│ │ │ │ │ │ ├── ReaderConfigurationException.java
│ │ │ │ │ │ ├── SourceConfigurationException.java
│ │ │ │ │ │ ├── ValueIterator.java
│ │ │ │ │ │ ├── ValueList.java
│ │ │ │ │ │ ├── WriterConfigurationException.java
│ │ │ │ │ │ ├── XmlConfigurationReader.java
│ │ │ │ │ │ ├── XmlConfigurationWriter.java
│ │ │ │ │ │ └── package-info.java
│ │ │ │ │ ├── file/
│ │ │ │ │ │ ├── AbstractArchiveEntryFile.java
│ │ │ │ │ │ ├── AbstractArchiveFile.java
│ │ │ │ │ │ ├── AbstractFile.java
│ │ │ │ │ │ ├── AbstractFileClassLoader.java
│ │ │ │ │ │ ├── AbstractROArchiveFile.java
│ │ │ │ │ │ ├── AbstractRWArchiveFile.java
│ │ │ │ │ │ ├── ArchiveEntry.java
│ │ │ │ │ │ ├── ArchiveEntryIterator.java
│ │ │ │ │ │ ├── ArchiveEntryTree.java
│ │ │ │ │ │ ├── ArchiveFormatProvider.java
│ │ │ │ │ │ ├── AuthException.java
│ │ │ │ │ │ ├── AuthenticationType.java
│ │ │ │ │ │ ├── Authenticator.java
│ │ │ │ │ │ ├── Credentials.java
│ │ │ │ │ │ ├── DefaultPathCanonizer.java
│ │ │ │ │ │ ├── DefaultSchemeHandler.java
│ │ │ │ │ │ ├── DefaultSchemeParser.java
│ │ │ │ │ │ ├── DummyFile.java
│ │ │ │ │ │ ├── FileAccessDeniedException.java
│ │ │ │ │ │ ├── FileAttributes.java
│ │ │ │ │ │ ├── FileFactory.java
│ │ │ │ │ │ ├── FileOperation.java
│ │ │ │ │ │ ├── FilePermissions.java
│ │ │ │ │ │ ├── FileProtocols.java
│ │ │ │ │ │ ├── FileURL.java
│ │ │ │ │ │ ├── GroupedPermissionBits.java
│ │ │ │ │ │ ├── IndividualPermissionBits.java
│ │ │ │ │ │ ├── MacOsSystemFolder.java
│ │ │ │ │ │ ├── MimeTypes.java
│ │ │ │ │ │ ├── MutableFileAttributes.java
│ │ │ │ │ │ ├── PathCanonizer.java
│ │ │ │ │ │ ├── PermissionAccesses.java
│ │ │ │ │ │ ├── PermissionBits.java
│ │ │ │ │ │ ├── PermissionTypes.java
│ │ │ │ │ │ ├── ProtocolFile.java
│ │ │ │ │ │ ├── ProtocolProvider.java
│ │ │ │ │ │ ├── ROArchiveEntryFile.java
│ │ │ │ │ │ ├── RWArchiveEntryFile.java
│ │ │ │ │ │ ├── SchemeHandler.java
│ │ │ │ │ │ ├── SchemeParser.java
│ │ │ │ │ │ ├── SevenZipArchiveFormatDetector.java
│ │ │ │ │ │ ├── SimpleFileAttributes.java
│ │ │ │ │ │ ├── SimpleFilePermissions.java
│ │ │ │ │ │ ├── SingleArchiveEntryIterator.java
│ │ │ │ │ │ ├── SyncedFileAttributes.java
│ │ │ │ │ │ ├── UnsupportedFileOperation.java
│ │ │ │ │ │ ├── UnsupportedFileOperationException.java
│ │ │ │ │ │ ├── WrapperArchiveEntryIterator.java
│ │ │ │ │ │ ├── archiver/
│ │ │ │ │ │ │ ├── ArchiveFormat.java
│ │ │ │ │ │ │ ├── Archiver.java
│ │ │ │ │ │ │ ├── ISOArchiver.java
│ │ │ │ │ │ │ ├── SingleFileArchiver.java
│ │ │ │ │ │ │ ├── TarArchiver.java
│ │ │ │ │ │ │ └── ZipArchiver.java
│ │ │ │ │ │ ├── compat/
│ │ │ │ │ │ │ ├── CompatURLConnection.java
│ │ │ │ │ │ │ └── CompatURLStreamHandler.java
│ │ │ │ │ │ ├── connection/
│ │ │ │ │ │ │ ├── ConnectionHandler.java
│ │ │ │ │ │ │ ├── ConnectionHandlerFactory.java
│ │ │ │ │ │ │ └── ConnectionPool.java
│ │ │ │ │ │ ├── filter/
│ │ │ │ │ │ │ ├── AbstractContainsFilter.java
│ │ │ │ │ │ │ ├── AbstractCriterionFilter.java
│ │ │ │ │ │ │ ├── AbstractEndsWithFilter.java
│ │ │ │ │ │ │ ├── AbstractEqualsFilter.java
│ │ │ │ │ │ │ ├── AbstractExtensionFilter.java
│ │ │ │ │ │ │ ├── AbstractFileFilter.java
│ │ │ │ │ │ │ ├── AbstractFilenameFilter.java
│ │ │ │ │ │ │ ├── AbstractPathFilter.java
│ │ │ │ │ │ │ ├── AbstractRegexpFilter.java
│ │ │ │ │ │ │ ├── AbstractStartsWithFilter.java
│ │ │ │ │ │ │ ├── AbstractStringCriterionFilter.java
│ │ │ │ │ │ │ ├── AndFileFilter.java
│ │ │ │ │ │ │ ├── AttributeFileFilter.java
│ │ │ │ │ │ │ ├── ChainedFileFilter.java
│ │ │ │ │ │ │ ├── ContainsFilenameFilter.java
│ │ │ │ │ │ │ ├── ContainsPathFilter.java
│ │ │ │ │ │ │ ├── CriterionFilter.java
│ │ │ │ │ │ │ ├── CriterionValueGenerator.java
│ │ │ │ │ │ │ ├── EmptyFileFilter.java
│ │ │ │ │ │ │ ├── EndsWithFilenameFilter.java
│ │ │ │ │ │ │ ├── EndsWithPathFilter.java
│ │ │ │ │ │ │ ├── EqualsFilenameFilter.java
│ │ │ │ │ │ │ ├── EqualsPathFilter.java
│ │ │ │ │ │ │ ├── ExtensionFilenameFilter.java
│ │ │ │ │ │ │ ├── ExtensionPathFilter.java
│ │ │ │ │ │ │ ├── FileFilter.java
│ │ │ │ │ │ │ ├── FileOperationFilter.java
│ │ │ │ │ │ │ ├── FilenameFilter.java
│ │ │ │ │ │ │ ├── FilenameGenerator.java
│ │ │ │ │ │ │ ├── MountedDriveFilter.java
│ │ │ │ │ │ │ ├── OrFileFilter.java
│ │ │ │ │ │ │ ├── PassThroughFileFilter.java
│ │ │ │ │ │ │ ├── PathFilter.java
│ │ │ │ │ │ │ ├── PathGenerator.java
│ │ │ │ │ │ │ ├── RegexpFilenameFilter.java
│ │ │ │ │ │ │ ├── RegexpPathFilter.java
│ │ │ │ │ │ │ ├── StartsWithFilenameFilter.java
│ │ │ │ │ │ │ ├── StartsWithPathFilter.java
│ │ │ │ │ │ │ ├── StringCriterionFilter.java
│ │ │ │ │ │ │ └── WildcardFileFilter.java
│ │ │ │ │ │ ├── icon/
│ │ │ │ │ │ │ ├── CacheableFileIconProvider.java
│ │ │ │ │ │ │ ├── CachedFileIconProvider.java
│ │ │ │ │ │ │ ├── FileIconProvider.java
│ │ │ │ │ │ │ ├── IconCache.java
│ │ │ │ │ │ │ ├── LocalFileIconProvider.java
│ │ │ │ │ │ │ └── impl/
│ │ │ │ │ │ │ ├── SwingFileIconProvider.java
│ │ │ │ │ │ │ └── SwingFileIconProviderImpl.java
│ │ │ │ │ │ ├── impl/
│ │ │ │ │ │ │ ├── CachedFile.java
│ │ │ │ │ │ │ ├── DebugFile.java
│ │ │ │ │ │ │ ├── ProxyFile.java
│ │ │ │ │ │ │ ├── SevenZipJBindingROArchiveFile.java
│ │ │ │ │ │ │ ├── adb/
│ │ │ │ │ │ │ │ ├── AdbFile.java
│ │ │ │ │ │ │ │ ├── AdbInputStream.java
│ │ │ │ │ │ │ │ └── AdbProtocolProvider.java
│ │ │ │ │ │ │ ├── ar/
│ │ │ │ │ │ │ │ ├── ArArchiveEntryIterator.java
│ │ │ │ │ │ │ │ ├── ArArchiveFile.java
│ │ │ │ │ │ │ │ ├── ArFormatProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── arj/
│ │ │ │ │ │ │ │ └── ArjFormatProvider.java
│ │ │ │ │ │ │ ├── avrdude/
│ │ │ │ │ │ │ │ ├── AvrConfigFileUtils.java
│ │ │ │ │ │ │ │ ├── AvrDudeInputStream.java
│ │ │ │ │ │ │ │ ├── Avrdude.java
│ │ │ │ │ │ │ │ ├── AvrdudeConfiguration.java
│ │ │ │ │ │ │ │ ├── AvrdudeDevice.java
│ │ │ │ │ │ │ │ ├── AvrdudeOutputStream.java
│ │ │ │ │ │ │ │ ├── AvrdudeProtocolProvider.java
│ │ │ │ │ │ │ │ ├── StreamType.java
│ │ │ │ │ │ │ │ └── files/
│ │ │ │ │ │ │ │ ├── AvrConfigFile.java
│ │ │ │ │ │ │ │ ├── AvrDeviceDir.java
│ │ │ │ │ │ │ │ ├── AvrMemoryDir.java
│ │ │ │ │ │ │ │ ├── AvrMemoryFile.java
│ │ │ │ │ │ │ │ ├── AvrRootDir.java
│ │ │ │ │ │ │ │ └── AvrdudeFile.java
│ │ │ │ │ │ │ ├── bzip2/
│ │ │ │ │ │ │ │ ├── Bzip2FormatProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── cab/
│ │ │ │ │ │ │ │ └── CabFormatProvider.java
│ │ │ │ │ │ │ ├── cpio/
│ │ │ │ │ │ │ │ └── CpioFormatProvider.java
│ │ │ │ │ │ │ ├── deb/
│ │ │ │ │ │ │ │ └── DebFormatProvider.java
│ │ │ │ │ │ │ ├── ftp/
│ │ │ │ │ │ │ │ ├── FTPFile.java
│ │ │ │ │ │ │ │ ├── FTPProtocolProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── gzip/
│ │ │ │ │ │ │ │ ├── GzipArchiveFile.java
│ │ │ │ │ │ │ │ ├── GzipFormatProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── hadoop/
│ │ │ │ │ │ │ │ ├── HDFSFile.java
│ │ │ │ │ │ │ │ ├── HDFSProtocolProvider.java
│ │ │ │ │ │ │ │ ├── HadoopFile.java
│ │ │ │ │ │ │ │ ├── S3File.java
│ │ │ │ │ │ │ │ └── S3ProtocolProvider.java
│ │ │ │ │ │ │ ├── http/
│ │ │ │ │ │ │ │ ├── HTTPFile.java
│ │ │ │ │ │ │ │ ├── HTTPProtocolProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── iso/
│ │ │ │ │ │ │ │ ├── IsoArchiveEntry.java
│ │ │ │ │ │ │ │ ├── IsoArchiveFile.java
│ │ │ │ │ │ │ │ ├── IsoEntryInputStream.java
│ │ │ │ │ │ │ │ ├── IsoEntryIterator.java
│ │ │ │ │ │ │ │ ├── IsoFormatProvider.java
│ │ │ │ │ │ │ │ ├── IsoParser.java
│ │ │ │ │ │ │ │ ├── IsoUtil.java
│ │ │ │ │ │ │ │ ├── MuCreateISO.java
│ │ │ │ │ │ │ │ ├── MuFileHandler.java
│ │ │ │ │ │ │ │ ├── NrgParser.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── local/
│ │ │ │ │ │ │ │ ├── LocalFile.java
│ │ │ │ │ │ │ │ ├── LocalProtocolProvider.java
│ │ │ │ │ │ │ │ ├── SpecialWindowsLocation.java
│ │ │ │ │ │ │ │ ├── UNCFile.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── lst/
│ │ │ │ │ │ │ │ ├── LstArchiveEntry.java
│ │ │ │ │ │ │ │ ├── LstArchiveEntryIterator.java
│ │ │ │ │ │ │ │ ├── LstArchiveFile.java
│ │ │ │ │ │ │ │ ├── LstFormatProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── lzh/
│ │ │ │ │ │ │ │ └── LzhFormatProvider.java
│ │ │ │ │ │ │ ├── lzma/
│ │ │ │ │ │ │ │ └── LzmaFormatProvider.java
│ │ │ │ │ │ │ ├── nfs/
│ │ │ │ │ │ │ │ ├── NFSFile.java
│ │ │ │ │ │ │ │ ├── NFSProtocolProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── rar/
│ │ │ │ │ │ │ │ └── RarFormatProvider.java
│ │ │ │ │ │ │ ├── rpm/
│ │ │ │ │ │ │ │ └── RpmFormatProvider.java
│ │ │ │ │ │ │ ├── s3/
│ │ │ │ │ │ │ │ ├── S3Bucket.java
│ │ │ │ │ │ │ │ ├── S3File.java
│ │ │ │ │ │ │ │ ├── S3Object.java
│ │ │ │ │ │ │ │ ├── S3ProtocolProvider.java
│ │ │ │ │ │ │ │ └── S3Root.java
│ │ │ │ │ │ │ ├── sevenzip/
│ │ │ │ │ │ │ │ ├── SevenZipArchiveFile.java
│ │ │ │ │ │ │ │ ├── SevenZipFormatProvider.java
│ │ │ │ │ │ │ │ ├── SignatureCheckedRandomAccessFile.java
│ │ │ │ │ │ │ │ ├── multivolume/
│ │ │ │ │ │ │ │ │ ├── InArchiveWrapper.java
│ │ │ │ │ │ │ │ │ ├── SevenZipMultiVolumeCallbackHandler.java
│ │ │ │ │ │ │ │ │ └── SevenZipRarMultiVolumeCallbackHandler.java
│ │ │ │ │ │ │ │ └── provider/
│ │ │ │ │ │ │ │ ├── Common/
│ │ │ │ │ │ │ │ │ ├── BoolVector.java
│ │ │ │ │ │ │ │ │ ├── ByteBuffer.java
│ │ │ │ │ │ │ │ │ ├── CRC.java
│ │ │ │ │ │ │ │ │ ├── IntVector.java
│ │ │ │ │ │ │ │ │ ├── LimitedSequentialInStream.java
│ │ │ │ │ │ │ │ │ ├── LockedInStream.java
│ │ │ │ │ │ │ │ │ ├── LockedSequentialInStreamImp.java
│ │ │ │ │ │ │ │ │ ├── LongVector.java
│ │ │ │ │ │ │ │ │ ├── ObjectVector.java
│ │ │ │ │ │ │ │ │ └── RecordVector.java
│ │ │ │ │ │ │ │ └── SevenZip/
│ │ │ │ │ │ │ │ ├── Archive/
│ │ │ │ │ │ │ │ │ ├── Common/
│ │ │ │ │ │ │ │ │ │ ├── BindInfo.java
│ │ │ │ │ │ │ │ │ │ ├── BindPair.java
│ │ │ │ │ │ │ │ │ │ ├── CoderInfo.java
│ │ │ │ │ │ │ │ │ │ ├── CoderMixer2.java
│ │ │ │ │ │ │ │ │ │ ├── CoderMixer2ST.java
│ │ │ │ │ │ │ │ │ │ ├── CoderStreamsInfo.java
│ │ │ │ │ │ │ │ │ │ ├── FilterCoder.java
│ │ │ │ │ │ │ │ │ │ ├── OutStreamWithCRC.java
│ │ │ │ │ │ │ │ │ │ └── STCoderInfo.java
│ │ │ │ │ │ │ │ │ ├── IArchiveExtractCallback.java
│ │ │ │ │ │ │ │ │ ├── IInArchive.java
│ │ │ │ │ │ │ │ │ ├── SevenZip/
│ │ │ │ │ │ │ │ │ │ ├── AltCoderInfo.java
│ │ │ │ │ │ │ │ │ │ ├── ArchiveDatabase.java
│ │ │ │ │ │ │ │ │ │ ├── ArchiveDatabaseEx.java
│ │ │ │ │ │ │ │ │ │ ├── BindInfoEx.java
│ │ │ │ │ │ │ │ │ │ ├── CoderInfo.java
│ │ │ │ │ │ │ │ │ │ ├── Decoder.java
│ │ │ │ │ │ │ │ │ │ ├── ExtractFolderInfo.java
│ │ │ │ │ │ │ │ │ │ ├── FileItem.java
│ │ │ │ │ │ │ │ │ │ ├── Folder.java
│ │ │ │ │ │ │ │ │ │ ├── FolderOutStream.java
│ │ │ │ │ │ │ │ │ │ ├── Handler.java
│ │ │ │ │ │ │ │ │ │ ├── Header.java
│ │ │ │ │ │ │ │ │ │ ├── InArchive.java
│ │ │ │ │ │ │ │ │ │ ├── InArchiveInfo.java
│ │ │ │ │ │ │ │ │ │ ├── InByte2.java
│ │ │ │ │ │ │ │ │ │ ├── MethodID.java
│ │ │ │ │ │ │ │ │ │ └── StreamSwitch.java
│ │ │ │ │ │ │ │ │ └── SevenZipEntry.java
│ │ │ │ │ │ │ │ ├── ArchiveExtractCallback.java
│ │ │ │ │ │ │ │ ├── Common/
│ │ │ │ │ │ │ │ │ ├── InBuffer.java
│ │ │ │ │ │ │ │ │ ├── LocalCompressProgressInfo.java
│ │ │ │ │ │ │ │ │ ├── LocalProgress.java
│ │ │ │ │ │ │ │ │ ├── SequentialOutStreamImp2.java
│ │ │ │ │ │ │ │ │ └── StreamUtils.java
│ │ │ │ │ │ │ │ ├── Compression/
│ │ │ │ │ │ │ │ │ ├── Branch/
│ │ │ │ │ │ │ │ │ │ ├── BCJ2_x86_Decoder.java
│ │ │ │ │ │ │ │ │ │ └── BCJ_x86_Decoder.java
│ │ │ │ │ │ │ │ │ ├── Copy/
│ │ │ │ │ │ │ │ │ │ └── Decoder.java
│ │ │ │ │ │ │ │ │ ├── LZ/
│ │ │ │ │ │ │ │ │ │ ├── BinTree.java
│ │ │ │ │ │ │ │ │ │ ├── InWindow.java
│ │ │ │ │ │ │ │ │ │ └── OutWindow.java
│ │ │ │ │ │ │ │ │ ├── LZMA/
│ │ │ │ │ │ │ │ │ │ ├── Base.java
│ │ │ │ │ │ │ │ │ │ ├── Decoder.java
│ │ │ │ │ │ │ │ │ │ └── Encoder.java
│ │ │ │ │ │ │ │ │ └── RangeCoder/
│ │ │ │ │ │ │ │ │ ├── BitDecoder.java
│ │ │ │ │ │ │ │ │ ├── BitModel.java
│ │ │ │ │ │ │ │ │ ├── BitTreeDecoder.java
│ │ │ │ │ │ │ │ │ ├── BitTreeEncoder.java
│ │ │ │ │ │ │ │ │ ├── Decoder.java
│ │ │ │ │ │ │ │ │ └── Encoder.java
│ │ │ │ │ │ │ │ ├── HRESULT.java
│ │ │ │ │ │ │ │ ├── ICodeProgress.java
│ │ │ │ │ │ │ │ ├── ICompressCoder.java
│ │ │ │ │ │ │ │ ├── ICompressCoder2.java
│ │ │ │ │ │ │ │ ├── ICompressFilter.java
│ │ │ │ │ │ │ │ ├── ICompressGetInStreamProcessedSize.java
│ │ │ │ │ │ │ │ ├── ICompressProgressInfo.java
│ │ │ │ │ │ │ │ ├── ICompressSetDecoderProperties2.java
│ │ │ │ │ │ │ │ ├── ICompressSetInStream.java
│ │ │ │ │ │ │ │ ├── ICompressSetOutStream.java
│ │ │ │ │ │ │ │ ├── ICompressSetOutStreamSize.java
│ │ │ │ │ │ │ │ ├── IInStream.java
│ │ │ │ │ │ │ │ ├── IProgress.java
│ │ │ │ │ │ │ │ ├── J7zip.java
│ │ │ │ │ │ │ │ ├── LzmaAlone.java
│ │ │ │ │ │ │ │ ├── LzmaBench.java
│ │ │ │ │ │ │ │ └── MyRandomAccessFile.java
│ │ │ │ │ │ │ ├── sftp/
│ │ │ │ │ │ │ │ ├── SFTPConnectionHandler.java
│ │ │ │ │ │ │ │ ├── SFTPConnectionHandlerFactory.java
│ │ │ │ │ │ │ │ ├── SFTPFile.java
│ │ │ │ │ │ │ │ ├── SFTPProtocolProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── smb/
│ │ │ │ │ │ │ │ ├── SMBFile.java
│ │ │ │ │ │ │ │ ├── SMBProtocolProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── tar/
│ │ │ │ │ │ │ │ ├── TarArchiveFile.java
│ │ │ │ │ │ │ │ ├── TarEntryIterator.java
│ │ │ │ │ │ │ │ ├── TarFormatProvider.java
│ │ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ │ └── provider/
│ │ │ │ │ │ │ │ ├── TarBuffer.java
│ │ │ │ │ │ │ │ ├── TarConstants.java
│ │ │ │ │ │ │ │ ├── TarEntry.java
│ │ │ │ │ │ │ │ ├── TarInputStream.java
│ │ │ │ │ │ │ │ ├── TarOutputStream.java
│ │ │ │ │ │ │ │ └── TarUtils.java
│ │ │ │ │ │ │ ├── udf/
│ │ │ │ │ │ │ │ └── UdfFormatProvider.java
│ │ │ │ │ │ │ ├── vsphere/
│ │ │ │ │ │ │ │ ├── ManagedObjectReferenceWrapper.java
│ │ │ │ │ │ │ │ ├── VSphereClient.java
│ │ │ │ │ │ │ │ ├── VSphereFile.java
│ │ │ │ │ │ │ │ ├── VSphereProtocolProvider.java
│ │ │ │ │ │ │ │ ├── VsphereConnHandler.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── webdav/
│ │ │ │ │ │ │ │ ├── WebDAVFile.java
│ │ │ │ │ │ │ │ └── WebDAVProvider.java
│ │ │ │ │ │ │ ├── wim/
│ │ │ │ │ │ │ │ └── WimFormatProvider.java
│ │ │ │ │ │ │ ├── xar/
│ │ │ │ │ │ │ │ └── XarFormatProvider.java
│ │ │ │ │ │ │ ├── z/
│ │ │ │ │ │ │ │ └── ZFormatProvider.java
│ │ │ │ │ │ │ └── zip/
│ │ │ │ │ │ │ ├── JavaUtilZipEntryIterator.java
│ │ │ │ │ │ │ ├── ZipArchiveFile.java
│ │ │ │ │ │ │ ├── ZipFormatProvider.java
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ └── provider/
│ │ │ │ │ │ │ ├── AsiExtraField.java
│ │ │ │ │ │ │ ├── DeflatedOutputStream.java
│ │ │ │ │ │ │ ├── ExtraFieldUtils.java
│ │ │ │ │ │ │ ├── JarMarker.java
│ │ │ │ │ │ │ ├── StoredOutputStream.java
│ │ │ │ │ │ │ ├── UnixStat.java
│ │ │ │ │ │ │ ├── UnrecognizedExtraField.java
│ │ │ │ │ │ │ ├── ZipBuffer.java
│ │ │ │ │ │ │ ├── ZipConstants.java
│ │ │ │ │ │ │ ├── ZipEntry.java
│ │ │ │ │ │ │ ├── ZipEntryInfo.java
│ │ │ │ │ │ │ ├── ZipEntryOutputStream.java
│ │ │ │ │ │ │ ├── ZipExtraField.java
│ │ │ │ │ │ │ ├── ZipFile.java
│ │ │ │ │ │ │ ├── ZipLong.java
│ │ │ │ │ │ │ ├── ZipOutputStream.java
│ │ │ │ │ │ │ └── ZipShort.java
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ └── util/
│ │ │ │ │ │ ├── C.java
│ │ │ │ │ │ ├── CLibrary.java
│ │ │ │ │ │ ├── Chmod.java
│ │ │ │ │ │ ├── FileChangeListener.java
│ │ │ │ │ │ ├── FileComparator.java
│ │ │ │ │ │ ├── FileMonitor.java
│ │ │ │ │ │ ├── FileMonitorConstants.java
│ │ │ │ │ │ ├── FilePool.java
│ │ │ │ │ │ ├── FileSet.java
│ │ │ │ │ │ ├── Kernel32.java
│ │ │ │ │ │ ├── Kernel32API.java
│ │ │ │ │ │ ├── OSXFileUtils.java
│ │ │ │ │ │ ├── PathTokenizer.java
│ │ │ │ │ │ ├── PathUtils.java
│ │ │ │ │ │ ├── ResourceLoader.java
│ │ │ │ │ │ ├── Shell32.java
│ │ │ │ │ │ ├── Shell32API.java
│ │ │ │ │ │ └── SymLinkUtils.java
│ │ │ │ │ ├── io/
│ │ │ │ │ │ ├── BinaryDetector.java
│ │ │ │ │ │ ├── BlockRandomInputStream.java
│ │ │ │ │ │ ├── Bounded.java
│ │ │ │ │ │ ├── BoundedInputStream.java
│ │ │ │ │ │ ├── BoundedOutputStream.java
│ │ │ │ │ │ ├── BoundedReader.java
│ │ │ │ │ │ ├── BufferPool.java
│ │ │ │ │ │ ├── BufferedRandomOutputStream.java
│ │ │ │ │ │ ├── ByteCounter.java
│ │ │ │ │ │ ├── ByteUtils.java
│ │ │ │ │ │ ├── ChecksumInputStream.java
│ │ │ │ │ │ ├── ChecksumOutputStream.java
│ │ │ │ │ │ ├── CounterInputStream.java
│ │ │ │ │ │ ├── CounterOutputStream.java
│ │ │ │ │ │ ├── EncodingDetector.java
│ │ │ │ │ │ ├── FailSafePipedInputStream.java
│ │ │ │ │ │ ├── FileTransferException.java
│ │ │ │ │ │ ├── FilterRandomAccessInputStream.java
│ │ │ │ │ │ ├── FilteredOutputStream.java
│ │ │ │ │ │ ├── FilteredRandomOutputStream.java
│ │ │ │ │ │ ├── FixedByteArrayOutputStream.java
│ │ │ │ │ │ ├── MultiOutputStream.java
│ │ │ │ │ │ ├── RandomAccess.java
│ │ │ │ │ │ ├── RandomAccessInputStream.java
│ │ │ │ │ │ ├── RandomAccessOutputStream.java
│ │ │ │ │ │ ├── RandomGeneratorInputStream.java
│ │ │ │ │ │ ├── SilenceableOutputStream.java
│ │ │ │ │ │ ├── SinkOutputStream.java
│ │ │ │ │ │ ├── StreamOutOfBoundException.java
│ │ │ │ │ │ ├── StreamUtils.java
│ │ │ │ │ │ ├── ThroughputLimitInputStream.java
│ │ │ │ │ │ ├── base64/
│ │ │ │ │ │ │ ├── Base64Decoder.java
│ │ │ │ │ │ │ ├── Base64Encoder.java
│ │ │ │ │ │ │ ├── Base64InputStream.java
│ │ │ │ │ │ │ ├── Base64OutputStream.java
│ │ │ │ │ │ │ ├── Base64Table.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── bom/
│ │ │ │ │ │ │ ├── BOM.java
│ │ │ │ │ │ │ ├── BOMConstants.java
│ │ │ │ │ │ │ ├── BOMInputStream.java
│ │ │ │ │ │ │ ├── BOMReader.java
│ │ │ │ │ │ │ ├── BOMWriter.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── compound/
│ │ │ │ │ │ │ ├── CompoundInputStream.java
│ │ │ │ │ │ │ ├── CompoundReader.java
│ │ │ │ │ │ │ ├── IteratorCompoundInputStream.java
│ │ │ │ │ │ │ └── IteratorCompoundReader.java
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ └── security/
│ │ │ │ │ │ ├── Adler32MessageDigest.java
│ │ │ │ │ │ ├── CRC32MessageDigest.java
│ │ │ │ │ │ ├── ChecksumMessageDigest.java
│ │ │ │ │ │ ├── MuProvider.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── runtime/
│ │ │ │ │ │ ├── ComparableRuntimeProperty.java
│ │ │ │ │ │ ├── JavaVersion.java
│ │ │ │ │ │ ├── OsFamily.java
│ │ │ │ │ │ ├── OsVersion.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ └── util/
│ │ │ │ │ ├── BufferOverflowException.java
│ │ │ │ │ ├── CircularByteBuffer.java
│ │ │ │ │ ├── Pair.java
│ │ │ │ │ ├── StringUtils.java
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── conf/
│ │ │ │ │ ├── TcConfigurationFile.java
│ │ │ │ │ ├── TcConfigurations.java
│ │ │ │ │ ├── TcPreference.java
│ │ │ │ │ ├── TcPreferences.java
│ │ │ │ │ ├── TcPreferencesAPI.java
│ │ │ │ │ ├── TcPreferencesFile.java
│ │ │ │ │ ├── TcSnapshot.java
│ │ │ │ │ ├── TcSnapshotFile.java
│ │ │ │ │ ├── VersionedXmlConfigurationReader.java
│ │ │ │ │ ├── VersionedXmlConfigurationReaderFactory.java
│ │ │ │ │ ├── VersionedXmlConfigurationWriter.java
│ │ │ │ │ ├── VersionedXmlConfigurationWriterFactory.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── core/
│ │ │ │ │ ├── FolderChangeMonitor.java
│ │ │ │ │ ├── GlobalLocationHistory.java
│ │ │ │ │ ├── LocalLocationHistory.java
│ │ │ │ │ ├── LocationChanger.java
│ │ │ │ │ └── NullableFile.java
│ │ │ │ ├── desktop/
│ │ │ │ │ ├── AbstractTrash.java
│ │ │ │ │ ├── CommandBrowse.java
│ │ │ │ │ ├── CommandOpen.java
│ │ │ │ │ ├── CommandOpenInFileManager.java
│ │ │ │ │ ├── DefaultDesktopAdapter.java
│ │ │ │ │ ├── DesktopAdapter.java
│ │ │ │ │ ├── DesktopInitializationException.java
│ │ │ │ │ ├── DesktopManager.java
│ │ │ │ │ ├── DesktopOperation.java
│ │ │ │ │ ├── InternalBrowse.java
│ │ │ │ │ ├── InternalOpen.java
│ │ │ │ │ ├── LocalFileOperation.java
│ │ │ │ │ ├── QueuedTrash.java
│ │ │ │ │ ├── TrashProvider.java
│ │ │ │ │ ├── UrlOperation.java
│ │ │ │ │ ├── gnome/
│ │ │ │ │ │ ├── ConfiguredGnomeDesktopAdapter.java
│ │ │ │ │ │ ├── GnomeConfig.java
│ │ │ │ │ │ ├── GnomeDesktopAdapter.java
│ │ │ │ │ │ ├── GnomeTrash.java
│ │ │ │ │ │ ├── GnomeTrashProvider.java
│ │ │ │ │ │ └── GuessedGnomeDesktopAdapter.java
│ │ │ │ │ ├── kde/
│ │ │ │ │ │ ├── ConfiguredKde3DesktopAdapter.java
│ │ │ │ │ │ ├── ConfiguredKde4DesktopAdapter.java
│ │ │ │ │ │ ├── GuessedKde3DesktopAdapter.java
│ │ │ │ │ │ ├── GuessedKde4DesktopAdapter.java
│ │ │ │ │ │ ├── Kde3DesktopAdapter.java
│ │ │ │ │ │ ├── Kde3TrashProvider.java
│ │ │ │ │ │ ├── Kde4DesktopAdapter.java
│ │ │ │ │ │ ├── Kde4TrashProvider.java
│ │ │ │ │ │ ├── KdeConfig.java
│ │ │ │ │ │ ├── KdeDesktopAdapter.java
│ │ │ │ │ │ └── KdeTrash.java
│ │ │ │ │ ├── macos/
│ │ │ │ │ │ ├── OSXApplications.java
│ │ │ │ │ │ ├── OSXDesktopAdapter.java
│ │ │ │ │ │ ├── OSXTerminal.kt
│ │ │ │ │ │ ├── OSXTrash.java
│ │ │ │ │ │ └── OSXTrashProvider.java
│ │ │ │ │ ├── openvms/
│ │ │ │ │ │ └── OpenVMSDesktopAdapter.java
│ │ │ │ │ ├── windows/
│ │ │ │ │ │ ├── Win9xDesktopAdapter.java
│ │ │ │ │ │ ├── WinNtDesktopAdapter.java
│ │ │ │ │ │ ├── WindowsDesktopAdapter.java
│ │ │ │ │ │ ├── WindowsTrash.java
│ │ │ │ │ │ └── WindowsTrashProvider.java
│ │ │ │ │ └── xfce/
│ │ │ │ │ ├── GuessedXfceDesktopAdapter.java
│ │ │ │ │ ├── XfceDesktopAdapter.java
│ │ │ │ │ ├── XfceTrash.java
│ │ │ │ │ └── XfceTrashProvider.java
│ │ │ │ ├── extension/
│ │ │ │ │ ├── ClassFilter.java
│ │ │ │ │ ├── ClassFinder.java
│ │ │ │ │ ├── ExtensionManager.java
│ │ │ │ │ ├── LookAndFeelFilter.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── io/
│ │ │ │ │ ├── backup/
│ │ │ │ │ │ ├── BackupConstants.java
│ │ │ │ │ │ ├── BackupInputStream.java
│ │ │ │ │ │ └── BackupOutputStream.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── job/
│ │ │ │ │ ├── AbstractCopyJob.java
│ │ │ │ │ ├── ArchiveJob.java
│ │ │ │ │ ├── BatchRenameJob.java
│ │ │ │ │ ├── CalculateChecksumJob.java
│ │ │ │ │ ├── ChangeFileAttributesJob.java
│ │ │ │ │ ├── CombineFilesJob.java
│ │ │ │ │ ├── CopyJob.java
│ │ │ │ │ ├── DeleteJob.java
│ │ │ │ │ ├── FileCollisionChecker.java
│ │ │ │ │ ├── FileJob.java
│ │ │ │ │ ├── FileJobException.java
│ │ │ │ │ ├── FileJobListener.java
│ │ │ │ │ ├── FindFileJob.java
│ │ │ │ │ ├── MakeDirectoryFileJob.java
│ │ │ │ │ ├── MoveJob.java
│ │ │ │ │ ├── PropertiesJob.java
│ │ │ │ │ ├── SelfUpdateJob.java
│ │ │ │ │ ├── SendMailJob.java
│ │ │ │ │ ├── SplitFileJob.java
│ │ │ │ │ ├── TempCopyJob.java
│ │ │ │ │ ├── TempExecJob.java
│ │ │ │ │ ├── TempOpenWithJob.java
│ │ │ │ │ ├── TransferFileJob.java
│ │ │ │ │ ├── UnpackJob.java
│ │ │ │ │ ├── progress/
│ │ │ │ │ │ ├── JobProgress.java
│ │ │ │ │ │ ├── JobProgressListener.java
│ │ │ │ │ │ └── JobProgressMonitor.java
│ │ │ │ │ ├── ui/
│ │ │ │ │ │ ├── DialogResult.java
│ │ │ │ │ │ └── UserInputHelper.java
│ │ │ │ │ └── utils/
│ │ │ │ │ └── ScanDirectoryThread.java
│ │ │ │ ├── launcher/
│ │ │ │ │ ├── LauncherCmdHelper.java
│ │ │ │ │ ├── LauncherExecutor.kt
│ │ │ │ │ ├── LauncherTask.kt
│ │ │ │ │ ├── ShutdownHook.java
│ │ │ │ │ └── tasks.kt
│ │ │ │ ├── package.html
│ │ │ │ ├── process/
│ │ │ │ │ ├── AbstractProcess.java
│ │ │ │ │ ├── DebugProcessListener.java
│ │ │ │ │ ├── ExecutionFinishListener.java
│ │ │ │ │ ├── ExecutorUtils.java
│ │ │ │ │ ├── LocalProcess.java
│ │ │ │ │ ├── ProcessListener.java
│ │ │ │ │ ├── ProcessListenerList.java
│ │ │ │ │ ├── ProcessOutputMonitor.java
│ │ │ │ │ ├── ProcessRunner.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── profiler/
│ │ │ │ │ └── Profiler.java
│ │ │ │ ├── shell/
│ │ │ │ │ ├── Shell.java
│ │ │ │ │ ├── ShellEncodingListener.java
│ │ │ │ │ ├── ShellHistoryConstants.java
│ │ │ │ │ ├── ShellHistoryListener.java
│ │ │ │ │ ├── ShellHistoryManager.java
│ │ │ │ │ ├── ShellHistoryReader.java
│ │ │ │ │ ├── ShellHistoryWriter.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── tools/
│ │ │ │ │ ├── AdbTool.java
│ │ │ │ │ ├── AvrAssemblerCommandsHelper.java
│ │ │ │ │ ├── ExternalTool.java
│ │ │ │ │ └── FileMergeTool.java
│ │ │ │ ├── ui/
│ │ │ │ │ ├── PreloadedJFrame.java
│ │ │ │ │ ├── action/
│ │ │ │ │ │ ├── AbstractActionDescriptor.java
│ │ │ │ │ │ ├── AcceleratorMap.java
│ │ │ │ │ │ ├── ActionCategory.java
│ │ │ │ │ │ ├── ActionDescriptor.java
│ │ │ │ │ │ ├── ActionFactory.java
│ │ │ │ │ │ ├── ActionKeymap.java
│ │ │ │ │ │ ├── ActionKeymapIO.java
│ │ │ │ │ │ ├── ActionKeymapReader.java
│ │ │ │ │ │ ├── ActionKeymapWriter.java
│ │ │ │ │ │ ├── ActionManager.java
│ │ │ │ │ │ ├── ActionParameters.java
│ │ │ │ │ │ ├── ActionProperties.java
│ │ │ │ │ │ ├── AwtActionProxy.java
│ │ │ │ │ │ ├── InvokesDialog.java
│ │ │ │ │ │ ├── TcAction.java
│ │ │ │ │ │ ├── impl/
│ │ │ │ │ │ │ ├── AbstractViewerAction.java
│ │ │ │ │ │ │ ├── ActiveTabAction.java
│ │ │ │ │ │ │ ├── AddBookmarkAction.java
│ │ │ │ │ │ │ ├── AddTabAction.java
│ │ │ │ │ │ │ ├── BatchRenameAction.java
│ │ │ │ │ │ │ ├── BringAllToFrontAction.java
│ │ │ │ │ │ │ ├── CalculateChecksumAction.java
│ │ │ │ │ │ │ ├── CalculatorAction.java
│ │ │ │ │ │ │ ├── ChangeDateAction.java
│ │ │ │ │ │ │ ├── ChangeLocationAction.java
│ │ │ │ │ │ │ ├── ChangePermissionsAction.java
│ │ │ │ │ │ │ ├── ChangeReplicationAction.java
│ │ │ │ │ │ │ ├── CheckForUpdatesAction.java
│ │ │ │ │ │ │ ├── CloneTabToOtherPanelAction.java
│ │ │ │ │ │ │ ├── CloseDuplicateTabsAction.java
│ │ │ │ │ │ │ ├── CloseOtherTabsAction.java
│ │ │ │ │ │ │ ├── CloseTabAction.java
│ │ │ │ │ │ │ ├── CloseWindowAction.java
│ │ │ │ │ │ │ ├── CombineFilesAction.java
│ │ │ │ │ │ │ ├── CommandAction.java
│ │ │ │ │ │ │ ├── CompareFilesAction.java
│ │ │ │ │ │ │ ├── CompareFolderFilesAction.java
│ │ │ │ │ │ │ ├── CompareFoldersAction.java
│ │ │ │ │ │ │ ├── ConnectToServerAction.java
│ │ │ │ │ │ │ ├── CopyAction.java
│ │ │ │ │ │ │ ├── CopyFileBaseNamesAction.java
│ │ │ │ │ │ │ ├── CopyFileNamesAction.java
│ │ │ │ │ │ │ ├── CopyFilePathsAction.java
│ │ │ │ │ │ │ ├── CopyFilesToClipboardAction.java
│ │ │ │ │ │ │ ├── CreateSymlinkAction.java
│ │ │ │ │ │ │ ├── CustomizeCommandBarAction.java
│ │ │ │ │ │ │ ├── CutFilesToClipboardAction.java
│ │ │ │ │ │ │ ├── DeleteAction.java
│ │ │ │ │ │ │ ├── DonateAction.java
│ │ │ │ │ │ │ ├── DuplicateTabAction.java
│ │ │ │ │ │ │ ├── EditAction.java
│ │ │ │ │ │ │ ├── EditAsAction.java
│ │ │ │ │ │ │ ├── EditBookmarksAction.java
│ │ │ │ │ │ │ ├── EditCommandsAction.java
│ │ │ │ │ │ │ ├── EditCredentialsAction.java
│ │ │ │ │ │ │ ├── EjectDriveAction.java
│ │ │ │ │ │ │ ├── EmailAction.java
│ │ │ │ │ │ │ ├── EmptyTrashAction.java
│ │ │ │ │ │ │ ├── ExploreBookmarksAction.java
│ │ │ │ │ │ │ ├── FileAction.java
│ │ │ │ │ │ │ ├── FindFileAction.java
│ │ │ │ │ │ │ ├── FocusNextAction.java
│ │ │ │ │ │ │ ├── FocusPreviousAction.java
│ │ │ │ │ │ │ ├── GarbageCollectAction.java
│ │ │ │ │ │ │ ├── GoBackAction.java
│ │ │ │ │ │ │ ├── GoForwardAction.java
│ │ │ │ │ │ │ ├── GoToDocumentationAction.java
│ │ │ │ │ │ │ ├── GoToForumsAction.java
│ │ │ │ │ │ │ ├── GoToHomeAction.java
│ │ │ │ │ │ │ ├── GoToParentAction.java
│ │ │ │ │ │ │ ├── GoToParentInBothPanelsAction.java
│ │ │ │ │ │ │ ├── GoToParentInOtherPanelAction.java
│ │ │ │ │ │ │ ├── GoToRootAction.java
│ │ │ │ │ │ │ ├── GoToWebsiteAction.java
│ │ │ │ │ │ │ ├── InternalEditAction.java
│ │ │ │ │ │ │ ├── InternalViewAction.java
│ │ │ │ │ │ │ ├── InvertSelectionAction.java
│ │ │ │ │ │ │ ├── LeftArrowAction.java
│ │ │ │ │ │ │ ├── LocalCopyAction.java
│ │ │ │ │ │ │ ├── LocateSymlinkAction.java
│ │ │ │ │ │ │ ├── MarkAllAction.java
│ │ │ │ │ │ │ ├── MarkBackwardAction.java
│ │ │ │ │ │ │ ├── MarkEmptyFilesAction.java
│ │ │ │ │ │ │ ├── MarkExtensionAction.java
│ │ │ │ │ │ │ ├── MarkForwardAction.java
│ │ │ │ │ │ │ ├── MarkGroupAction.java
│ │ │ │ │ │ │ ├── MarkNextBlockAction.java
│ │ │ │ │ │ │ ├── MarkNextPageAction.java
│ │ │ │ │ │ │ ├── MarkNextRowAction.java
│ │ │ │ │ │ │ ├── MarkPreviousBlockAction.java
│ │ │ │ │ │ │ ├── MarkPreviousPageAction.java
│ │ │ │ │ │ │ ├── MarkPreviousRowAction.java
│ │ │ │ │ │ │ ├── MarkSelectedFileAction.java
│ │ │ │ │ │ │ ├── MarkToFirstRowAction.java
│ │ │ │ │ │ │ ├── MarkToLastRowAction.java
│ │ │ │ │ │ │ ├── MaximizeWindowAction.java
│ │ │ │ │ │ │ ├── MinimizeWindowAction.java
│ │ │ │ │ │ │ ├── MkdirAction.java
│ │ │ │ │ │ │ ├── MkfileAction.java
│ │ │ │ │ │ │ ├── MoveAction.java
│ │ │ │ │ │ │ ├── MoveTabToOtherPanelAction.java
│ │ │ │ │ │ │ ├── MuteProxyAction.java
│ │ │ │ │ │ │ ├── NewWindowAction.java
│ │ │ │ │ │ │ ├── NextTabAction.java
│ │ │ │ │ │ │ ├── OpenAction.java
│ │ │ │ │ │ │ ├── OpenAsAction.java
│ │ │ │ │ │ │ ├── OpenInBothPanelsAction.java
│ │ │ │ │ │ │ ├── OpenInNewTabAction.java
│ │ │ │ │ │ │ ├── OpenInOtherPanelAction.java
│ │ │ │ │ │ │ ├── OpenLeftInRightPanelAction.java
│ │ │ │ │ │ │ ├── OpenLocationAction.java
│ │ │ │ │ │ │ ├── OpenNativelyAction.java
│ │ │ │ │ │ │ ├── OpenRightInLeftPanelAction.java
│ │ │ │ │ │ │ ├── OpenTrashAction.java
│ │ │ │ │ │ │ ├── OpenURLInBrowserAction.java
│ │ │ │ │ │ │ ├── PackAction.java
│ │ │ │ │ │ │ ├── ParentFolderAction.java
│ │ │ │ │ │ │ ├── PasteClipboardFilesAction.java
│ │ │ │ │ │ │ ├── PasteFromArchiveToFilesFromClipboardAction.java
│ │ │ │ │ │ │ ├── PermanentDeleteAction.java
│ │ │ │ │ │ │ ├── PopupLeftDriveButtonAction.java
│ │ │ │ │ │ │ ├── PopupRightDriveButtonAction.java
│ │ │ │ │ │ │ ├── PreviousTabAction.java
│ │ │ │ │ │ │ ├── ProxyAction.java
│ │ │ │ │ │ │ ├── QuitAction.java
│ │ │ │ │ │ │ ├── RecallNextWindowAction.java
│ │ │ │ │ │ │ ├── RecallPreviousWindowAction.java
│ │ │ │ │ │ │ ├── RecallWindow10Action.java
│ │ │ │ │ │ │ ├── RecallWindow1Action.java
│ │ │ │ │ │ │ ├── RecallWindow2Action.java
│ │ │ │ │ │ │ ├── RecallWindow3Action.java
│ │ │ │ │ │ │ ├── RecallWindow4Action.java
│ │ │ │ │ │ │ ├── RecallWindow5Action.java
│ │ │ │ │ │ │ ├── RecallWindow6Action.java
│ │ │ │ │ │ │ ├── RecallWindow7Action.java
│ │ │ │ │ │ │ ├── RecallWindow8Action.java
│ │ │ │ │ │ │ ├── RecallWindow9Action.java
│ │ │ │ │ │ │ ├── RecallWindowAction.java
│ │ │ │ │ │ │ ├── RefreshAction.java
│ │ │ │ │ │ │ ├── RenameAction.java
│ │ │ │ │ │ │ ├── ReportBugAction.java
│ │ │ │ │ │ │ ├── RevealInDesktopAction.java
│ │ │ │ │ │ │ ├── ReverseSortOrderAction.java
│ │ │ │ │ │ │ ├── RightArrowAction.java
│ │ │ │ │ │ │ ├── RunCommandAction.java
│ │ │ │ │ │ │ ├── SelectBackwardAction.java
│ │ │ │ │ │ │ ├── SelectFirstRowAction.java
│ │ │ │ │ │ │ ├── SelectForwardAction.java
│ │ │ │ │ │ │ ├── SelectLastRowAction.java
│ │ │ │ │ │ │ ├── SelectNextBlockAction.java
│ │ │ │ │ │ │ ├── SelectNextPageAction.java
│ │ │ │ │ │ │ ├── SelectNextRowAction.java
│ │ │ │ │ │ │ ├── SelectPreviousBlockAction.java
│ │ │ │ │ │ │ ├── SelectPreviousPageAction.java
│ │ │ │ │ │ │ ├── SelectPreviousRowAction.java
│ │ │ │ │ │ │ ├── SelectedFileAction.java
│ │ │ │ │ │ │ ├── SelectedFilesAction.java
│ │ │ │ │ │ │ ├── SetSameFolderAction.java
│ │ │ │ │ │ │ ├── SetTabTitleAction.java
│ │ │ │ │ │ │ ├── ShowAboutAction.java
│ │ │ │ │ │ │ ├── ShowBookmarksQLAction.java
│ │ │ │ │ │ │ ├── ShowDebugConsoleAction.java
│ │ │ │ │ │ │ ├── ShowEditorBookmarksQLAction.java
│ │ │ │ │ │ │ ├── ShowFilePopupMenuAction.java
│ │ │ │ │ │ │ ├── ShowFilePropertiesAction.java
│ │ │ │ │ │ │ ├── ShowFoldersSizeAction.java
│ │ │ │ │ │ │ ├── ShowKeyboardShortcutsAction.java
│ │ │ │ │ │ │ ├── ShowParentFoldersQLAction.java
│ │ │ │ │ │ │ ├── ShowPreferencesAction.java
│ │ │ │ │ │ │ ├── ShowQuickListAction.java
│ │ │ │ │ │ │ ├── ShowRecentEditedFilesQLAction.java
│ │ │ │ │ │ │ ├── ShowRecentExecutedFilesQLAction.java
│ │ │ │ │ │ │ ├── ShowRecentLocationsQLAction.java
│ │ │ │ │ │ │ ├── ShowRecentViewedFilesQLAction.java
│ │ │ │ │ │ │ ├── ShowRootFoldersQLAction.java
│ │ │ │ │ │ │ ├── ShowServerConnectionsAction.java
│ │ │ │ │ │ │ ├── ShowTabsQLAction.java
│ │ │ │ │ │ │ ├── SortByAction.java
│ │ │ │ │ │ │ ├── SortByDateAction.java
│ │ │ │ │ │ │ ├── SortByExtensionAction.java
│ │ │ │ │ │ │ ├── SortByGroupAction.java
│ │ │ │ │ │ │ ├── SortByNameAction.java
│ │ │ │ │ │ │ ├── SortByOwnerAction.java
│ │ │ │ │ │ │ ├── SortByPermissionsAction.java
│ │ │ │ │ │ │ ├── SortBySizeAction.java
│ │ │ │ │ │ │ ├── SplitEquallyAction.java
│ │ │ │ │ │ │ ├── SplitFileAction.java
│ │ │ │ │ │ │ ├── SplitHorizontallyAction.java
│ │ │ │ │ │ │ ├── SplitVerticallyAction.java
│ │ │ │ │ │ │ ├── StopAction.java
│ │ │ │ │ │ │ ├── SwapFoldersAction.java
│ │ │ │ │ │ │ ├── SwitchActiveTableAction.java
│ │ │ │ │ │ │ ├── TerminalAction.java
│ │ │ │ │ │ │ ├── TerminalAltAction.java
│ │ │ │ │ │ │ ├── TerminalPanelAction.java
│ │ │ │ │ │ │ ├── TextEditorsListAction.java
│ │ │ │ │ │ │ ├── ToggleAutoSizeAction.java
│ │ │ │ │ │ │ ├── ToggleColumnAction.java
│ │ │ │ │ │ │ ├── ToggleCommandBarAction.java
│ │ │ │ │ │ │ ├── ToggleDateColumnAction.java
│ │ │ │ │ │ │ ├── ToggleExtensionColumnAction.java
│ │ │ │ │ │ │ ├── ToggleFoldersAlwaysAlphabeticalAction.java
│ │ │ │ │ │ │ ├── ToggleGroupColumnAction.java
│ │ │ │ │ │ │ ├── ToggleHiddenFilesAction.java
│ │ │ │ │ │ │ ├── ToggleLockTabAction.java
│ │ │ │ │ │ │ ├── ToggleOwnerColumnAction.java
│ │ │ │ │ │ │ ├── TogglePanelPreviewModeAction.java
│ │ │ │ │ │ │ ├── TogglePermissionsColumnAction.java
│ │ │ │ │ │ │ ├── ToggleShowFoldersFirstAction.java
│ │ │ │ │ │ │ ├── ToggleSinglePanelAction.java
│ │ │ │ │ │ │ ├── ToggleSizeColumnAction.java
│ │ │ │ │ │ │ ├── ToggleStatusBarAction.java
│ │ │ │ │ │ │ ├── ToggleTableViewModeCompactAction.java
│ │ │ │ │ │ │ ├── ToggleTableViewModeFullAction.java
│ │ │ │ │ │ │ ├── ToggleTableViewModeShortAction.java
│ │ │ │ │ │ │ ├── ToggleToolBarAction.java
│ │ │ │ │ │ │ ├── ToggleTreeAction.java
│ │ │ │ │ │ │ ├── UnmarkAllAction.java
│ │ │ │ │ │ │ ├── UnmarkGroupAction.java
│ │ │ │ │ │ │ ├── UnpackAction.java
│ │ │ │ │ │ │ ├── UserMenuAction.java
│ │ │ │ │ │ │ ├── ViewAction.java
│ │ │ │ │ │ │ └── ViewAsAction.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── autocomplete/
│ │ │ │ │ │ ├── AutocompleterTextComponent.java
│ │ │ │ │ │ ├── BasicAutocompleterTextComponent.java
│ │ │ │ │ │ ├── CompleterFactory.java
│ │ │ │ │ │ ├── CompletionType.java
│ │ │ │ │ │ ├── EditableComboboxCompletion.java
│ │ │ │ │ │ ├── OtherTextComponentCompletion.java
│ │ │ │ │ │ ├── TextFieldCompletion.java
│ │ │ │ │ │ ├── TypicalAutocompleterEditableCombobox.java
│ │ │ │ │ │ └── completers/
│ │ │ │ │ │ ├── ComboboxOptionsCompleter.java
│ │ │ │ │ │ ├── Completer.java
│ │ │ │ │ │ ├── LocationCompleter.java
│ │ │ │ │ │ ├── PathCompleter.java
│ │ │ │ │ │ ├── ServiceFactory.java
│ │ │ │ │ │ └── services/
│ │ │ │ │ │ ├── AllFilesService.java
│ │ │ │ │ │ ├── BookmarksService.java
│ │ │ │ │ │ ├── CompletionService.java
│ │ │ │ │ │ ├── FilesService.java
│ │ │ │ │ │ ├── FilteredFilesService.java
│ │ │ │ │ │ ├── PrefixFilter.java
│ │ │ │ │ │ ├── SystemVariablesService.java
│ │ │ │ │ │ └── VolumesService.java
│ │ │ │ │ ├── border/
│ │ │ │ │ │ ├── MutableLineBorder.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── button/
│ │ │ │ │ │ ├── ArrowButton.java
│ │ │ │ │ │ ├── ButtonChoicePanel.java
│ │ │ │ │ │ ├── CollapseExpandButton.java
│ │ │ │ │ │ ├── HelpButton.java
│ │ │ │ │ │ ├── HelpButtonPanel.java
│ │ │ │ │ │ ├── NonFocusableButton.java
│ │ │ │ │ │ ├── PopupButton.java
│ │ │ │ │ │ ├── RolloverButtonAdapter.java
│ │ │ │ │ │ ├── ToolbarMoreButton.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── chooser/
│ │ │ │ │ │ ├── ColorChangeEvent.java
│ │ │ │ │ │ ├── ColorChangeListener.java
│ │ │ │ │ │ ├── ColorChooser.java
│ │ │ │ │ │ ├── ColorPicker.java
│ │ │ │ │ │ ├── FontChooser.java
│ │ │ │ │ │ ├── IntegerChooser.java
│ │ │ │ │ │ ├── KeyboardShortcutChooser.java
│ │ │ │ │ │ ├── PreviewLabel.java
│ │ │ │ │ │ ├── SizeChooser.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── combobox/
│ │ │ │ │ │ ├── AutocompleteEditableCombobox.java
│ │ │ │ │ │ ├── ComboBoxCellRenderer.java
│ │ │ │ │ │ ├── ComboBoxListener.java
│ │ │ │ │ │ ├── EditableComboBox.java
│ │ │ │ │ │ ├── EditableComboBoxListener.java
│ │ │ │ │ │ ├── SaneComboBox.java
│ │ │ │ │ │ ├── TcComboBox.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── dialog/
│ │ │ │ │ │ ├── DialogOwner.java
│ │ │ │ │ │ ├── DialogToolkit.java
│ │ │ │ │ │ ├── FocusDialog.java
│ │ │ │ │ │ ├── InformationDialog.java
│ │ │ │ │ │ ├── PasswordDialog.java
│ │ │ │ │ │ ├── QuestionDialog.java
│ │ │ │ │ │ ├── about/
│ │ │ │ │ │ │ ├── AboutDialog.java
│ │ │ │ │ │ │ ├── LicenseDialog.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── auth/
│ │ │ │ │ │ │ ├── AuthDialog.java
│ │ │ │ │ │ │ ├── EditCredentialsDialog.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── bookmark/
│ │ │ │ │ │ │ ├── AddBookmarkDialog.kt
│ │ │ │ │ │ │ ├── BookmarkParentComboBox.java
│ │ │ │ │ │ │ ├── EditBookmarksDialog.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── commands/
│ │ │ │ │ │ │ ├── CommandsPanel.kt
│ │ │ │ │ │ │ └── EditCommandsDialog.kt
│ │ │ │ │ │ ├── customization/
│ │ │ │ │ │ │ ├── CommandBarDialog.java
│ │ │ │ │ │ │ └── CustomizeDialog.java
│ │ │ │ │ │ ├── debug/
│ │ │ │ │ │ │ ├── DebugConsoleAppender.java
│ │ │ │ │ │ │ ├── DebugConsoleDialog.java
│ │ │ │ │ │ │ └── LoggingEvent.java
│ │ │ │ │ │ ├── file/
│ │ │ │ │ │ │ ├── AbstractCopyDialog.java
│ │ │ │ │ │ │ ├── BatchRenameConfirmationDialog.java
│ │ │ │ │ │ │ ├── BatchRenameDialog.java
│ │ │ │ │ │ │ ├── BatchRenameSelectRange.java
│ │ │ │ │ │ │ ├── CalculateChecksumDialog.java
│ │ │ │ │ │ │ ├── ChangeDateDialog.java
│ │ │ │ │ │ │ ├── ChangePermissionsDialog.java
│ │ │ │ │ │ │ ├── ChangeReplicationDialog.java
│ │ │ │ │ │ │ ├── CombineFilesDialog.java
│ │ │ │ │ │ │ ├── CopyDialog.java
│ │ │ │ │ │ │ ├── DeleteDialog.java
│ │ │ │ │ │ │ ├── DownloadDialog.java
│ │ │ │ │ │ │ ├── EmailFilesDialog.java
│ │ │ │ │ │ │ ├── FileCollisionDialog.java
│ │ │ │ │ │ │ ├── FileCollisionRenameDialog.java
│ │ │ │ │ │ │ ├── FileSelectionDialog.java
│ │ │ │ │ │ │ ├── FindFileDialog.java
│ │ │ │ │ │ │ ├── FindFileResultRenderer.java
│ │ │ │ │ │ │ ├── JobDialog.java
│ │ │ │ │ │ │ ├── LocalCopyDialog.java
│ │ │ │ │ │ │ ├── MakeDirectoryFileDialog.java
│ │ │ │ │ │ │ ├── MoveDialog.java
│ │ │ │ │ │ │ ├── PackDialog.java
│ │ │ │ │ │ │ ├── PathFieldContent.java
│ │ │ │ │ │ │ ├── ProgressDialog.java
│ │ │ │ │ │ │ ├── PropertiesDialog.java
│ │ │ │ │ │ │ ├── SplitFileDialog.java
│ │ │ │ │ │ │ ├── TransferDestinationDialog.java
│ │ │ │ │ │ │ ├── UnpackDialog.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── help/
│ │ │ │ │ │ │ ├── ShortcutsDialog.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ ├── pref/
│ │ │ │ │ │ │ ├── PreferencesDialog.java
│ │ │ │ │ │ │ ├── PreferencesPanel.java
│ │ │ │ │ │ │ ├── component/
│ │ │ │ │ │ │ │ ├── PrefCheckBox.java
│ │ │ │ │ │ │ │ ├── PrefComboBox.java
│ │ │ │ │ │ │ │ ├── PrefComponent.java
│ │ │ │ │ │ │ │ ├── PrefEncodingSelectBox.java
│ │ │ │ │ │ │ │ ├── PrefFilePathField.java
│ │ │ │ │ │ │ │ ├── PrefRadioButton.java
│ │ │ │ │ │ │ │ ├── PrefTable.java
│ │ │ │ │ │ │ │ └── PrefTextField.java
│ │ │ │ │ │ │ ├── general/
│ │ │ │ │ │ │ │ ├── AppearancePanel.java
│ │ │ │ │ │ │ │ ├── FoldersPanel.java
│ │ │ │ │ │ │ │ ├── GeneralPanel.java
│ │ │ │ │ │ │ │ ├── GeneralPreferencesDialog.java
│ │ │ │ │ │ │ │ ├── MailPanel.java
│ │ │ │ │ │ │ │ ├── MiscPanel.java
│ │ │ │ │ │ │ │ ├── ShortcutsPanel.java
│ │ │ │ │ │ │ │ ├── ShortcutsTable.java
│ │ │ │ │ │ │ │ ├── ThemeNameDialog.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ └── theme/
│ │ │ │ │ │ │ ├── ColorButton.java
│ │ │ │ │ │ │ ├── CopyFilePanelColorsButton.java
│ │ │ │ │ │ │ ├── FileEditorPanel.java
│ │ │ │ │ │ │ ├── FileGroupsPanel.java
│ │ │ │ │ │ │ ├── FilePanel.java
│ │ │ │ │ │ │ ├── FilePanelColorIds.java
│ │ │ │ │ │ │ ├── FilePreviewPanel.java
│ │ │ │ │ │ │ ├── FolderPanePanel.java
│ │ │ │ │ │ │ ├── LocationBarPanel.java
│ │ │ │ │ │ │ ├── QuickListPanel.java
│ │ │ │ │ │ │ ├── ShellPanel.java
│ │ │ │ │ │ │ ├── StatusBarPanel.java
│ │ │ │ │ │ │ ├── ThemeEditorDialog.java
│ │ │ │ │ │ │ ├── ThemeEditorPanel.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── server/
│ │ │ │ │ │ │ ├── FTPPanel.java
│ │ │ │ │ │ │ ├── HDFSPanel.java
│ │ │ │ │ │ │ ├── HTTPPanel.java
│ │ │ │ │ │ │ ├── NFSPanel.java
│ │ │ │ │ │ │ ├── S3Panel.java
│ │ │ │ │ │ │ ├── SFTPPanel.java
│ │ │ │ │ │ │ ├── SMBPanel.java
│ │ │ │ │ │ │ ├── ServerConnectDialog.java
│ │ │ │ │ │ │ ├── ServerPanel.java
│ │ │ │ │ │ │ ├── ShowServerConnectionsDialog.java
│ │ │ │ │ │ │ ├── VSpherePanel.java
│ │ │ │ │ │ │ ├── WebDAVPanel.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── shell/
│ │ │ │ │ │ │ ├── RunDialog.java
│ │ │ │ │ │ │ ├── ShellComboBox.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── shutdown/
│ │ │ │ │ │ │ ├── QuitDialog.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── startup/
│ │ │ │ │ │ │ ├── CheckVersionDialog.java
│ │ │ │ │ │ │ ├── InitialSetupDialog.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── symlink/
│ │ │ │ │ │ │ ├── CreateSymLinkDialog.java
│ │ │ │ │ │ │ └── EditSymlinkDialog.java
│ │ │ │ │ │ └── tab/
│ │ │ │ │ │ └── TabTitleDialog.kt
│ │ │ │ │ ├── dnd/
│ │ │ │ │ │ ├── ClipboardNotifier.java
│ │ │ │ │ │ ├── ClipboardOperations.java
│ │ │ │ │ │ ├── ClipboardSupport.java
│ │ │ │ │ │ ├── DnDContext.java
│ │ │ │ │ │ ├── FileDragSourceListener.java
│ │ │ │ │ │ ├── FileDropTargetListener.java
│ │ │ │ │ │ ├── TransferableFileSet.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── encoding/
│ │ │ │ │ │ ├── EncodingListener.java
│ │ │ │ │ │ ├── EncodingMenu.java
│ │ │ │ │ │ ├── EncodingPreferences.java
│ │ │ │ │ │ ├── EncodingSelectBox.java
│ │ │ │ │ │ └── PreferredEncodingsDialog.java
│ │ │ │ │ ├── event/
│ │ │ │ │ │ ├── ActivePanelListener.java
│ │ │ │ │ │ ├── LocationAdapter.java
│ │ │ │ │ │ ├── LocationEvent.java
│ │ │ │ │ │ ├── LocationListener.java
│ │ │ │ │ │ ├── LocationManager.java
│ │ │ │ │ │ └── TableSelectionListener.java
│ │ │ │ │ ├── helper/
│ │ │ │ │ │ ├── FocusRequester.java
│ │ │ │ │ │ ├── MenuToolkit.java
│ │ │ │ │ │ ├── MnemonicHelper.java
│ │ │ │ │ │ ├── ScreenServices.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── icon/
│ │ │ │ │ │ ├── AnimatedIcon.java
│ │ │ │ │ │ ├── CustomFileIconProvider.java
│ │ │ │ │ │ ├── EmptyIcon.java
│ │ │ │ │ │ ├── FileIcons.java
│ │ │ │ │ │ ├── IconManager.java
│ │ │ │ │ │ └── SpinningDial.java
│ │ │ │ │ ├── layout/
│ │ │ │ │ │ ├── AsyncPanel.java
│ │ │ │ │ │ ├── CompareImagesPanel.java
│ │ │ │ │ │ ├── FluentPanel.java
│ │ │ │ │ │ ├── InformationPane.java
│ │ │ │ │ │ ├── ProportionalGridPanel.java
│ │ │ │ │ │ ├── ProportionalSplitPane.java
│ │ │ │ │ │ ├── SpringUtilities.java
│ │ │ │ │ │ ├── XAlignedComponentPanel.java
│ │ │ │ │ │ ├── XBoxPanel.java
│ │ │ │ │ │ ├── YBoxPanel.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── list/
│ │ │ │ │ │ ├── DynamicHorizontalWrapList.java
│ │ │ │ │ │ ├── DynamicList.java
│ │ │ │ │ │ ├── FileList.java
│ │ │ │ │ │ ├── SortableListPanel.kt
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── macosx/
│ │ │ │ │ │ ├── AppleScript.java
│ │ │ │ │ │ ├── AppleScriptBuilder.java
│ │ │ │ │ │ ├── EAWTHandler.java
│ │ │ │ │ │ ├── IMacOsWindow.java
│ │ │ │ │ │ ├── OSXIntegration.java
│ │ │ │ │ │ ├── TabbedPaneUICustomizer.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── main/
│ │ │ │ │ │ ├── BreadcrumbBar.kt
│ │ │ │ │ │ ├── ConfigurableFolderFilter.java
│ │ │ │ │ │ ├── DSStoreFileFilter.java
│ │ │ │ │ │ ├── DrivePopupButton.java
│ │ │ │ │ │ ├── FolderPanel.java
│ │ │ │ │ │ ├── LocationBar.kt
│ │ │ │ │ │ ├── LocationTextField.java
│ │ │ │ │ │ ├── MainFrame.java
│ │ │ │ │ │ ├── PreviewPanel.java
│ │ │ │ │ │ ├── QuickLists.java
│ │ │ │ │ │ ├── SplashScreen.java
│ │ │ │ │ │ ├── SystemFileFilter.java
│ │ │ │ │ │ ├── WindowManager.java
│ │ │ │ │ │ ├── commandbar/
│ │ │ │ │ │ │ ├── CommandBar.java
│ │ │ │ │ │ │ ├── CommandBarAttributes.java
│ │ │ │ │ │ │ ├── CommandBarAttributesListener.java
│ │ │ │ │ │ │ ├── CommandBarButton.java
│ │ │ │ │ │ │ ├── CommandBarButtonForDisplay.java
│ │ │ │ │ │ │ ├── CommandBarIO.java
│ │ │ │ │ │ │ ├── CommandBarReader.java
│ │ │ │ │ │ │ └── CommandBarWriter.java
│ │ │ │ │ │ ├── frame/
│ │ │ │ │ │ │ ├── ClonedMainFrameBuilder.java
│ │ │ │ │ │ │ ├── CommandLineMainFrameBuilder.java
│ │ │ │ │ │ │ ├── DefaultMainFramesBuilder.java
│ │ │ │ │ │ │ └── MainFrameBuilder.java
│ │ │ │ │ │ ├── menu/
│ │ │ │ │ │ │ ├── MainMenuBar.java
│ │ │ │ │ │ │ ├── OpenAsMenu.java
│ │ │ │ │ │ │ ├── OpenWithMenu.java
│ │ │ │ │ │ │ ├── TablePopupMenu.java
│ │ │ │ │ │ │ ├── UserPopupMenu.java
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ └── usermenu/
│ │ │ │ │ │ │ ├── LoadUserMenuException.java
│ │ │ │ │ │ │ ├── UserMenuItem.java
│ │ │ │ │ │ │ └── UserPopupMenuLoader.java
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ ├── quicklist/
│ │ │ │ │ │ │ ├── BookmarksQL.java
│ │ │ │ │ │ │ ├── EditAsQL.java
│ │ │ │ │ │ │ ├── EditorBookmarksQL.java
│ │ │ │ │ │ │ ├── ParentFoldersQL.java
│ │ │ │ │ │ │ ├── RecentEditedQL.java
│ │ │ │ │ │ │ ├── RecentExecutedFilesQL.java
│ │ │ │ │ │ │ ├── RecentLocationsQL.java
│ │ │ │ │ │ │ ├── RecentViewedQL.java
│ │ │ │ │ │ │ ├── RootFoldersQL.java
│ │ │ │ │ │ │ ├── TabsQL.java
│ │ │ │ │ │ │ ├── ViewAsQL.java
│ │ │ │ │ │ │ └── ViewedAndEditedFilesQL.java
│ │ │ │ │ │ ├── statusbar/
│ │ │ │ │ │ │ ├── FileWindowsListButton.java
│ │ │ │ │ │ │ ├── HeapIndicator.java
│ │ │ │ │ │ │ ├── StatusBar.java
│ │ │ │ │ │ │ ├── TaskPanel.java
│ │ │ │ │ │ │ ├── TaskWidget.java
│ │ │ │ │ │ │ ├── TrashPopupButton.java
│ │ │ │ │ │ │ └── VolumeSpaceLabel.java
│ │ │ │ │ │ ├── table/
│ │ │ │ │ │ │ ├── CalculateDirectorySizeWorker.java
│ │ │ │ │ │ │ ├── CellLabel.java
│ │ │ │ │ │ │ ├── Column.java
│ │ │ │ │ │ │ ├── FileGroupResolver.java
│ │ │ │ │ │ │ ├── FileTable.java
│ │ │ │ │ │ │ ├── FileTableHeader.java
│ │ │ │ │ │ │ ├── FileTableHeaderRenderer.java
│ │ │ │ │ │ │ ├── FileTableWrapperForDisplay.java
│ │ │ │ │ │ │ ├── SortInfo.java
│ │ │ │ │ │ │ ├── TransparentCellLabel.java
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ └── views/
│ │ │ │ │ │ │ ├── BaseCellRenderer.java
│ │ │ │ │ │ │ ├── BaseFileTableModel.java
│ │ │ │ │ │ │ ├── TableViewMode.java
│ │ │ │ │ │ │ ├── compact/
│ │ │ │ │ │ │ │ ├── CompactFileTableCellRenderer.java
│ │ │ │ │ │ │ │ ├── CompactFileTableColumnModel.java
│ │ │ │ │ │ │ │ └── CompactFileTableModel.java
│ │ │ │ │ │ │ └── full/
│ │ │ │ │ │ │ ├── FileTableCellRenderer.java
│ │ │ │ │ │ │ ├── FileTableColumnModel.java
│ │ │ │ │ │ │ ├── FileTableConfiguration.java
│ │ │ │ │ │ │ └── FileTableModel.java
│ │ │ │ │ │ ├── tabs/
│ │ │ │ │ │ │ ├── ClonedFileTableTabFactory.java
│ │ │ │ │ │ │ ├── ConfFileTableTab.java
│ │ │ │ │ │ │ ├── DefaultFileTableTabFactory.java
│ │ │ │ │ │ │ ├── DefaultFileTableTabHeaderFactory.java
│ │ │ │ │ │ │ ├── FileTableTab.java
│ │ │ │ │ │ │ ├── FileTableTabHeader.java
│ │ │ │ │ │ │ ├── FileTableTabHeaderFactory.java
│ │ │ │ │ │ │ ├── FileTableTabPopupMenu.java
│ │ │ │ │ │ │ ├── FileTableTabbedPane.java
│ │ │ │ │ │ │ ├── FileTableTabs.java
│ │ │ │ │ │ │ ├── FileTableTabsWithHeadersViewerFactory.java
│ │ │ │ │ │ │ ├── FileTableTabsWithoutHeadersViewerFactory.java
│ │ │ │ │ │ │ ├── NotClosableFileTableTabHeaderFactory.java
│ │ │ │ │ │ │ └── PrintableFileTableTabFactory.java
│ │ │ │ │ │ ├── toolbar/
│ │ │ │ │ │ │ ├── ToolBar.java
│ │ │ │ │ │ │ ├── ToolBarAttributes.java
│ │ │ │ │ │ │ ├── ToolBarAttributesListener.java
│ │ │ │ │ │ │ ├── ToolBarIO.java
│ │ │ │ │ │ │ ├── ToolBarReader.java
│ │ │ │ │ │ │ └── ToolBarWriter.java
│ │ │ │ │ │ └── tree/
│ │ │ │ │ │ ├── AbstractIOThreadManager.java
│ │ │ │ │ │ ├── CachedDirectory.java
│ │ │ │ │ │ ├── CachedDirectoryListener.java
│ │ │ │ │ │ ├── DirectoryCache.java
│ │ │ │ │ │ ├── FilesTreeModel.java
│ │ │ │ │ │ ├── FoldersTreePanel.java
│ │ │ │ │ │ ├── FoldersTreeRenderer.java
│ │ │ │ │ │ ├── IOThread.java
│ │ │ │ │ │ ├── TreeIOThreadManager.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── menu/
│ │ │ │ │ │ ├── JScrollMenu.java
│ │ │ │ │ │ └── JScrollPopupMenu.java
│ │ │ │ │ ├── notifier/
│ │ │ │ │ │ ├── AbstractNotifier.java
│ │ │ │ │ │ ├── GrowlNotifier.java
│ │ │ │ │ │ ├── NotificationType.java
│ │ │ │ │ │ ├── SystemTrayNotifier.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── popup/
│ │ │ │ │ │ └── TcActionsPopupMenu.kt
│ │ │ │ │ ├── progress/
│ │ │ │ │ │ ├── ProgressTextField.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── quicklist/
│ │ │ │ │ │ ├── QuickList.java
│ │ │ │ │ │ ├── QuickListContainer.java
│ │ │ │ │ │ ├── QuickListWithDataList.java
│ │ │ │ │ │ ├── QuickListWithEmptyMsg.java
│ │ │ │ │ │ ├── QuickListWithIcons.java
│ │ │ │ │ │ ├── QuickListWithoutIcons.java
│ │ │ │ │ │ └── item/
│ │ │ │ │ │ ├── QuickListDataList.java
│ │ │ │ │ │ ├── QuickListDataListWithIcons.java
│ │ │ │ │ │ ├── QuickListDataModel.java
│ │ │ │ │ │ ├── QuickListEmptyMessageItem.java
│ │ │ │ │ │ ├── QuickListHeaderItem.java
│ │ │ │ │ │ └── QuickListItem.java
│ │ │ │ │ ├── quicksearch/
│ │ │ │ │ │ └── QuickSearch.java
│ │ │ │ │ ├── table/
│ │ │ │ │ │ ├── CenteredTableHeaderRenderer.java
│ │ │ │ │ │ ├── EditableHeader.java
│ │ │ │ │ │ ├── EditableHeaderTableColumn.java
│ │ │ │ │ │ └── EditableHeaderUI.java
│ │ │ │ │ ├── tabs/
│ │ │ │ │ │ ├── ActiveTabListener.java
│ │ │ │ │ │ ├── HideableTabbedPane.java
│ │ │ │ │ │ ├── NullableTabsViewer.java
│ │ │ │ │ │ ├── Tab.java
│ │ │ │ │ │ ├── TabFactory.java
│ │ │ │ │ │ ├── TabUpdater.java
│ │ │ │ │ │ ├── TabWithoutHeaderViewer.java
│ │ │ │ │ │ ├── TabbedPane.java
│ │ │ │ │ │ ├── TabsCollection.java
│ │ │ │ │ │ ├── TabsEventListener.java
│ │ │ │ │ │ ├── TabsViewer.java
│ │ │ │ │ │ ├── TabsViewerFactory.java
│ │ │ │ │ │ └── TabsWithHeaderViewer.java
│ │ │ │ │ ├── terminal/
│ │ │ │ │ │ ├── JediTerminalPanelEx.kt
│ │ │ │ │ │ ├── TcTerminal.kt
│ │ │ │ │ │ ├── TcTerminalTtyConnector.kt
│ │ │ │ │ │ └── TerminalSettingsProvider.kt
│ │ │ │ │ ├── text/
│ │ │ │ │ │ ├── FileLabel.java
│ │ │ │ │ │ ├── FilePathField.java
│ │ │ │ │ │ ├── FilePathFieldKeyListener.java
│ │ │ │ │ │ ├── FontUtils.java
│ │ │ │ │ │ ├── KeyStrokeUtils.java
│ │ │ │ │ │ ├── MultiLineLabel.java
│ │ │ │ │ │ ├── RecordingKeyStrokeTextField.java
│ │ │ │ │ │ └── SizeConstrainedDocument.java
│ │ │ │ │ ├── theme/
│ │ │ │ │ │ ├── ColorChangedEvent.java
│ │ │ │ │ │ ├── ComponentMapper.java
│ │ │ │ │ │ ├── DefaultColor.java
│ │ │ │ │ │ ├── DefaultFont.java
│ │ │ │ │ │ ├── EditorTheme.java
│ │ │ │ │ │ ├── FixedDefaultColor.java
│ │ │ │ │ │ ├── FixedDefaultFont.java
│ │ │ │ │ │ ├── FontChangedEvent.java
│ │ │ │ │ │ ├── LinkedDefaultColor.java
│ │ │ │ │ │ ├── LinkedDefaultFont.java
│ │ │ │ │ │ ├── SystemDefaultColor.java
│ │ │ │ │ │ ├── SystemDefaultFont.java
│ │ │ │ │ │ ├── Theme.java
│ │ │ │ │ │ ├── ThemeCache.java
│ │ │ │ │ │ ├── ThemeData.java
│ │ │ │ │ │ ├── ThemeId.java
│ │ │ │ │ │ ├── ThemeListener.java
│ │ │ │ │ │ ├── ThemeManager.java
│ │ │ │ │ │ ├── ThemeReader.java
│ │ │ │ │ │ ├── ThemeWriter.java
│ │ │ │ │ │ ├── ThemeXmlConstants.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── tools/
│ │ │ │ │ │ ├── ToolsEnvironment.java
│ │ │ │ │ │ └── ToolsSetupDialog.java
│ │ │ │ │ ├── viewer/
│ │ │ │ │ │ ├── EditorFactory.java
│ │ │ │ │ │ ├── EditorFrame.java
│ │ │ │ │ │ ├── EditorRegistrar.java
│ │ │ │ │ │ ├── FileEditor.java
│ │ │ │ │ │ ├── FileFrame.java
│ │ │ │ │ │ ├── FileFrameCreateListener.java
│ │ │ │ │ │ ├── FilePreloadWorker.java
│ │ │ │ │ │ ├── FilePresenter.java
│ │ │ │ │ │ ├── FileViewer.java
│ │ │ │ │ │ ├── FileViewersList.java
│ │ │ │ │ │ ├── UserCancelledException.java
│ │ │ │ │ │ ├── ViewerFactory.java
│ │ │ │ │ │ ├── ViewerFrame.java
│ │ │ │ │ │ ├── ViewerRegistrar.java
│ │ │ │ │ │ ├── WarnUserException.java
│ │ │ │ │ │ ├── audio/
│ │ │ │ │ │ │ ├── AudioFactory.java
│ │ │ │ │ │ │ ├── AudioPlayer.java
│ │ │ │ │ │ │ ├── AudioViewer.java
│ │ │ │ │ │ │ └── StatusBar.java
│ │ │ │ │ │ ├── djvu/
│ │ │ │ │ │ │ ├── DjvuFactory.java
│ │ │ │ │ │ │ └── DjvuViewer.java
│ │ │ │ │ │ ├── hex/
│ │ │ │ │ │ │ ├── FindDialog.kt
│ │ │ │ │ │ │ ├── GotoDialog.kt
│ │ │ │ │ │ │ ├── HexFactory.kt
│ │ │ │ │ │ │ ├── HexViewer.java
│ │ │ │ │ │ │ └── StatusBar.kt
│ │ │ │ │ │ ├── html/
│ │ │ │ │ │ │ ├── HtmlFactory.java
│ │ │ │ │ │ │ └── HtmlViewer.java
│ │ │ │ │ │ ├── image/
│ │ │ │ │ │ │ ├── ImageFactory.java
│ │ │ │ │ │ │ ├── ImageViewer.java
│ │ │ │ │ │ │ ├── StatusBar.java
│ │ │ │ │ │ │ ├── ZxSpectrumScrImage.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ ├── pdf/
│ │ │ │ │ │ │ ├── PdfFactory.java
│ │ │ │ │ │ │ └── PdfViewer.java
│ │ │ │ │ │ └── text/
│ │ │ │ │ │ ├── FileType.java
│ │ │ │ │ │ ├── GotoLineDialog.java
│ │ │ │ │ │ ├── StatusBar.java
│ │ │ │ │ │ ├── TextArea.java
│ │ │ │ │ │ ├── TextEditor.java
│ │ │ │ │ │ ├── TextEditorCaretListener.java
│ │ │ │ │ │ ├── TextEditorImpl.java
│ │ │ │ │ │ ├── TextEditorUtils.java
│ │ │ │ │ │ ├── TextFactory.java
│ │ │ │ │ │ ├── TextFilesHistory.java
│ │ │ │ │ │ ├── TextLineNumbersPanel.java
│ │ │ │ │ │ ├── TextMenuHelper.java
│ │ │ │ │ │ ├── TextViewer.java
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ ├── search/
│ │ │ │ │ │ │ ├── AbstractSearchDialog.java
│ │ │ │ │ │ │ ├── FindDialog.java
│ │ │ │ │ │ │ ├── FindReplaceButtonsEnableResult.java
│ │ │ │ │ │ │ ├── ReplaceDialog.java
│ │ │ │ │ │ │ ├── SearchEvent.java
│ │ │ │ │ │ │ └── SearchListener.java
│ │ │ │ │ │ ├── tools/
│ │ │ │ │ │ │ ├── ExecOutputTextPane.java
│ │ │ │ │ │ │ ├── ExecPanel.java
│ │ │ │ │ │ │ ├── ExecUtils.java
│ │ │ │ │ │ │ ├── OnClickFileHandler.java
│ │ │ │ │ │ │ └── ProcessParams.java
│ │ │ │ │ │ └── utils/
│ │ │ │ │ │ ├── CodeFormatException.java
│ │ │ │ │ │ └── CodeFormatter.kt
│ │ │ │ │ └── widgets/
│ │ │ │ │ └── render/
│ │ │ │ │ └── BasicComboBoxRenderer.java
│ │ │ │ ├── updates/
│ │ │ │ │ ├── NightlyChecker.java
│ │ │ │ │ ├── SelfUpdateUtils.java
│ │ │ │ │ └── VersionChecker.java
│ │ │ │ └── utils/
│ │ │ │ ├── Convert.java
│ │ │ │ ├── FileIconsCache.kt
│ │ │ │ ├── TcLogging.java
│ │ │ │ ├── text/
│ │ │ │ │ ├── CustomDateFormat.java
│ │ │ │ │ ├── DurationFormat.java
│ │ │ │ │ ├── SizeFormat.java
│ │ │ │ │ └── Translator.java
│ │ │ │ └── xml/
│ │ │ │ ├── XmlAttributes.java
│ │ │ │ ├── XmlWriter.java
│ │ │ │ └── package.html
│ │ │ ├── sshtools/
│ │ │ │ └── sftp/
│ │ │ │ ├── SftpFileInputStreamEx.java
│ │ │ │ └── SftpFileOutputStreamEx.java
│ │ │ └── sun/
│ │ │ └── jna/
│ │ │ └── platform/
│ │ │ └── mac/
│ │ │ └── XAttrUtils.java
│ │ ├── org/
│ │ │ └── fife/
│ │ │ └── ui/
│ │ │ └── rtextarea/
│ │ │ └── GutterEx.java
│ │ ├── ru/
│ │ │ └── trolsoft/
│ │ │ ├── calculator/
│ │ │ │ ├── Calculator.kt
│ │ │ │ ├── CalculatorDialog.kt
│ │ │ │ ├── HistoryComboBox.kt
│ │ │ │ └── eval/
│ │ │ │ ├── Calculable.kt
│ │ │ │ ├── CommandlineInterpreter.java
│ │ │ │ ├── CustomFunction.java
│ │ │ │ ├── CustomOperator.java
│ │ │ │ ├── ExpressionBuilder.java
│ │ │ │ ├── RPNConverter.kt
│ │ │ │ ├── RPNExpression.java
│ │ │ │ ├── Tokenizer.kt
│ │ │ │ ├── exceptions/
│ │ │ │ │ ├── InvalidCustomFunctionException.kt
│ │ │ │ │ ├── UnknownFunctionException.java
│ │ │ │ │ └── UnparsableExpressionException.java
│ │ │ │ ├── tokens/
│ │ │ │ │ ├── CalculationToken.kt
│ │ │ │ │ ├── FunctionSeparatorToken.kt
│ │ │ │ │ ├── FunctionToken.kt
│ │ │ │ │ ├── NumberToken.kt
│ │ │ │ │ ├── OperatorToken.kt
│ │ │ │ │ ├── ParenthesesToken.kt
│ │ │ │ │ ├── Token.kt
│ │ │ │ │ └── VariableToken.kt
│ │ │ │ └── utils.kt
│ │ │ ├── hexeditor/
│ │ │ │ ├── data/
│ │ │ │ │ ├── AbstractByteBuffer.java
│ │ │ │ │ ├── FileByteBuffer.java
│ │ │ │ │ ├── MemoryByteBuffer.java
│ │ │ │ │ └── TrolCommanderByteBuffer.java
│ │ │ │ ├── events/
│ │ │ │ │ ├── OffsetChangeListener.java
│ │ │ │ │ └── SelectionChangeListener.java
│ │ │ │ ├── search/
│ │ │ │ │ └── ByteBufferSearchUtils.java
│ │ │ │ └── ui/
│ │ │ │ ├── HexTable.java
│ │ │ │ └── ViewerHexTableModel.java
│ │ │ ├── jni/
│ │ │ │ └── NativeFileUtils.java
│ │ │ ├── macosx/
│ │ │ │ ├── FileLabelCache.java
│ │ │ │ └── RetinaImageIcon.java
│ │ │ ├── ui/
│ │ │ │ ├── InputField.java
│ │ │ │ ├── TCheckBoxMenuItem.java
│ │ │ │ ├── TMenuSeparator.java
│ │ │ │ ├── TProgressBar.java
│ │ │ │ ├── TRadioButtonMenuItem.java
│ │ │ │ └── ZxSpectrumLoadPane.java
│ │ │ └── utils/
│ │ │ ├── FileUtils.java
│ │ │ ├── ImageSizeDetector.java
│ │ │ ├── JavaClassVersionDetector.java
│ │ │ ├── StrUtils.java
│ │ │ ├── StringStream.java
│ │ │ └── search/
│ │ │ ├── BytesSearchPattern.java
│ │ │ ├── InputStreamSource.java
│ │ │ ├── SearchException.java
│ │ │ ├── SearchPattern.java
│ │ │ ├── SearchSourceStream.java
│ │ │ ├── SearchUtils.java
│ │ │ ├── StringCaseInsensitiveSearchPattern.java
│ │ │ └── StringCaseSensitiveSearchPattern.java
│ │ └── se/
│ │ └── vidstige/
│ │ └── jadb/
│ │ ├── AdbFilterInputStream.java
│ │ ├── AdbFilterOutputStream.java
│ │ ├── AdbServerLauncher.java
│ │ ├── ConnectionToRemoteDeviceException.java
│ │ ├── DeviceDetectionListener.java
│ │ ├── DeviceWatcher.java
│ │ ├── HostConnectToRemoteTcpDevice.java
│ │ ├── HostDisconnectFromRemoteTcpDevice.java
│ │ ├── ITransportFactory.java
│ │ ├── JadbConnection.java
│ │ ├── JadbDevice.java
│ │ ├── JadbException.java
│ │ ├── LookBackFilteringOutputStream.java
│ │ ├── RemoteFile.java
│ │ ├── RemoteFileRecord.java
│ │ ├── Stream.java
│ │ ├── Subprocess.java
│ │ ├── SyncTransport.java
│ │ ├── Transport.java
│ │ ├── managers/
│ │ │ ├── Bash.java
│ │ │ ├── Package.java
│ │ │ ├── PackageManager.java
│ │ │ └── PropertyManager.java
│ │ └── server/
│ │ ├── AdbDeviceResponder.java
│ │ ├── AdbProtocolHandler.java
│ │ ├── AdbResponder.java
│ │ ├── AdbServer.java
│ │ └── SocketServer.java
│ └── resources/
│ ├── META-INF/
│ │ └── LICENSE
│ ├── avr/
│ │ ├── avr_commands.properties
│ │ └── avrdude.csv
│ ├── com/
│ │ └── mucommander/
│ │ └── commons/
│ │ └── file/
│ │ └── mime.types
│ ├── dictionary.properties
│ ├── dictionary_ar_SA.properties
│ ├── dictionary_be_BY.properties
│ ├── dictionary_ca_ES.properties
│ ├── dictionary_cs_CZ.properties
│ ├── dictionary_da_DA.properties
│ ├── dictionary_de_DE.properties
│ ├── dictionary_en_GB.properties
│ ├── dictionary_en_US.properties
│ ├── dictionary_es_ES.properties
│ ├── dictionary_fr_FR.properties
│ ├── dictionary_hu_HU.properties
│ ├── dictionary_it_IT.properties
│ ├── dictionary_ja_JP.properties
│ ├── dictionary_ko_KR.properties
│ ├── dictionary_nl_NL.properties
│ ├── dictionary_no_NO.properties
│ ├── dictionary_pl_PL.properties
│ ├── dictionary_pt_BR.properties
│ ├── dictionary_ro_RO.properties
│ ├── dictionary_ru_RU.properties
│ ├── dictionary_sk_SK.properties
│ ├── dictionary_sl_SL.properties
│ ├── dictionary_sv_SV.properties
│ ├── dictionary_uk_UA.properties
│ ├── dictionary_zh_CN.properties
│ ├── dictionary_zh_TW.properties
│ ├── license.txt
│ ├── logback.xml
│ └── themes/
│ ├── ClassicCommander.xml
│ ├── Native.xml
│ ├── RetroCommander.xml
│ ├── Striped.xml
│ ├── Trol.xml
│ └── editor/
│ ├── Dark.xml
│ ├── Default-alt.xml
│ ├── Default.xml
│ ├── Eclipse.xml
│ ├── Idea.xml
│ └── VisualStudio.xml
└── test/
├── java/
│ ├── com/
│ │ └── mucommander/
│ │ ├── XmlResourceTest.java
│ │ ├── command/
│ │ │ └── CommandTest.java
│ │ ├── commons/
│ │ │ ├── conf/
│ │ │ │ ├── BufferedConfigurationExplorerTest.java
│ │ │ │ ├── ConfigurationEventTest.java
│ │ │ │ ├── ConfigurationExplorerTest.java
│ │ │ │ ├── ConfigurationSectionTest.java
│ │ │ │ ├── FileConfigurationSourceTest.java
│ │ │ │ ├── ValueIteratorTest.java
│ │ │ │ └── ValueListTest.java
│ │ │ ├── file/
│ │ │ │ ├── AbstractFileTest.java
│ │ │ │ ├── DefaultFileURLTest.java
│ │ │ │ ├── DefaultPathCanonizerTest.java
│ │ │ │ ├── FileFactoryTest.java
│ │ │ │ ├── FileURLTestCase.java
│ │ │ │ ├── SimpleFileAttributesTest.java
│ │ │ │ ├── archiver/
│ │ │ │ │ └── ISOArchiverTest.java
│ │ │ │ ├── filter/
│ │ │ │ │ └── ExtensionFilenameFilterTest.java
│ │ │ │ ├── impl/
│ │ │ │ │ ├── ProxyFileTest.java
│ │ │ │ │ ├── TestFile.java
│ │ │ │ │ ├── ftp/
│ │ │ │ │ │ ├── FTPFileTest.java
│ │ │ │ │ │ └── FTPFileURLTest.java
│ │ │ │ │ ├── hadoop/
│ │ │ │ │ │ ├── HDFSFileTest.java
│ │ │ │ │ │ └── HDFSFileURLTest.java
│ │ │ │ │ ├── http/
│ │ │ │ │ │ ├── HTTPFileURLTest.java
│ │ │ │ │ │ └── HTTPSFileURLTest.java
│ │ │ │ │ ├── iso/
│ │ │ │ │ │ └── MuCreateISOTest.java
│ │ │ │ │ ├── local/
│ │ │ │ │ │ ├── LocalFileTest.java
│ │ │ │ │ │ ├── LocalFileURLTest.java
│ │ │ │ │ │ └── WindowsTest.java
│ │ │ │ │ ├── nfs/
│ │ │ │ │ │ └── NFSFileURLTest.java
│ │ │ │ │ ├── s3/
│ │ │ │ │ │ ├── S3FileTest.java
│ │ │ │ │ │ └── S3FileURLTest.java
│ │ │ │ │ ├── sftp/
│ │ │ │ │ │ ├── SFTPFileTest.java
│ │ │ │ │ │ └── SFTPFileURLTest.java
│ │ │ │ │ ├── smb/
│ │ │ │ │ │ ├── SMBFileTest.java
│ │ │ │ │ │ └── SMBFileURLTest.java
│ │ │ │ │ └── zip/
│ │ │ │ │ └── ZipArchiveFileTest.java
│ │ │ │ └── util/
│ │ │ │ ├── FileComparatorTest.java
│ │ │ │ ├── FileMonitorTest.java
│ │ │ │ ├── PathTokenizerTest.java
│ │ │ │ ├── PathUtilsTest.java
│ │ │ │ └── ResourceLoaderTest.java
│ │ │ ├── io/
│ │ │ │ ├── BoundedInputStreamTest.java
│ │ │ │ ├── BoundedOutputStreamTest.java
│ │ │ │ ├── BoundedReaderTest.java
│ │ │ │ ├── BufferPoolTest.java
│ │ │ │ ├── base64/
│ │ │ │ │ └── Base64Test.java
│ │ │ │ ├── bom/
│ │ │ │ │ └── BOMTest.java
│ │ │ │ └── compound/
│ │ │ │ ├── CompoundInputStreamTest.java
│ │ │ │ └── CompoundReaderTest.java
│ │ │ └── util/
│ │ │ └── StringUtilsTest.java
│ │ ├── ui/
│ │ │ ├── action/
│ │ │ │ └── impl/
│ │ │ │ └── PasteClipboardFilesActionTest.java
│ │ │ ├── dialog/
│ │ │ │ └── file/
│ │ │ │ ├── BatchRenameTest.java
│ │ │ │ └── RenamePropertiesTest.java
│ │ │ ├── icon/
│ │ │ │ └── CustomFileIconProviderTest.java
│ │ │ └── macosx/
│ │ │ └── AppleScriptTest.java
│ │ └── utils/
│ │ ├── text/
│ │ │ └── SizeFormatTest.java
│ │ └── xml/
│ │ ├── XmlAttributesTest.java
│ │ └── XmlWriterTest.java
│ └── ru/
│ └── trolsoft/
│ ├── hexeditor/
│ │ └── search/
│ │ └── ByteBufferSearchUtilsTest.java
│ └── test/
│ ├── VariableArgumentsProvider.java
│ └── VariableSource.java
├── kotlin/
│ ├── com/
│ │ └── mucommander/
│ │ └── ui/
│ │ └── viewer/
│ │ └── image/
│ │ └── SvgImageSupportTest.kt
│ └── ru/
│ └── trolsoft/
│ └── calculator/
│ └── CalculatorTest.kt
└── resources/
├── logback.xml
└── mockito-extensions/
└── org.mockito.plugins.MockMaker
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
*-ide-plugin.xml
*.class
*.ear
*.ec
*.egg-info
*.iml
*.ipr
*.iws
*.MainThread-*
*.pid
*.pid.lock
*.pyc
*.sqlite
*.swp
*.war
*.bak
*class
*.log
*~
.classpath
.DS_Store
.gradle
.idea
.idea/
.idea/*
.installed.cfg
.project
.settings
.settings/
.svn
.svn/*
/bin
/bin/
bin
build
develop-eggs
dist
dist/*
docs/
eggs
Gemfile.lock
git.properties
ivy*jar
logs
parts
reports
reports/*
target/
test/.coverage
test/coverage.xml
test/nosetests.xml
test-output/
tmp
tmp/*
### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff:
.idea/workspace.xml
.idea/tasks.xml
.idea/dictionaries
.idea/vcs.xml
.idea/jsLibraryMappings.xml
# Sensitive or high-churn files:
.idea/dataSources.ids
.idea/dataSources.xml
.idea/dataSources.local.xml
.idea/sqlDataSources.xml
.idea/dynamic.xml
.idea/uiDesigner.xml
# Gradle:
.idea/gradle.xml
.idea/libraries
# Mongo Explorer plugin:
.idea/mongoSettings.xml
## File-based project format:
*.iws
## Plugin-specific files:
# IntelliJ
/out/
# mpeltonen/sbt-idea plugin
.idea_modules/
================================================
FILE: LICENSE
================================================
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
{one line to give the program's name and a brief idea of what it does.}
Copyright (C) {year} {name of author}
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
{project} Copyright (C) {year} {fullname}
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
================================================
FILE: README.md
================================================
trolCommander
=============
Fork of muCommander file manager
See a full description at https://trolsoft.ru/en/soft/trolcommander/
How to build
============
Build jar file:
`gradlew clean build`
Nightly builds
==============
Latest jar file: https://trolsoft.ru/content/soft/trolcommander/nightly/trolcommander.jar
Latest MacOS dmg: https://trolsoft.ru/content/soft/trolcommander/nightly/trolCommander.dmg
================================================
FILE: build.gradle
================================================
plugins {
id 'java'
id 'application'
id "idea"
id 'com.gradleup.shadow' version '9.2.0'
id 'org.jetbrains.kotlin.jvm' version '2.3.20'
id 'com.github.ben-manes.versions' version '0.53.0'
id 'org.jetbrains.kotlin.plugin.lombok' version '2.3.20'
}
group = 'ru.trolsoft'
version = '1.0.0'
java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
def opensJvmApps = [
'--add-opens', 'java.base/java.io=ALL-UNNAMED',
'--add-opens', 'java.desktop/sun.awt.X11=ALL-UNNAMED',
'--add-opens', 'java.base/java.net=ALL-UNNAMED',
'--add-opens', 'java.desktop/javax.swing.plaf.basic=ALL-UNNAMED',
'--add-opens', 'java.desktop/sun.awt.X11=ALL-UNNAMED',
'--add-opens', 'java.transaction.xa/javax.transaction.xa=ALL-UNNAMED',
'--add-opens', 'java.management/javax.management=ALL-UNNAMED',
'--add-opens', 'java.rmi/java.rmi=ALL-UNNAMED',
'--add-opens', 'java.security.jgss/org.ietf.jgss=ALL-UNNAMED',
'--add-opens', 'java.sql/java.sql=ALL-UNNAMED',
'--add-opens', 'java.base/sun.net.www.protocol.http=ALL-UNNAMED',
'--add-opens', 'java.base/sun.net.www.protocol.https=ALL-UNNAMED',
'--add-opens', 'jdk.httpserver/com.sun.net.httpserver=ALL-UNNAMED',
'--add-opens', 'java.compiler/javax.lang.model.element=ALL-UNNAMED'
]
def macosJvmArgs = [
'--add-opens', 'java.desktop/com.apple.laf=ALL-UNNAMED',
'--add-opens', 'java.desktop/com.apple.laf.AquaLookAndFeel=ALL-UNNAMED',
'--add-exports', 'java.desktop/com.apple.laf=ALL-UNNAMED',
'--add-exports', 'java.desktop/com.apple.eawt=ALL-UNNAMED',
'--add-opens', 'java.desktop/com.apple.eawt=ALL-UNNAMED',
'-Dcom.apple.smallTabs=true',
'-Dcom.apple.hwaccel',
'-Dapple.laf.useScreenMenuBar=true',
'-Xdock:name=trolCommander'
]
def isMac = System.getProperty('os.name').toLowerCase().contains('mac')
application {
mainClass = 'com.mucommander.TrolCommander'
applicationDefaultJvmArgs = [
'-Xmx128m',
'-Xms128m',
'-XX:ReservedCodeCacheSize=64m',
'-XX:+IgnoreUnrecognizedVMOptions',
'-Djava.system.class.loader=com.mucommander.commons.file.AbstractFileClassLoader',
'-Dslf4j.provider=ch.qos.logback.classic.spi.LogbackServiceProvider',
'-Dfile.encoding=UTF-8'
] + opensJvmApps + (isMac ? macosJvmArgs : [])
}
repositories {
mavenCentral()
flatDir {
dirs 'lib/runtime', 'lib/compile', 'lib/test'
}
}
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.36'
annotationProcessor 'org.projectlombok:lombok:1.18.36'
testCompileOnly 'org.projectlombok:lombok:1.18.36'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.36'
implementation name: 'apple/AppleJavaExtensions-1.6'
implementation name: 'jediterm/jediterm-ui-3.66-SNAPSHOT'
implementation name: 'jediterm/jediterm-core-3.66-SNAPSHOT'
implementation name: 'jediterm/JediTerm-3.66-SNAPSHOT'
implementation name: 'jediterm/pty4j-0.13.4'
implementation name: 'jediterm/annotations'
implementation name: 'jediterm/jzlib-1.1.1'
implementation name: 'jediterm/purejavacomm'
implementation name: 'jets3t/jets3t-0.7.2'
implementation name: 'vmware/vim25-2.5'
implementation name: 'quaqua/quaqua-native'
implementation name: 'quaqua/quaqua'
implementation name: 'jets3t/jets3t-0.7.2'
implementation name: 'jcifs/jcifs-1.3.18-kohsuke-2-SNAPSHOT'
implementation name: 'java-iso-tools/iso9660-writer-2.0.0'
implementation name: 'java-iso-tools/sabre-2.0.0'
implementation name: 'image4j'
implementation name: 'javadjvu'
implementation name: 'jftp-1.60-trol1'
implementation name: 'jide-oss-3.7.4'
implementation name: 'rsyntaxtextarea-3.6.3-SNAPSHOT'
implementation name: 'sardine-5.3'
implementation name: 'sevenzipjbinding-AllPlatforms'
implementation name: 'sevenzipjbinding-Mac-arm64'
implementation name: 'sevenzipjbinding'
implementation name: 'trolcommander-native'
implementation name: 'trolsoft'
implementation name: 'VAqua13'
// lib.compile
compileOnly name: 'jfxrt'
if (!isMac) {
compileOnly name: 'apple/ui'
}
implementation 'org.apache.xmlgraphics:batik-anim:1.19'
implementation 'org.apache.xmlgraphics:batik-awt-util:1.19'
implementation 'org.apache.xmlgraphics:batik-bridge:1.19'
implementation 'org.apache.xmlgraphics:batik-codec:1.19'
implementation 'org.apache.xmlgraphics:batik-css:1.19'
implementation 'org.apache.xmlgraphics:batik-dom:1.19'
implementation 'org.apache.xmlgraphics:batik-ext:1.19'
implementation 'org.apache.xmlgraphics:batik-extension:1.19'
implementation 'org.apache.xmlgraphics:batik-gui-util:1.19'
implementation 'org.apache.xmlgraphics:batik-gvt:1.19'
implementation 'org.apache.xmlgraphics:batik-parser:1.19'
implementation 'org.apache.xmlgraphics:batik-script:1.19'
implementation 'org.apache.xmlgraphics:batik-svg-dom:1.19'
implementation 'org.apache.xmlgraphics:batik-svggen:1.19'
implementation 'org.apache.xmlgraphics:batik-swing:1.19'
implementation 'org.apache.xmlgraphics:batik-transcoder:1.19'
implementation "org.apache.xmlgraphics:batik-util:1.19"
implementation "org.apache.xmlgraphics:batik-xml:1.19"
implementation 'xml-apis:xml-apis:2.0.2'
implementation 'org.apache.xmlgraphics:xmlgraphics-commons:2.11'
implementation 'commons-net:commons-net:3.9.0'
implementation 'commons-collections:commons-collections:3.2.2'
implementation 'commons-logging:commons-logging:1.2'
implementation 'commons-io:commons-io:2.20.0'
implementation 'commons-collections:commons-collections:3.2.2'
implementation 'org.apache.commons:commons-collections4:4.5.0'
implementation 'commons-beanutils:commons-beanutils:1.9.4'
implementation 'org.apache.commons:commons-imaging:1.0-alpha2'
implementation 'org.apache.hadoop:hadoop-common:2.6.0'
implementation 'xerces:xercesImpl:2.12.2'
implementation 'ch.qos.logback:logback-classic:1.5.32'
implementation 'ch.qos.logback:logback-core:1.5.32'
implementation 'org.slf4j:slf4j-api:2.0.9'
implementation 'com.formdev:flatlaf:3.7.1'
// JNA
// implementation 'net.java.dev.jna:jna:5.13.0'
implementation 'oro:oro:2.0.8'
implementation 'org.yaml:snakeyaml:2.4'
implementation 'com.twelvemonkeys.imageio:imageio-core:3.13.1'
implementation 'com.twelvemonkeys.imageio:imageio-jpeg:3.13.1'
implementation 'com.twelvemonkeys.imageio:imageio-tiff:3.13.1'
implementation 'com.twelvemonkeys.imageio:imageio-psd:3.13.1'
implementation 'com.twelvemonkeys.imageio:imageio-webp:3.13.1'
implementation 'com.twelvemonkeys.imageio:imageio-bmp:3.13.1'
implementation 'com.twelvemonkeys.imageio:imageio-dds:3.13.1'
implementation 'com.twelvemonkeys.imageio:imageio-hdr:3.13.1'
implementation 'com.twelvemonkeys.imageio:imageio-icns:3.13.1'
implementation 'com.twelvemonkeys.imageio:imageio-iff:3.13.1'
implementation 'com.twelvemonkeys.imageio:imageio-pcx:3.13.1'
implementation 'com.twelvemonkeys.imageio:imageio-pnm:3.13.1'
implementation 'com.twelvemonkeys.imageio:imageio-sgi:3.13.1'
implementation 'com.twelvemonkeys.imageio:imageio-tga:3.13.1'
implementation 'com.twelvemonkeys.imageio:imageio-webp:3.13.1'
implementation 'com.twelvemonkeys.imageio:imageio-xwd:3.13.1'
implementation 'com.twelvemonkeys.imageio:imageio-metadata:3.13.1'
implementation 'com.twelvemonkeys.common:common-lang:3.13.'
implementation 'com.twelvemonkeys.common:common-io:3.13.1'
implementation 'net.java.dev.jna:jna:5.18.1'
implementation 'net.java.dev.jna:jna-platform:5.18.1'
implementation 'com.fifesoft.rtext:fife.common:6.0.3'
implementation 'org.jmdns:jmdns:3.6.3'
implementation 'com.sshtools:j2ssh-maverick:1.5.5'
implementation 'org.slf4j:jcl-over-slf4j:2.0.17'
implementation 'org.slf4j:jul-to-slf4j:2.0.17'
implementation 'org.slf4j:slf4j-api:2.0.17'
implementation 'com.googlecode.plist:dd-plist:1.29'
implementation 'com.github.pcorless.icepdf:icepdf-core:7.3.2'
implementation 'com.github.pcorless.icepdf:icepdf-viewer:7.3.2'
testImplementation 'org.junit.jupiter:junit-jupiter:6.0.3'
testImplementation 'org.junit.jupiter:junit-jupiter-api:6.0.3'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:6.0.3'
testImplementation 'org.mockito:mockito-core:5.23.0'
testImplementation 'org.mockito:mockito-junit-jupiter:5.23.0'
testImplementation 'org.assertj:assertj-core:3.27.7'
testImplementation "io.kotest:kotest-assertions-core:6.1.9"
}
sourceSets {
main {
java {
srcDirs = ['src/main/java']
}
resources {
srcDirs = ['src/main/resources']
exclude '**/*.java'
}
}
test {
java {
srcDirs = ['src/test/java']
}
resources {
srcDirs = ['src/test/resources']
}
}
}
jar {
manifest {
attributes(
'Main-Class': application.mainClass,
'Specification-Title': 'trolCommander',
'Specification-Vendor': 'Oleg Trifonov',
'Specification-Version': project.version,
'Implementation-Title': 'trolCommander',
'Implementation-Vendor': 'Oleg Trifonov',
'Implementation-Version': project.version,
'Build-Date': new Date().format('yyyy-MM-dd'),
'Build-Time': new Date().format('hh:mm:ss'),
'Build-URL': 'http://www.trolsoft.ru/content/soft/trolcommander/version.xml',
'Class-Path': configurations.runtimeClasspath.files.collect {
"lib/${it.name}"
}.join(' ')
)
}
// from('res/runtime') {
// include '**/*'
// exclude '**/*.java'
// }
}
tasks.withType(Jar).configureEach {
exclude('META-INF/maven/**', 'docs/**')
exclude {
def name = it.name.toLowerCase()
def path = it.relativePath.pathString
((name.contains('license') && name.endsWith('.txt')) || name.equals('readme.txt')) && path != 'license.txt'
}
}
// ==================== SHADOW JAR (fat-jar со всеми зависимостями) ====================
shadowJar {
archiveBaseName.set('trolcommander')
archiveClassifier.set('')
archiveVersion.set(project.version)
manifest {
inheritFrom jar.manifest
}
// Исключение подписей зависимостей (чтобы не было конфликтов)
exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA'
// Объединение сервис-файлов
mergeServiceFiles()
}
tasks.named('shadowDistZip') {
archiveFileName.set("trolCommander-${project.version}.zip")
from("src/main/resources/images/trolcommander") {
include "icon*.png"
into "trolCommander-${project.version}/icons"
}
}
// Задача для сборки с локальными зависимостями
tasks.register('buildWithLocalLibs') {
group = 'build'
description = 'Сборка с использованием локальных JAR из lib/'
dependsOn 'shadowJar'
}
// Задача для сборки с миграцией на Maven
tasks.register('buildWithMaven') {
group = 'build'
description = 'Сборка с приоритетом Maven-зависимостей'
dependsOn 'shadowJar'
}
// Задача для запуска приложения
tasks.register('runApp', JavaExec) {
group = 'application'
description = 'Запуск trolCommander'
mainClass = application.mainClass
classpath = sourceSets.main.runtimeClasspath
jvmArgs = application.applicationDefaultJvmArgs
}
// ==================== УТИЛИТЫ ДЛЯ МИГРАЦИИ ====================
// Задача: показать, какие зависимости берутся из локальных файлов
tasks.register('listLocalDependencies') {
group = 'help'
description = 'Показать зависимости из локальной папки lib/'
doLast {
def localDeps = configurations.runtimeClasspath.files.findAll {
it.absolutePath.contains('/lib/')
}
if (localDeps.isEmpty()) {
println "✓ Все зависимости загружаются из Maven-репозиториев"
} else {
println "⚠ Локальные зависимости:"
localDeps.each { println " - ${it.name}" }
println "\n💡 Подсказка: замените 'implementation name: ...' на 'implementation \"group:artifact:version\""
}
}
}
test {
useJUnitPlatform()
// dependsOn 'compileJava', 'processResources'
jvmArgs = [
'-Djava.awt.headless=true',
'-Djava.system.class.loader=com.mucommander.commons.file.AbstractFileClassLoader'
]
testLogging {
//events 'passed', 'skipped', 'failed'
events 'skipped', 'failed'
exceptionFormat = 'full'
showStandardStreams = true
}
}
// Отключение предупреждений о кодировке
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
options.compilerArgs += ['-Xlint:unchecked', '-Xlint:deprecation']
options.annotationProcessorPath = configurations.annotationProcessor
if (isMac) {
options.compilerArgs += [
'--add-exports', 'java.desktop/com.apple.laf=ALL-UNNAMED',
'--add-exports', 'java.desktop/com.apple.eawt=ALL-UNNAMED',
'--add-opens', 'java.desktop/com.apple.laf=ALL-UNNAMED',
'--add-opens', 'java.desktop/com.apple.eawt=ALL-UNNAMED'
]
}
}
// Копирование библиотек в output для классического запуска (опционально)
tasks.register('copyLibs', Copy) {
from configurations.runtimeClasspath
into "$buildDir/libs"
}
//tasks.named('startScripts') {
// dependsOn 'shadowJar'
// // Перенастроить класспасс на shadowJar
// classpath = files(shadowJar.archiveFile)
//}
//
//// И использовать другой classifier для shadowJar, чтобы не конфликтовать
//shadowJar {
// archiveClassifier = 'all' // будет trolcommander-0.9.9-all.jar
//}
// Отключить стандартные задачи дистрибуции (конфликтуют с shadowJar)
tasks.named('distZip') { enabled = false }
tasks.named('distTar') { enabled = false }
tasks.named('startScripts') { enabled = false }
// Отключить стандартный jar, если используете только shadowJar
tasks.named('jar') { enabled = false }
// Сделать shadowJar задачей сборки по умолчанию
tasks.named('assemble') {
dependsOn 'shadowJar'
}
tasks.named('compileJava') {
dependsOn 'processResources'
}
================================================
FILE: build.properties
================================================
# - Build configuration ------------------------------------------------------------------------------------------------
# ----------------------------------------------------------------------------------------------------------------------
# If set to true, the build will fail whenever a release artifact can't be generated because an external tool isn't
# available.
build.pedantic=false
# If set to true, the generated artifacts are not considered to be part of an official release.
# This impacts file names (trolcommander-current.. instead of trolcommander-${app.version}..) as well as the metadata of
# some artifacts (the debian version number will use a timestamp, for example).
build.snapshot=false
# - Application configuration ------------------------------------------------------------------------------------------
# ----------------------------------------------------------------------------------------------------------------------
# Name of the application.
# This should probably not be modified.
app.name=trolCommander
# Copyright holder.
# This should probably not be modified.
app.vendor=Oleg Trifonov
# trolCommander version.
app.version=0.9.9
# Fully qualified name of the class that starts trolCommander.
app.main=com.mucommander.TrolCommander
# trolCommander copyright line.
app.copyright=2002-2023
# - Source code configuration ------------------------------------------------------------------------------------------
# ----------------------------------------------------------------------------------------------------------------------
# Java version the source was written for.
source.version=17
# Encoding of the source code.
source.encoding=UTF-8
# - Application URLs ---------------------------------------------------------------------------------------------------
# ----------------------------------------------------------------------------------------------------------------------
# trolCommander homepage.
url.homepage=http://www.trolsoft.ru/en/soft/trolcommander
# URL that trolCommander should connect to to check for new versions.
url.version=http://www.trolsoft.ru/content/soft/trolcommander/version.xml
# URL that users can go to to download the latest trolCommander version.
url.download=http://www.trolsoft.ru/en/soft/trolcommander/#download
# URL of the latest trolCommander JAR file.
url.jar=http://www.trolsoft.ru/content/soft/trolcommander/download/trolcommander.jar
# URL of the trolCommander JNLP.
url.jnlp=http://www.trolsoft.ru/soft/trolcommander/webstart/
# - External tools -----------------------------------------------------------------------------------------------------
# ----------------------------------------------------------------------------------------------------------------------
# Path to the 7z executable.
# If this is not set, compression will be done using standard ZIP algorithms.
7za.executable=/Users/trol/Bin/7za
# Password for the JAR keystore.
# If you're not Maxence, you needn't bother with this.
store.pass=
# Path to the NSIS installation dir.
# If not set, Windows executables won't be generated.
nsis.dir=/usr/local/Cellar/makensis/3.0/share/nsis
# Path to the NSIS executable file.
# This will more often than not be ${nsis.dir}/makensis.
# If not set, Windows executables won't be generated.
nsis.bin=/usr/local/Cellar/makensis/3.0/bin/makensis
# Path to the launch4j installation dir.
# If not set, Windows executable won't be generated.
launch4j.dir=/Users/trol/Bin/launch4j
================================================
FILE: build_template.properties
================================================
# - Build configuration ------------------------------------------------------------------------------------------------
# ----------------------------------------------------------------------------------------------------------------------
# If set to true, the build will fail whenever a release artifact can't be generated because an external tool isn't
# available.
build.pedantic=false
# If set to true, the generated artifacts are not considered to be part of an official release.
# This impacts file names (mucommander-current.. instead of mucommander-${app.version}..) as well as the metadata of
# some artifacts (the debian version number will use a timestamp, for example).
build.snapshot=true
# - Application configuration ------------------------------------------------------------------------------------------
# ----------------------------------------------------------------------------------------------------------------------
# Name of the application.
# This should probably not be modified.
app.name=muCommander
# Copyright holder.
# This should probably not be modified.
app.vendor=Maxence Bernard
# muCommander version.
app.version=0.9.0
# Fully qualified name of the class that starts muCommander.
app.main=com.mucommander.TrolCommander
# muCommander copyright line.
app.copyright=2002-2012
# - Source code configuration ------------------------------------------------------------------------------------------
# ----------------------------------------------------------------------------------------------------------------------
# Java version the source was written for.
source.version=1.5
# Encoding of the source code.
source.encoding=UTF-8
# - Application URLs ---------------------------------------------------------------------------------------------------
# ----------------------------------------------------------------------------------------------------------------------
# muCommander homepage.
url.homepage=http://www.mucommander.com
# URL that muCommander should connect to to check for new versions.
url.version=http://www.mucommander.com/version/version.xml
# URL that users can go to to download the latest muCommander version.
url.download=http://www.mucommander.com/#download
# URL of the latest muCommander JAR file.
url.jar=http://www.mucommander.com/download/mucommander.jar
# URL of the muCommander JNLP.
url.jnlp=http://www.mucommander.com/webstart/
# - External tools -----------------------------------------------------------------------------------------------------
# ----------------------------------------------------------------------------------------------------------------------
# Path to the 7z executable.
# If this is not set, compression will be done using standard ZIP algorithms.
7za.executable=
# Password for the JAR keystore.
# If you're not Maxence, you needn't bother with this.
store.pass=
# Path to the NSIS installation dir.
# If not set, Windows executables won't be generated.
nsis.dir=
# Path to the NSIS executable file.
# This will more often than not be ${nsis.dir}/makensis.
# If not set, Windows executables won't be generated.
nsis.bin=
# Path to the launch4j installation dir.
# If not set, Windows executable won't be generated.
launch4j.dir=
================================================
FILE: gradle/wrapper/gradle-wrapper.properties
================================================
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
================================================
FILE: gradle.properties
================================================
# Настройки сборки
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.caching=true
# Версия приложения
app.version=1.0.0
app.vendor=Oleg Trifonov
# Путь к локальным библиотекам (для гибкости)
lib.runtime.dir=lib/runtime
lib.compile.dir=lib/compile
lib.test.dir=lib/test
================================================
FILE: gradlew
================================================
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
warn () {
echo "$*"
} >&2
die () {
echo
echo "$*"
echo
exit 1
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH="\\\"\\\""
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@"
# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"
================================================
FILE: gradlew.bat
================================================
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:execute
@rem Setup the command line
set CLASSPATH=
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
:end
@rem End local scope for the variables with windows NT shell
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
================================================
FILE: jni/Makefile
================================================
all:
./build.sh
================================================
FILE: jni/build.sh
================================================
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/
gcc -I"$JAVA_HOME/include" -I"$JAVA_HOME/include/darwin/" -o libtrolsoft.jnilib -shared ru_trolsoft_jni_NativeFileUtils.c
cp -f libtrolsoft.jnilib ../
jar cvf ../lib/runtime/trolsoft.jar libtrolsoft.jnilib
================================================
FILE: jni/ru_trolsoft_jni_NativeFileUtils.c
================================================
#include <stdio.h>
#include "ru_trolsoft_jni_NativeFileUtils.h"
#include <stdbool.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include <limits.h>
#define VERSION 2
#define FA_MASK_EXISTS 1
#define FA_MASK_DIRECTORY 2
#define FA_MASK_HIDDEN 4
// https://www.gnu.org/software/libc/manual/html_node/Testing-File-Type.html
static bool is_regular_file(const char *path) {
struct stat path_stat;
stat(path, &path_stat);
return S_ISREG(path_stat.st_mode);
}
static bool is_directory(const char *path) {
struct stat path_stat;
stat(path, &path_stat);
return S_ISDIR(path_stat.st_mode);
}
static bool is_executable_file(const char *path) {
struct stat path_stat;
return (stat(path, &path_stat) == 0 && path_stat.st_mode & S_IXUSR);
}
static bool is_hidden_file(const char *path) {
char *name = strrchr(path, '/');
char folderName[PATH_MAX];
if (name && name[0] == '/' && name[1] == 0) {
uint len = strlen(path);
if (!len || len < 2) {
return false;
}
folderName[len-1] = 0;
for (uint i = len-2; i != 0; i--) {
folderName[i] = path[i];
if (path[i] == '/') {
name = &folderName[i];
break;
}
}
}
if (name) {
if (name[1] == 0) {
return false;
} else if (name[1] == '.') {
return true;
} else if (name[2] == 0) {
uint len = strlen(path);
if (len < 2) {
return false;
}
name = NULL;
for (uint i = len-2; i != 0; i--) {
if (path[i] == '/') {
return path[i+1] == '.';
}
}
}
return false;
}
return path[0] == '.';
}
JNIEXPORT jint JNICALL Java_ru_trolsoft_jni_NativeFileUtils_getLibraryVersion
(JNIEnv *env, jclass class) {
return VERSION;
}
JNIEXPORT jint JNICALL Java_ru_trolsoft_jni_NativeFileUtils_getLocalFileAttributes
(JNIEnv *env, jclass class, jstring path) {
if (path == NULL) {
return 0;
}
const char *pathUtf = (*env)->GetStringUTFChars(env, path, NULL);
bool exists = access(pathUtf, F_OK) != -1;
bool isDirectory = is_directory(pathUtf);
bool isHidden = is_hidden_file(pathUtf);
jint res = 0;
if (exists) {
res |= FA_MASK_EXISTS;
}
if (isDirectory) {
res |= FA_MASK_DIRECTORY;
}
if (isHidden) {
res |= FA_MASK_HIDDEN;
}
(*env)->ReleaseStringUTFChars(env, path, pathUtf);
return res;
}
JNIEXPORT jboolean JNICALL Java_ru_trolsoft_jni_NativeFileUtils_isLocalFileHidden
(JNIEnv *env, jclass class, jstring path) {
if (path == NULL) {
return false;
}
const char *pathUtf = (*env)->GetStringUTFChars(env, path, NULL);
bool result = is_hidden_file(pathUtf);
(*env)->ReleaseStringUTFChars(env, path, pathUtf);
return result;
}
JNIEXPORT jboolean JNICALL Java_ru_trolsoft_jni_NativeFileUtils_isLocalFileExecutable
(JNIEnv *env, jclass class, jstring path) {
if (path == NULL) {
return false;
}
const char *pathUtf = (*env)->GetStringUTFChars(env, path, NULL);
bool result = is_executable_file(pathUtf);
(*env)->ReleaseStringUTFChars(env, path, pathUtf);
return result;
}
JNIEXPORT jboolean JNICALL Java_ru_trolsoft_jni_NativeFileUtils_isLocalDirectory
(JNIEnv *env, jclass class, jstring path) {
if (path == NULL) {
return false;
}
const char *pathUtf = (*env)->GetStringUTFChars(env, path, NULL);
bool result = is_directory(pathUtf);
(*env)->ReleaseStringUTFChars(env, path, pathUtf);
return result;
}
================================================
FILE: jni/ru_trolsoft_jni_NativeFileUtils.h
================================================
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class ru_trolsoft_jni_FileUtils */
#ifndef _Included_ru_trolsoft_jni_NativeFileUtils
#define _Included_ru_trolsoft_jni_NativeFileUtils
#ifdef __cplusplus
extern "C" {
#endif
JNIEXPORT jint JNICALL Java_ru_trolsoft_jni_NativeFileUtils_getLibraryVersion
(JNIEnv *, jclass);
/*
* Class: ru_trolsoft_jni_FileUtils
* Method: getLocalFileAttributes
* Signature: (Ljava/lang/String;)I
*/
JNIEXPORT jint JNICALL Java_ru_trolsoft_jni_NativeFileUtils_getLocalFileAttributes
(JNIEnv *, jclass, jstring);
JNIEXPORT jboolean JNICALL Java_ru_trolsoft_jni_NativeFileUtils_isLocalFileHidden
(JNIEnv *, jclass, jstring);
JNIEXPORT jboolean JNICALL Java_ru_trolsoft_jni_NativeFileUtils_isLocalFileExecutable
(JNIEnv *, jclass, jstring);
JNIEXPORT jboolean JNICALL Java_ru_trolsoft_jni_NativeFileUtils_isLocalDirectory
(JNIEnv *, jclass, jstring);
#ifdef __cplusplus
}
#endif
#endif
================================================
FILE: lib/compile/jfxrt.jar
================================================
[File too large to display: 14.6 MB]
================================================
FILE: lib/tools/version.txt
================================================
proguard.jar -> 4.11
jdeb.jar -> 1.2
antdoclet.jar -> 1.1 (patched to disable Velocity logging).
velocity.jar -> 1.3.1
simian.jar -> 2.2.21
javancss.jar -> 28.49
jdepend.jar -> 2.9
doccheck.jar -> 1.2b2
antcontrib.jar -> 1.0b3
muant.jar -> 1.0 (compiled from original extracted mucommander source rev. 3628)
================================================
FILE: readme.txt
================================================
████████╗██████╗ ██████╗ ██╗
╚══██╔══╝██╔══██╗██╔═══██╗██║
██║ ██████╔╝██║ ██║██║
██║ ██╔══██╗██║ ██║██║
██║ ██║ ██║╚██████╔╝███████╗
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝
██████╗ ██████╗ ███╗ ███╗███╗ ███╗ █████╗ ███╗ ██╗██████╗ ███████╗██████╗
██╔════╝██╔═══██╗████╗ ████║████╗ ████║██╔══██╗████╗ ██║██╔══██╗██╔════╝██╔══██╗
██║ ██║ ██║██╔████╔██║██╔████╔██║███████║██╔██╗ ██║██║ ██║█████╗ ██████╔╝
██║ ██║ ██║██║╚██╔╝██║██║╚██╔╝██║██╔══██║██║╚██╗██║██║ ██║██╔══╝ ██╔══██╗
╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ╚═╝ ██║██║ ██║██║ ╚████║██████╔╝███████╗██║ ██║
╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═════╝ ╚══════╝╚═╝ ╚═╝
--------------------
trolCommander v1.0.0
--------------------
trolCommander is a lightweight, cross-platform file manager with a dual-pane interface.
It runs on any operating system with Java support (Mac OS X, Windows, Linux, *BSD, Solaris...).
Documentation can be found at http://trac.mucommander.com/ .
Please visit the muCommander forums (http://www.mucommander.com/forums) to ask questions, suggest features or
report a bug. Your feedback is always welcome!
Official website: http://trolsoft.ru/en/soft/trolcommander
Copyright (C) 2002-2014 Maxence Bernard.
Copyright (C) 2013-2026 Oleg Trifonov.
Requirements
------------
A Java Runtime Environment (JRE) 1.7 or later is required to run trolCommander.
Java 1.8 is recommended, you can download it at http://java.com.
Mac OS X users: your favorite OS already comes with a Java runtime so you're good to go!
If you're having problems launching trolCommander, make sure the JAVA_HOME environment variable points to the directory
where your Java runtime is installed.
What's new since v0.9 ?
-----------------------
New features:
- Lock tab capability, which prevents closing/moving the tab or changing its location.
- New quick list that presents open tabs in the current panel, mapped onto Alt+6 by default (ticket #450).
- Added the option to set fixed title for tab.
- Added the following actions: add tab, duplicate tab, clone tab to other panel.
- Added support for VMware vSphere virtual machines file system, contributed by Yuval Kohavi <yuval.kohavi@intigua.com>
Improvements:
- The state of all windows from last run is now restored on startup.
- Added the ability to copy the base name of files (ticket #462), contributed by Chen Rozenes.
- User can choose to always display tabs headers from preferences dialog (even when the panel contains single tab).
- Add the application name to window title on all OSs except Mac OS X (ticket #501).
- The visited locations history is now saved per-tab.
- The recently visited locations quick list now presents the visited locations on all tabs and windows.
- The content of recently visited locations quick list is now restored from previous run on startup (ticket #471).
- Added fullscreen support for Mac OS X Lion (ticket #468).
- Text file editor/viewer restore the full screen mode of last used (closed) editor/viewer on startup.
- 'Bonjour' support is now disabled by default on Mac OS (on fresh installation, i.e, with no previous
preferences) to prevent firewall dialog which keeps popping up on startup (workaround for ticket #339).
- Added 'ctrl+m' keystroke to toggle text file editor/viewer full screen mode.
- Tab can be closed by clicking on its header with middle mouse button.
- Assign 'ctrl+page_down' keystroke for switching to next tab, and 'ctrl+page_up' for switching to
previous tab (the keystrokes that were previously assigned to those actions remain as alternative keystrokes).
- Improved names and descriptions presented for tab-related actions.
- Added new category of actions in the 'shortcuts dialog' for tab-related actions.
- Changed tab's not-fixed-title to be in the pattern '<host>:<filename>'
- Show backward/forward locations list when pressing with right click on the back/forward buttons in the toolbar
instead of trigger back/forward actions
- Keyboard shortcuts can now be set for commands defined at commands.xml (ticket #456), contributed by Jarek Czekalski.
- Show empty name in the make file/directory dialog when it is opened (ticket #512), contributed by hclsiva.
- Mac OS X: enabled high-resolution rendering on Retina displays (ticket #518), contributed Alexey Lysiuk.
- Added Windows 8 and Mac OS X 10.8 to the OS versions.
- System files can now be filtered also on windows, contributed by Markus Bullmann.
Localization:
- Turkish translation has been updated.
Bug fixes:
- Prevent deadlock which caused the application to freeze while switching tabs on MAC OS.
- Recycle Bin is now working on Windows 64-bit with a 64-bit Java runtime (ticket #234).
- Key combinations that contain the TAB key can be set as shortcuts (ticket #465).
- Fix installation via software center on Ubuntu.
- Symbolic links cannot be opened (ticket #467).
- Encoding of text file is changed after being modified by the viewer/editor (ticket #438).
- Cannot connect to some FTP/SFTP bookmarks if there are more than 4 of them (ticket #525), contributed by Ondrej Dusek.
- Quick lists on the right panel sometimes not being focused (ticket #552), contributed by Jarek Czekalski.
Known issues:
- Some translations may not be up-to-date. Refer to http://trac.mucommander.com/wiki/Translations for more information.
- Mac OS X: "Do you want the application "muCommander.app" to accept incoming network connections?" dialog keeps popping
up on startup even if the dialog has been previously accepted (ticket #339), when 'Bonjour' support is enabled.
- Executable permissions on local files are not properly preserved when running a unix-based OS with Java 1.5.
- SMB support may not work properly on non multi-language JRE.
- 'Copy files to clipboard' not working with some applications (files are not pasted).
- Mac OS X: some keyboard shortcuts may conflict with global system shortcuts.
- Authentication issues when using several sets of credentials (login/password) for the same server (see ticket #76).
- Untrusted HTTPS connections are allowed without a warning.
- Windows Vista/7: "java.net.SocketException: Permission denied: recv failed" error can appear when trying to access FTP
sites. This seems to be a Windows firewall problem, with a possible workaround:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7077696
- Unpacking files from 7z archive files can be slow.
License
-------
muCommander is released under the terms of the GNU General Public License.
Please refer to the 'license.txt' file bundled with muCommander.
muCommander uses the following great third party works :
- the Ant library released under the Apache License.
Ant can be found at http://ant.apache.org .
- Apache Commons libraries released under the Apache License.
Apache Commons can be found at http://commons.apache.org .
- Apache Hadoop released under the Apache License.
Apache Hadoop can be found at http://hadoop.apache.org .
- the Furbelow library released under the GNU LGPL.
Furbelow can be found at http://sourceforge.net/projects/furbelow .
- the ICU4J library released under the ICU License.
the ICU project can be found at http://icu-project.org .
- the J2SSH library released under the GNU LGPL.
J2SSH can be found at http://www.sshtools.com .
- the J7Zip library released under the GNU LGPL.
J7Zip can be found at http://sourceforge.net/projects/p7zip/ .
- the jCIFS library released under the GNU LGPL.
jCIFS can be found at http://jcifs.samba.org .
- the JetS3t library released under the Apache License.
JetS3t can be found at http://jets3t.s3.amazonaws.com/index.html .
- the JmDNS library released under the GNU LGPL.
JmDNS can be found at http://jmdns.sourceforge.net .
- the JNA library released under the GNU LGPL.
JmDNS can be found at http://jna.dev.java.net .
- the JUnRar library released as Freeware.
JUnRar can be found at http://sourceforge.net/projects/java-unrar .
- the Yanfs library released under the BSD license.
Yanfs can be found at http://yanfs.dev.java.net .
- Icons by Mark James released under the Creative Commons Attribution License.
Mark James can be found at http://famfamfam.com .
Credits
-------
Core developers:
- Maxence Bernard
- Nicolas Rinaudo
- Arik Hadas
- Mariusz Jakubowski
Contributors:
- Ivan Baidakov
- Vassil Dichev
- Karel Klic
- David Kovar
- Joshua Lebo
- LeO
- Xavier Martin
- Alejandro Scandroli
- Alexander Yerenkow
- Johann Schmitz
Translators:
- Frank Berger and Tony Klüver (German)
- Marcos Cobeña and Xavi Miró (Spanish)
- Jaromír Mára and Peter Vasko (Czech)
- Kent Hsu (Traditional Chinese)
- Jioh L. Jung (Korean)
- Andrzej Kosiński (Polish)
- György Varga and Tamás Balogh-Walder (Hungarian)
- 4X_Pro and Evgeny Morozov (Russian)
- whiteriver and Woodie (Simplified Chinese)
- Joze Kovacic (Slovenian)
- Catalin Hritcu (Romanian)
- Roberto Angeletti (Italian)
- Cristiano Duarte (Brazilian Portuguese)
- Pieter Kristensen (Dutch)
- Ján Ľudvík (Slovak)
- Jonathan Murphy (British English)
- Nardog (Japanese)
- Jakob Ekström (Swedish)
- Jeppe Toustrup (Danish)
- Mykola Bilovus (Ukrainian)
- ChArLoK_16 (Arabic)
- vboo (Belarusian)
- Ingrid Amundsen (Norwegian)
- Emre Aytaç (Turkish)
- Jordi Plantalech (Catalan)
Special thanks:
- Semyon Filippov (muCommander icon)
- Stefano Perelli (former muCommander icon)
Many thanks to all of you who suggested new features, reported bugs, sent warm emails or generously donated to the
project !
Command Line Interface
----------------------
muCommander comes with a few command line switches.
The following options are available:
-a FILE, --assoc FILE Load associations from FILE.
-b FILE, --bookmarks FILE Load bookmarks from FILE.
-c FILE, --configuration FILE Load configuration from FILE
-C FILE, --commandbar FILE Load command bar from FILE.
-e FOLDER, --extensions FOLDER Load extensions from FOLDER.
-f FILE, --commands FILE Load custom commands from FILE.
-i, --ignore-warnings Do not fail on warnings (default).
-k FILE, --keymap FILE Load keymap from FILE
-p FOLDER, --preferences FOLDER Store configuration files in FOLDER
-S, --silent Do not print verbose error messages
-s FILE, --shell-history FILE Load shell history from FILE
-t FILE, --toolbar FILE Load toolbar from FILE
-u FILE, --credentials FILE Load credentials from FILE
-h, --help Print the help text and exit
-v, --version Print the version and exit
-V, --verbose Print verbose error messages (default)
-w, --fail-on-warnings Quits when a warning is encountered during
the boot process.
In addition to these, muCommander will interpret anything that comes after the last switch as a URI and load it in
its windows.
So for example:
mucommander -b ~/.bookmarks.xml ftp://user@myftp.com ~/dev http://slashdot.org
Will:
- read bookmarks from ~/bookmarks.xml
- load a connection to myftp.com in the left panel of the main window
- load ~/dev in the right panel of the main window
- open a second window and load http://slashdot.org in its left panel
- load the default directory in the second window's fourth panel
Documentation
-------------
Documentation on how to use, customize and extend muCommander is available at:
http://trac.mucommander.com
================================================
FILE: release-linux.sh
================================================
VERSION='1.0.0'
TMP_OUT_PATH=dist
#TMP_RES_PATH=dist/resources
OUT_PATH=dist
ARCH=$(uname -m)
set -e
./gradlew clean build
mkdir -p $TMP_OUT_PATH
#mkdir -p $TMP_RES_PATH
cp build/libs/trolcommander-$VERSION.jar $TMP_OUT_PATH/trolcommander-linux.jar
zip -d $TMP_OUT_PATH/trolcommander-linux.jar "Windows-amd64/*" "Windows-x86/*" "Mac-arm64/*" "Mac-x86_64/*" "win/*" "jtermios/freebsd/*" "jtermios/Mac-x86_64/*" "jtermios/solaris/*" "jtermios/windows/*"
zip -d $TMP_OUT_PATH/trolcommander-linux.jar "com/sun/jna/freebsd-amd64/*" "com/sun/jna/freebsd-i386/*" "com/sun/jna/platform/win32/*" "com/sun/jna/platform/wince/*" "com/sun/jna/sunos-amd64/*" "com/sun/jna/sunos-sparc/*" "com/sun/jna/sunos-sparcv9/*" "com/sun/jna/sunos-x86/*" "com/sun/jna/w32ce-arm/*" "com/sun/jna/win32/*" "com/sun/jna/win32-amd64/*" "com/sun/jna/win32-x86/*"
export JVM_OPENS="--add-opens java.desktop/com.apple.eawt=ALL-UNNAMED --add-opens java.desktop/com.apple.laf=ALL-UNNAMED --add-opens java.desktop/com.apple.eio=ALL-UNNAMED --add-opens java.desktop/com.apple.laf.AquaLookAndFeel=ALL-UNNAMED"
export JVM_PARAMS="-Xmx128m -Xms128m -Dfile.encoding=UTF-8 -XX:ReservedCodeCacheSize=64m -XX:+IgnoreUnrecognizedVMOptions"
export JVM_LOGING="-Dslf4j.provider=ch.qos.logback.classic.spi.LogbackServiceProvider"
export JVM_OPTS="$JVM_OPENS $JVM_PARAMS $JVM_LOGING -Djava.system.class.loader=com.mucommander.commons.file.AbstractFileClassLoader"
#cp res/package/osx/icon.icns $TMP_RES_PATH/trolCommander.icns
jpackage --input "$TMP_OUT_PATH/" \
--name trolCommander \
--app-version $VERSION \
--main-jar trolcommander-linux.jar \
--main-class com.mucommander.TrolCommander \
--resource-dir "$TMP_RES_PATH" \
--java-options "$JVM_OPTS" \
--type rpm \
--dest "${OUT_PATH}"
jpackage --input "$TMP_OUT_PATH/" \
--name trolCommander \
--app-version $VERSION \
--main-jar trolcommander-linux.jar \
--main-class com.mucommander.TrolCommander \
--resource-dir "$TMP_RES_PATH" \
--java-options "$JVM_OPTS" \
--type deb \
--dest $OUT_PATH
# --runtime-image 'jre/linux' \
#mv $OUT_PATH/trolCommander-$VERSION.dmg $OUT_PATH/trolCommander-$ARCH-$VERSION.dmg
#rm $TMP_RES_PATH/trolCommander.icns
#mv $TMP_OUT_PATH/trolcommander-lunux.jar $OUT_PATH/trolcommander-linux.jar
#rmdir $TMP_RES_PATH
#rmdir $TMP_OUT_PATH
#rmdir dist/macos
================================================
FILE: release.sh
================================================
VERSION='1.0.0'
JAVA_HOME_MAC_X64=./tools/jdk21-macos-x64/Contents/Home/bin/
JAVA_HOME_WINDOWS=./tools/jdk21-windows/bin
OUT_PATH=dist
TMP_OUT_PATH_MAC=dist/macos/jar
TMP_OUT_PATH_WIN=dist/windows/jar
TMP_RES_PATH=dist/resources
OUT_PATH=dist
#ARCH=$(uname -m)
MAIN_CLASS="com.mucommander.TrolCommander"
CLASS_LOADER="com.mucommander.commons.file.AbstractFileClassLoader"
APP_NAME="trolCommander"
set -e
./gradlew clean build
mkdir -p $TMP_OUT_PATH_MAC
mkdir -p $TMP_OUT_PATH_WIN
mkdir -p $TMP_RES_PATH
# ------- macos jar -------------
cp build/libs/trolcommander-$VERSION.jar $TMP_OUT_PATH_MAC/trolcommander-macosx.jar
zip -d $TMP_OUT_PATH_MAC/trolcommander-macosx.jar "Windows-amd64/*" "Windows-x86/*" "Linux-amd64/*" "Linux-i386/*" "win/*" "linux/*" "jtermios/freebsd/*" "jtermios/linux/*" "jtermios/solaris/*" "jtermios/windows/*"
zip -d $TMP_OUT_PATH_MAC/trolcommander-macosx.jar "com/sun/jna/freebsd-amd64/*" "com/sun/jna/freebsd-i386/*" "com/sun/jna/linux-amd64/*" "com/sun/jna/linux-arm/*" "com/sun/jna/linux-i386/*" "com/sun/jna/linux-ia64/*" "com/sun/jna/linux-ppc/*" "com/sun/jna/linux-ppc64/*" "com/sun/jna/platform/win32/*" "com/sun/jna/platform/wince/*" "com/sun/jna/sunos-amd64/*" "com/sun/jna/sunos-sparc/*" "com/sun/jna/sunos-sparcv9/*" "com/sun/jna/sunos-x86/*" "com/sun/jna/w32ce-arm/*" "com/sun/jna/win32/*" "com/sun/jna/win32-amd64/*" "com/sun/jna/win32-x86/*"
# -------- Windows jar ----------
cp build/libs/trolcommander-$VERSION.jar $TMP_OUT_PATH_WIN/trolcommander-windows.jar
zip -d $TMP_OUT_PATH_WIN/trolcommander-windows.jar "Mac-arm64/*" "Mac-x86_64/*" "jtermios/Mac-x86_64/*" "jtermios/solaris/*"
zip -d $TMP_OUT_PATH_WIN/trolcommander-windows.jar "jtermios/freebsd/*" "com/sun/jna/freebsd-amd64/*" "com/sun/jna/freebsd-i386/*" "com/sun/jna/platform/wince/*" "com/sun/jna/sunos-amd64/*" "com/sun/jna/sunos-sparc/*" "com/sun/jna/sunos-sparcv9/*" "com/sun/jna/sunos-x86/*" "com/sun/jna/w32ce-arm/*"
zip -d $TMP_OUT_PATH_WIN/trolcommander-windows.jar "Linux-amd64/*" "Linux-i386/*" "linux/*" "jtermios/freebsd/*" "jtermios/linux/*" "jtermios/solaris/*"
zip -d $TMP_OUT_PATH_WIN/trolcommander-windows.jar "com/sun/jna/linux-amd64/*" "com/sun/jna/linux-arm/*" "com/sun/jna/linux-i386/*" "com/sun/jna/linux-ia64/*" "com/sun/jna/linux-ppc/*" "com/sun/jna/linux-ppc64/*" "com/sun/jna/platform/wince/*" "com/sun/jna/sunos-amd64/*" "com/sun/jna/sunos-sparc/*" "com/sun/jna/sunos-sparcv9/*" "com/sun/jna/sunos-x86/*"
JVM_OPENS="--add-opens java.desktop/javax.swing.plaf.basic=ALL-UNNAMED\
--add-opens java.base/java.io=ALL-UNNAMED\
--add-opens java.base/java.net=ALL-UNNAMED\
--add-opens java.transaction.xa/javax.transaction.xa=ALL-UNNAMED\
--add-opens java.management/javax.management=ALL-UNNAMED\
--add-opens java.rmi/java.rmi=ALL-UNNAMED\
--add-opens java.security.jgss/org.ietf.jgss=ALL-UNNAMED\
--add-opens java.sql/java.sql=ALL-UNNAMED\
--add-opens java.base/sun.net.www.protocol.http=ALL-UNNAMED\
--add-opens java.base/sun.net.www.protocol.https=ALL-UNNAMED\
--add-opens java.compiler/javax.lang.model.element=ALL-UNNAMED"
JVM_OPENS_APPLE="--add-opens java.desktop/com.apple.eawt=ALL-UNNAMED\
--add-opens java.desktop/com.apple.laf=ALL-UNNAMED\
--add-opens java.desktop/com.apple.eio=ALL-UNNAMED\
--add-opens java.desktop/com.apple.laf.AquaLookAndFeel=ALL-UNNAMED"
JVM_PARAMS="-Xmx128m -Xms128m -Dfile.encoding=UTF-8 -XX:ReservedCodeCacheSize=64m -XX:+IgnoreUnrecognizedVMOptions"
JVM_LOGING="-Dslf4j.provider=ch.qos.logback.classic.spi.LogbackServiceProvider"
JVM_OPTS="$JVM_OPENS $JVM_OPENS_APPLE $JVM_PARAMS $JVM_LOGING -Djava.system.class.loader=$CLASS_LOADER -Dlog.stdout=false"
# ------------ shadow
cp build/distributions/trolCommander-$VERSION.zip $OUT_PATH/
# ---------- macos -------------------
cp res/package/osx/icon.icns $TMP_RES_PATH/trolCommander.icns
ARCH="arm64"
jpackage --input "$TMP_OUT_PATH_MAC/" \
--name $APP_NAME \
--app-version $VERSION \
--main-jar trolcommander-macosx.jar \
--main-class $MAIN_CLASS \
--resource-dir "$TMP_RES_PATH" \
--java-options "$JVM_OPTS" \
--type app-image \
--dest "${OUT_PATH}/macos-$ARCH"
jpackage --input "$TMP_OUT_PATH_MAC/" \
--name $APP_NAME \
--app-version $VERSION \
--main-jar trolcommander-macosx.jar \
--main-class $MAIN_CLASS \
--resource-dir "$TMP_RES_PATH" \
--java-options "$JVM_OPTS" \
--type dmg \
--dest $OUT_PATH
mv $OUT_PATH/trolCommander-$VERSION.dmg $OUT_PATH/trolCommander-$ARCH-$VERSION.dmg
ARCH="x64"
$JAVA_HOME_MAC_X64/jpackage --input "$TMP_OUT_PATH_MAC/" \
--name $APP_NAME \
--app-version $VERSION \
--main-jar trolcommander-macosx.jar \
--main-class $MAIN_CLASS \
--resource-dir "$TMP_RES_PATH" \
--java-options "$JVM_OPTS" \
--type app-image \
--dest "${OUT_PATH}/macos-$ARCH"
$JAVA_HOME_MAC_X64/jpackage --input "$TMP_OUT_PATH_MAC/" \
--name $APP_NAME \
--app-version $VERSION \
--main-jar trolcommander-macosx.jar \
--main-class $MAIN_CLASS \
--resource-dir "$TMP_RES_PATH" \
--java-options "$JVM_OPTS" \
--type dmg \
--dest $OUT_PATH
mv $OUT_PATH/trolCommander-$VERSION.dmg $OUT_PATH/trolCommander-$ARCH-$VERSION.dmg
rm $TMP_RES_PATH/trolCommander.icns
mv $TMP_OUT_PATH_MAC/trolcommander-macosx.jar $OUT_PATH/trolcommander-macosx.jar
rmdir $TMP_RES_PATH
rmdir $TMP_OUT_PATH_MAC
rmdir dist/macos
# ----------- windows
JVM_OPTS="$JVM_OPENS $JVM_PARAMS $JVM_LOGING -Djava.system.class.loader=$CLASS_LOADER"
wine $JAVA_HOME_WINDOWS/jpackage.exe \
--type app-image \
--input "$TMP_OUT_PATH_WIN/" \
--name $APP_NAME \
--app-version $VERSION \
--main-jar trolcommander-windows.jar \
--main-class $MAIN_CLASS \
--java-options "$JVM_OPTS" \
--resource-dir "package/windows" \
--dest ${OUT_PATH}
cd $OUT_PATH
zip -rm trolCommander-windows-${VERSION}.zip trolCommander
cd ..
mv $TMP_OUT_PATH_WIN/trolcommander-windows.jar $OUT_PATH/trolcommander-windows.jar
rmdir $TMP_OUT_PATH_WIN
rmdir dist/windows
================================================
FILE: res/jar/services/services/org.apache.hadoop.crypto.key.KeyProviderFactory
================================================
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
org.apache.hadoop.crypto.key.JavaKeyStoreProvider$Factory
org.apache.hadoop.crypto.key.UserProvider$Factory
org.apache.hadoop.crypto.key.kms.KMSClientProvider$Factory
================================================
FILE: res/jar/services/services/org.apache.hadoop.fs.FileSystem
================================================
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
org.apache.hadoop.fs.LocalFileSystem
org.apache.hadoop.fs.viewfs.ViewFileSystem
org.apache.hadoop.fs.ftp.FTPFileSystem
org.apache.hadoop.fs.HarFileSystem
org.apache.hadoop.hdfs.DistributedFileSystem
org.apache.hadoop.hdfs.web.HftpFileSystem
org.apache.hadoop.hdfs.web.HsftpFileSystem
org.apache.hadoop.hdfs.web.WebHdfsFileSystem
org.apache.hadoop.hdfs.web.SWebHdfsFileSystem
================================================
FILE: res/jar/services/services/org.apache.hadoop.io.compress.CompressionCodec
================================================
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
org.apache.hadoop.io.compress.BZip2Codec
org.apache.hadoop.io.compress.DefaultCodec
org.apache.hadoop.io.compress.DeflateCodec
org.apache.hadoop.io.compress.GzipCodec
org.apache.hadoop.io.compress.Lz4Codec
org.apache.hadoop.io.compress.SnappyCodec
================================================
FILE: res/jar/services/services/org.apache.hadoop.security.SecurityInfo
================================================
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
org.apache.hadoop.security.AnnotatedSecurityInfo
================================================
FILE: res/jar/services/services/org.apache.hadoop.security.alias.CredentialProviderFactory
================================================
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
org.apache.hadoop.security.alias.JavaKeyStoreProvider$Factory
org.apache.hadoop.security.alias.UserProvider$Factory
================================================
FILE: res/jar/services/services/org.apache.hadoop.security.token.TokenIdentifier
================================================
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
org.apache.hadoop.hdfs.security.token.block.BlockTokenIdentifier
org.apache.hadoop.hdfs.security.token.delegation.DelegationTokenIdentifier
org.apache.hadoop.hdfs.security.token.delegation.DelegationTokenIdentifier$WebHdfsDelegationTokenIdentifier
org.apache.hadoop.hdfs.security.token.delegation.DelegationTokenIdentifier$SWebHdfsDelegationTokenIdentifier
================================================
FILE: res/jar/services/services/org.apache.hadoop.security.token.TokenRenewer
================================================
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
org.apache.hadoop.hdfs.DFSClient$Renewer
org.apache.hadoop.hdfs.security.token.block.BlockTokenIdentifier$Renewer
org.apache.hadoop.hdfs.web.TokenAspect$TokenManager
================================================
FILE: res/jar/servicesCOMMON/org.apache.hadoop.crypto.key.KeyProviderFactory
================================================
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
org.apache.hadoop.crypto.key.JavaKeyStoreProvider$Factory
org.apache.hadoop.crypto.key.UserProvider$Factory
org.apache.hadoop.crypto.key.kms.KMSClientProvider$Factory
================================================
FILE: res/jar/servicesCOMMON/org.apache.hadoop.fs.FileSystem
================================================
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
org.apache.hadoop.fs.LocalFileSystem
org.apache.hadoop.fs.viewfs.ViewFileSystem
org.apache.hadoop.fs.ftp.FTPFileSystem
org.apache.hadoop.fs.HarFileSystem
================================================
FILE: res/jar/servicesCOMMON/org.apache.hadoop.io.compress.CompressionCodec
================================================
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
org.apache.hadoop.io.compress.BZip2Codec
org.apache.hadoop.io.compress.DefaultCodec
org.apache.hadoop.io.compress.DeflateCodec
org.apache.hadoop.io.compress.GzipCodec
org.apache.hadoop.io.compress.Lz4Codec
org.apache.hadoop.io.compress.SnappyCodec
================================================
FILE: res/jar/servicesCOMMON/org.apache.hadoop.security.SecurityInfo
================================================
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
org.apache.hadoop.security.AnnotatedSecurityInfo
================================================
FILE: res/jar/servicesCOMMON/org.apache.hadoop.security.alias.CredentialProviderFactory
================================================
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
org.apache.hadoop.security.alias.JavaKeyStoreProvider$Factory
org.apache.hadoop.security.alias.UserProvider$Factory
================================================
FILE: res/jar/servicesHDFS/org.apache.hadoop.fs.FileSystem
================================================
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
org.apache.hadoop.hdfs.DistributedFileSystem
org.apache.hadoop.hdfs.web.HftpFileSystem
org.apache.hadoop.hdfs.web.HsftpFileSystem
org.apache.hadoop.hdfs.web.WebHdfsFileSystem
org.apache.hadoop.hdfs.web.SWebHdfsFileSystem
================================================
FILE: res/jar/servicesHDFS/org.apache.hadoop.security.token.TokenIdentifier
================================================
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
org.apache.hadoop.hdfs.security.token.block.BlockTokenIdentifier
org.apache.hadoop.hdfs.security.token.delegation.DelegationTokenIdentifier
org.apache.hadoop.hdfs.security.token.delegation.DelegationTokenIdentifier$WebHdfsDelegationTokenIdentifier
org.apache.hadoop.hdfs.security.token.delegation.DelegationTokenIdentifier$SWebHdfsDelegationTokenIdentifier
================================================
FILE: res/jar/servicesHDFS/org.apache.hadoop.security.token.TokenRenewer
================================================
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
org.apache.hadoop.hdfs.DFSClient$Renewer
org.apache.hadoop.hdfs.security.token.block.BlockTokenIdentifier$Renewer
org.apache.hadoop.hdfs.web.TokenAspect$TokenManager
================================================
FILE: res/package/unix/deb/control
================================================
Package: mucommander
Version: @VERSION@
Section: utils
Priority: optional
Recommends: java-virtual-machine, java2-runtime
Suggests: sun-java6-jre
Architecture: all
Installed-Size: @SIZE@
Maintainer: Oleg Trifonov <admin@trolsoft.ru>
Description: a lightweight, cross-platform file manager
trolCommander is a lightweight, cross-platform file manager running on any operating system with Java support.
It features a dual-pane interface in the tradition of Norton Commander and other commanders, allowing to quickly
and efficiently manage your files.
.
trolCommander comes with built-in support for a variety of file protocols (Local, FTP, SFTP, SMB, NFS, HTTP) and
archive formats (ZIP, TAR, GZIP, BZIP2, ISO, NRG, AR, DEB, LST, 7Z, RAR) and is available in 18 languages.
.
Java 1.7 or higher is required to run trolCommander.
.
trolCommander can be found at http://www.trolsoft.ru/trolcommander
================================================
FILE: res/package/unix/deb/postinst
================================================
#! /bin/sh
ln -s /usr/share/trolcommander/trolcommander.sh /usr/bin/trolcommander
================================================
FILE: res/package/unix/deb/postrm
================================================
#! /bin/sh
if [ -h /usr/bin/trolcommander ] ; then
rm /usr/bin/trolcommander
fi
================================================
FILE: res/package/unix/trolcommander.desktop
================================================
[Desktop Entry]
Name=muCommander
Comment=A lightweight, cross-platform file manager
Exec=mucommander
Icon=mucommander
Terminal=false
Type=Application
Categories=Application;FileManager;Utility;
StartupNotify=true
================================================
FILE: res/package/unix/trolcommander.sh
================================================
#! /bin/sh
TROLCOMMANDER_ARGS="@ARGS@"
JAVA_ARGS="@JAVA_ARGS@"
# Locates the java executable.
if [ "$JAVA_HOME" != "" ] ; then
JAVA=$JAVA_HOME/bin/java
else
JAVACMD=`which java 2> /dev/null `
if [ -z "$JAVACMD" ] ; then
echo "Error: cannot find java VM."
exit 1
else
JAVA=java
fi
fi
# Resolve the path to the trolcommander.jar located in the same directory as this script
if [ -h $0 ]
then
# This script has been invoked from a symlink, resolve the link's target (i.e. the path to this script)
TROLCOMMANDER_SH=`ls -l "$0"`
TROLCOMMANDER_SH=${TROLCOMMANDER_SH#*-> }
else
TROLCOMMANDER_SH=$0
fi
CURRENT_DIR=`dirname "$TROLCOMMANDER_SH"`
TROLCOMMANDER_JAR=$CURRENT_DIR/trolcommander.jar
OPEN_ARGS="--add-opens java.base/java.io=ALL-UNNAMED --add-opens java.desktop/sun.awt.X11=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.desktop/javax.swing.plaf.basic=ALL-UNNAMED --add-opens java.transaction.xa/javax.transaction.xa=ALL-UNNAMED --add-opens java.management/javax.management=ALL-UNNAMED --add-opens java.rmi/java.rmi=ALL-UNNAMED --add-opens java.security.jgss/org.ietf.jgss=ALL-UNNAMED --add-opens java.sql/java.sql=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.http=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.https=ALL-UNNAMED --add-opens jdk.httpserver/com.sun.net.httpserver=ALL-UNNAMED --add-opens java.compiler/javax.lang.model.element=ALL-UNNAMED"
if [ ! -f $TROLCOMMANDER_JAR ]
then
echo "Error: cannot find file trolcommander.jar in directory $CURRENT_DIR"
exit 1
fi
# Starts trolcommander.
$JAVA $JAVA_ARGS $OPEN_ARGS -DGNOME_DESKTOP_SESSION_ID=$GNOME_DESKTOP_SESSION_ID -DKDE_FULL_SESSION=$KDE_FULL_SESSION -DKDE_SESSION_VERSION=$KDE_SESSION_VERSION -jar $TROLCOMMANDER_JAR $TROLCOMMANDER_ARGS $@
================================================
FILE: res/package/version.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<mucommander>
<latest_version>@VERSION@</latest_version>
<release_date>@DATE@</release_date>
<download_url>@DOWNLOAD_URL@</download_url>
<jar_url>@JAR_URL@</jar_url>
</mucommander>
================================================
FILE: res/package/windows/trolcommander.nsi
================================================
; -*- coding: utf-8 -*-
; trolcommander install script
;
; Include Modern UI
!include MUI2.nsh
; The name of the installer
Name "trolCommander @MU_VERSION@"
; The file to write
OutFile @MU_OUT@
; Installer icon
!define MUI_ICON @MU_ICON@
!define MUI_UNICON @MU_ICON@
; The default installation directory
InstallDir $PROGRAMFILES\trolCommander
; Registry key to check for directory (so if you install again, it will
; overwrite the old one automatically)
InstallDirRegKey HKLM SOFTWARE\trolCommander "Install_Dir"
; Specifies the requested execution level for Windows Vista.
; Necessary for correct uninstallation of Start menu shortcuts.
RequestExecutionLevel admin
; Pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!define MUI_COMPONENTSPAGE_NODESC
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!define MUI_FINISHPAGE_RUN "$INSTDIR\trolCommander.exe"
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\readme.txt"
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
; Languages
; Installer should support same languages as trolCommander.
!insertmacro MUI_LANGUAGE "English" ; first language is the default language
!insertmacro MUI_LANGUAGE "French"
!insertmacro MUI_LANGUAGE "Spanish"
!insertmacro MUI_LANGUAGE "SpanishInternational"
!insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "Czech"
!insertmacro MUI_LANGUAGE "SimpChinese"
!insertmacro MUI_LANGUAGE "TradChinese"
!insertmacro MUI_LANGUAGE "Polish"
!insertmacro MUI_LANGUAGE "Hungarian"
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "Slovenian"
!insertmacro MUI_LANGUAGE "Romanian"
!insertmacro MUI_LANGUAGE "Italian"
!insertmacro MUI_LANGUAGE "Korean"
!insertmacro MUI_LANGUAGE "Portuguese"
!insertmacro MUI_LANGUAGE "PortugueseBR"
!insertmacro MUI_LANGUAGE "Dutch"
!insertmacro MUI_LANGUAGE "Slovak"
!insertmacro MUI_LANGUAGE "Japanese"
!insertmacro MUI_LANGUAGE "Swedish"
!insertmacro MUI_LANGUAGE "Danish"
; The stuff to install
Section "trolCommander @MU_VERSION@ (required)"
; Read only section. It will always be set to install.
SectionIn RO
; Set output path to the installation directory.
SetOutPath $INSTDIR
; Copy trolCommander files
File /oname=trolCommander.exe @MU_EXE@
File /oname=trolcommander.jar @MU_JAR@
File /oname=readme.txt @MU_README@
File /oname=license.txt @MU_LICENSE@
; Write the installation path into the registry
WriteRegStr HKLM SOFTWARE\trolCommander "Install_Dir" "$INSTDIR"
; Write the uninstall keys for Windows
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\trolCommander" "DisplayName" "trolCommander (remove only)"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\trolCommander" "UninstallString" '"$INSTDIR\uninstall.exe"'
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\trolCommander" "NoModify" 1
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\trolCommander" "NoRepair" 1
WriteUninstaller "uninstall.exe"
; Create Start Menu directory and shortcuts
CreateDirectory "$SMPROGRAMS\trolCommander"
CreateShortCut "$SMPROGRAMS\trolCommander\trolCommander.lnk" "$INSTDIR\trolCommander.exe" "" "" 0 SW_SHOWMINIMIZED
CreateShortCut "$SMPROGRAMS\trolCommander\Read Me.lnk" "$INSTDIR\readme.txt" "" "" 0
CreateShortCut "$SMPROGRAMS\trolCommander\License.lnk" "$INSTDIR\license.txt" "" "" 0
CreateShortCut "$SMPROGRAMS\trolCommander\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "" 0
SectionEnd
; Quick launch shortcut (optional section)
Section "Quick Launch shortcut"
CreateShortCut "$QUICKLAUNCH\trolCommander.lnk" "$INSTDIR\trolCommander.exe" "" "" 0 SW_SHOWMINIMIZED
SectionEnd
; Desktop shortcut (optional section)
Section "Desktop shortcut"
CreateShortCut "$DESKTOP\trolCommander.lnk" "$INSTDIR\trolCommander.exe" "" "" 0 SW_SHOWMINIMIZED
SectionEnd
; Special uninstall section.
Section "Uninstall"
; remove registry keys
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\trolCommander"
DeleteRegKey HKLM SOFTWARE\trolCommander
; remove files
Delete $INSTDIR\trolCommander.exe
Delete $INSTDIR\trolcommander.jar
Delete $INSTDIR\trolCommander.lnk
Delete $INSTDIR\readme.txt
Delete $INSTDIR\license.txt
; MUST REMOVE UNINSTALLER, too
Delete $INSTDIR\uninstall.exe
; remove shortcuts, if any.
Delete "$SMPROGRAMS\trolCommander\*.*"
Delete "$QUICKLAUNCH\trolCommander.lnk"
Delete "$DESKTOP\trolCommander.lnk"
; remove directories used.
RMDir "$SMPROGRAMS\trolCommander"
RMDir "$INSTDIR"
SectionEnd
; eof
================================================
FILE: settings.gradle
================================================
rootProject.name = 'trolcommander'
// Включение локальных модулей (если нужно)
// include ':libs:local-lib1'
// project(':libs:local-lib1').projectDir = file('lib/local-lib1')
================================================
FILE: src/main/java/com/ibm/icu/text/CharsetDetector.java
================================================
/*
*******************************************************************************
* Copyright (C) 2005-2013, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
package com.ibm.icu.text;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* <code>CharsetDetector</code> provides a facility for detecting the
* charset or encoding of character data in an unknown format.
* The input data can either be from an input stream or an array of bytes.
* The result of the detection operation is a list of possibly matching
* charsets, or, for simple use, you can just ask for a Java Reader that
* will will work over the input data.
* <p>
* Character set detection is at best an imprecise operation. The detection
* process will attempt to identify the charset that best matches the characteristics
* of the byte data, but the process is partly statistical in nature, and
* the results can not be guaranteed to always be correct.
* <p>
* For best accuracy in charset detection, the input data should be primarily
* in a single language, and a minimum of a few hundred bytes worth of plain text
* in the language are needed. The detection process will attempt to
* ignore html or xml style markup that could otherwise obscure the content.
* stable ICU 3.4
*/
public class CharsetDetector {
// Question: Should we have getters corresponding to the setters for input text
// and declared encoding?
// A thought: If we were to create our own type of Java Reader, we could defer
// figuring out an actual charset for data that starts out with too much English
// only ASCII until the user actually read through to something that didn't look
// like 7 bit English. If nothing else ever appeared, we would never need to
// actually choose the "real" charset. All assuming that the application just
// wants the data, and doesn't care about a char set name.
/**
* Constructor
*
*/
public CharsetDetector() {
}
/**
* Set the declared encoding for charset detection.
* The declared encoding of an input text is an encoding obtained
* from an http header or xml declaration or similar source that
* can be provided as additional information to the charset detector.
* A match between a declared encoding and a possible detected encoding
* will raise the quality of that detected encoding by a small delta,
* and will also appear as a "reason" for the match.
* <p>
* A declared encoding that is incompatible with the input data being
* analyzed will not be added to the list of possible encodings.
*
* @param encoding The declared encoding
* @return this
*
*/
public CharsetDetector setDeclaredEncoding(String encoding) {
fDeclaredEncoding = encoding;
return this;
}
/**
* Set the input text (byte) data whose charset is to be detected.
*
* @param in the input text of unknown encoding
*
* @return This CharsetDetector
*
*/
public CharsetDetector setText(byte [] in) {
fRawInput = in;
fRawLength = in.length;
return this;
}
private static final int kBufSize = 8000;
/**
* Set the input text (byte) data whose charset is to be detected.
* <p>
* The input stream that supplies the character data must have markSupported()
* == true; the charset detection process will read a small amount of data,
* then return the stream to its original position via
* the InputStream.reset() operation. The exact amount that will
* be read depends on the characteristics of the data itself.
*
* @param in the input text of unknown encoding
*
* @return This CharsetDetector
*
* @throws IOException if an I/O error occurs.
*
*/
public CharsetDetector setText(InputStream in) throws IOException {
fInputStream = in;
fInputStream.mark(kBufSize);
fRawInput = new byte[kBufSize]; // Always make a new buffer because the
// previous one may have come from the caller,
// in which case we can't touch it.
fRawLength = 0;
int remainingLength = kBufSize;
while (remainingLength > 0 ) {
// read() may give data in smallish chunks, esp. for remote sources. Hence, this loop.
int bytesRead = fInputStream.read(fRawInput, fRawLength, remainingLength);
if (bytesRead <= 0) {
break;
}
fRawLength += bytesRead;
remainingLength -= bytesRead;
}
fInputStream.reset();
return this;
}
/**
* Return the charset that best matches the supplied input data.
* Note though, that because the detection
* only looks at the start of the input data,
* there is a possibility that the returned charset will fail to handle
* the full set of input data.
* <p>
* Raise an exception if
* <ul>
* <li>no charset appears to match the data.</li>
* <li>no input text has been provided</li>
* </ul>
*
* @return a CharsetMatch object representing the best matching charset, or
* <code>null</code> if there are no matches.
*
*/
public CharsetMatch detect() {
// TODO: A better implementation would be to copy the detect loop from
// detectAll(), and cut it short as soon as a match with a high confidence
// is found. This is something to be done later, after things are otherwise
// working.
CharsetMatch[] matches = detectAll();
if (matches == null || matches.length == 0) {
return null;
}
return matches[0];
}
/**
* Return an array of all charsets that appear to be plausible
* matches with the input data. The array is ordered with the
* best quality match first.
* <p>
* Raise an exception if
* <ul>
* <li>no charsets appear to match the input data.</li>
* <li>no input text has been provided</li>
* </ul>
*
* @return An array of CharsetMatch objects representing possibly matching charsets.
*
*/
public CharsetMatch[] detectAll() {
ArrayList<CharsetMatch> matches = new ArrayList<>();
MungeInput(); // Strip html markup, collect byte stats.
// Iterate over all possible charsets, remember all that
// give a match quality > 0.
for (int i = 0; i < ALL_CS_RECOGNIZERS.size(); i++) {
CSRecognizerInfo rcInfo = ALL_CS_RECOGNIZERS.get(i);
boolean active = (fEnabledRecognizers != null) ? fEnabledRecognizers[i] : rcInfo.isDefaultEnabled;
if (active) {
CharsetMatch m = rcInfo.recognizer.match(this);
if (m != null) {
matches.add(m);
}
}
}
Collections.sort(matches); // CharsetMatch compares on confidence
Collections.reverse(matches); // Put best match first.
CharsetMatch [] resultArray = new CharsetMatch[matches.size()];
resultArray = matches.toArray(resultArray);
return resultArray;
}
/**
* Autodetect the charset of an inputStream, and return a Java Reader
* to access the converted input data.
* <p>
* This is a convenience method that is equivalent to
* <code>this.setDeclaredEncoding(declaredEncoding).setText(in).detect().getReader();</code>
* <p>
* For the input stream that supplies the character data, markSupported()
* must be true; the charset detection will read a small amount of data,
* then return the stream to its original position via
* the InputStream.reset() operation. The exact amount that will
* be read depends on the characteristics of the data itself.
* <p>
* Raise an exception if no charsets appear to match the input data.
*
* @param in The source of the byte data in the unknown charset.
*
* @param declaredEncoding A declared encoding for the data, if available,
* or null or an empty string if none is available.
*
* @return Reader to access the converted input data
*
*/
public Reader getReader(InputStream in, String declaredEncoding) {
fDeclaredEncoding = declaredEncoding;
try {
setText(in);
CharsetMatch match = detect();
if (match == null) {
return null;
}
return match.getReader();
} catch (IOException e) {
return null;
}
}
/**
* Autodetect the charset of an inputStream, and return a String
* containing the converted input data.
* <p>
* This is a convenience method that is equivalent to
* <code>this.setDeclaredEncoding(declaredEncoding).setText(in).detect().getString();</code>
* <p>
* Raise an exception if no charsets appear to match the input data.
*
* @param in The source of the byte data in the unknown charset.
*
* @param declaredEncoding A declared encoding for the data, if available,
* or null or an empty string if none is available.
*
* @return a String containing the converted input data
*
*/
public String getString(byte[] in, String declaredEncoding) {
fDeclaredEncoding = declaredEncoding;
try {
setText(in);
CharsetMatch match = detect();
if (match == null) {
return null;
}
return match.getString(-1);
} catch (IOException e) {
return null;
}
}
/**
* Get the names of all charsets supported by <code>CharsetDetector</code> class.
* <p>
* <b>Note:</b> Multiple different charset encodings in a same family may use
* a single shared name in this implementation. For example, this method returns
* an array including "ISO-8859-1" (ISO Latin 1), but not including "windows-1252"
* (Windows Latin 1). However, actual detection result could be "windows-1252"
* when the input data matches Latin 1 code points with any points only available
* in "windows-1252".
*
* @return an array of the names of all charsets supported by
* <code>CharsetDetector</code> class.
*
*/
public static String[] getAllDetectableCharsets() {
String[] allCharsetNames = new String[ALL_CS_RECOGNIZERS.size()];
for (int i = 0; i < allCharsetNames.length; i++) {
allCharsetNames[i] = ALL_CS_RECOGNIZERS.get(i).recognizer.getName();
}
return allCharsetNames;
}
/**
* Test whether input filtering is enabled.
*
* @return <code>true</code> if input text will be filtered.
*
* @see #enableInputFilter
*
*/
public boolean inputFilterEnabled() {
return fStripTags;
}
/**
* Enable filtering of input text. If filtering is enabled,
* text within angle brackets ("<" and ">") will be removed
* before detection.
*
* @param filter <code>true</code> to enable input text filtering.
*
* @return The previous setting.
*
*/
public boolean enableInputFilter(boolean filter) {
boolean previous = fStripTags;
fStripTags = filter;
return previous;
}
/*
* MungeInput - after getting a set of raw input data to be analyzed, preprocess
* it by removing what appears to be html markup.
*/
private void MungeInput() {
boolean inMarkup = false;
int openTags = 0;
int badTags = 0;
//
// html / xml markup stripping.
// quick and dirty, not 100% accurate, but hopefully good enough, statistically.
// discard everything within < brackets >
// Count how many total '<' and illegal (nested) '<' occur, so we can make some
// guess whether the input was actually marked up at all.
int srci;
if (fStripTags) {
int dsti = 0;
for (srci = 0; srci < fRawLength && dsti < fInputBytes.length; srci++) {
byte b = fRawInput[srci];
if (b == (byte)'<') {
if (inMarkup) {
badTags++;
}
inMarkup = true;
openTags++;
}
if (!inMarkup) {
fInputBytes[dsti++] = b;
}
if (b == (byte)'>') {
inMarkup = false;
}
}
fInputLen = dsti;
}
// If it looks like this input wasn't marked up, or if it looks like it's
// essentially nothing but markup abandon the markup stripping.
// Detection will have to work on the unstripped input.
if (openTags < 5 || openTags/5 < badTags || (fInputLen < 100 && fRawLength>600)) {
int limit = fRawLength;
if (limit > kBufSize) {
limit = kBufSize;
}
for (srci=0; srci<limit; srci++) {
fInputBytes[srci] = fRawInput[srci];
}
fInputLen = srci;
}
// Tally up the byte occurrence statistics.
// These are available for use by the various detectors.
Arrays.fill(fByteStats, (short)0);
for (srci=0; srci<fInputLen; srci++) {
int val = fInputBytes[srci] & 0x00ff;
fByteStats[val]++;
}
fC1Bytes = false;
for (int i = 0x80; i <= 0x9F; i += 1) {
if (fByteStats[i] != 0) {
fC1Bytes = true;
break;
}
}
}
/*
* The following items are accessed by individual CharsetRecognizers during the recognition process
*/
byte[] fInputBytes = // The text to be checked. Markup will have been
new byte[kBufSize]; // removed if appropriate.
int fInputLen; // Length of the byte data in fInputBytes.
short[] fByteStats = // byte frequency statistics for the input text.
new short[256]; // Value is percent, not absolute.
// Value is rounded up, so zero really means zero occurences.
boolean fC1Bytes = // True if any bytes in the range 0x80 - 0x9F are in the input;
false;
String fDeclaredEncoding;
byte[] fRawInput; // Original, untouched input bytes.
// If user gave us a byte array, this is it.
// If user gave us a stream, it's read to a
// buffer here.
int fRawLength; // Length of data in fRawInput array.
InputStream fInputStream; // User's input stream, or null if the user
// gave us a byte array.
// Stuff private to CharsetDetector
private boolean fStripTags = false; // If true, setText() will strip tags from input text.
private boolean[] fEnabledRecognizers; // If not null, active set of charset recognizers had
// been changed from the default. The array index is
// corresponding to ALL_RECOGNIZER. See setDetectableCharset().
private static class CSRecognizerInfo {
CharsetRecognizer recognizer;
boolean isDefaultEnabled;
CSRecognizerInfo(CharsetRecognizer recognizer, boolean isDefaultEnabled) {
this.recognizer = recognizer;
this.isDefaultEnabled = isDefaultEnabled;
}
}
/*
* List of recognizers for all charsets known to the implementation.
*/
private static final List<CSRecognizerInfo> ALL_CS_RECOGNIZERS = List.of(
new CSRecognizerInfo(new CharsetRecog_UTF8(), true),
new CSRecognizerInfo(new CharsetRecog_Unicode.CharsetRecog_UTF_16_BE(), true),
new CSRecognizerInfo(new CharsetRecog_Unicode.CharsetRecog_UTF_16_LE(), true),
new CSRecognizerInfo(new CharsetRecog_Unicode.CharsetRecog_UTF_32_BE(), true),
new CSRecognizerInfo(new CharsetRecog_Unicode.CharsetRecog_UTF_32_LE(), true),
new CSRecognizerInfo(new CharsetRecog_mbcs.CharsetRecog_sjis(), true),
new CSRecognizerInfo(new CharsetRecog_2022.CharsetRecog_2022JP(), true),
new CSRecognizerInfo(new CharsetRecog_2022.CharsetRecog_2022CN(), true),
new CSRecognizerInfo(new CharsetRecog_2022.CharsetRecog_2022KR(), true),
new CSRecognizerInfo(new CharsetRecog_mbcs.CharsetRecog_euc.CharsetRecog_gb_18030(), true),
new CSRecognizerInfo(new CharsetRecog_mbcs.CharsetRecog_euc.CharsetRecog_euc_jp(), true),
new CSRecognizerInfo(new CharsetRecog_mbcs.CharsetRecog_euc.CharsetRecog_euc_kr(), true),
new CSRecognizerInfo(new CharsetRecog_mbcs.CharsetRecog_big5(), true),
new CSRecognizerInfo(new CharsetRecog_sbcs.CharsetRecog_8859_1(), true),
new CSRecognizerInfo(new CharsetRecog_sbcs.CharsetRecog_8859_2(), true),
new CSRecognizerInfo(new CharsetRecog_sbcs.CharsetRecog_8859_5_ru(), true),
new CSRecognizerInfo(new CharsetRecog_sbcs.CharsetRecog_8859_6_ar(), true),
new CSRecognizerInfo(new CharsetRecog_sbcs.CharsetRecog_8859_7_el(), true),
new CSRecognizerInfo(new CharsetRecog_sbcs.CharsetRecog_8859_8_I_he(), true),
new CSRecognizerInfo(new CharsetRecog_sbcs.CharsetRecog_8859_8_he(), true),
new CSRecognizerInfo(new CharsetRecog_sbcs.CharsetRecog_windows_1251(), true),
new CSRecognizerInfo(new CharsetRecog_sbcs.CharsetRecog_windows_1256(), true),
new CSRecognizerInfo(new CharsetRecog_sbcs.CharsetRecog_KOI8_R(), true),
new CSRecognizerInfo(new CharsetRecog_sbcs.CharsetRecog_8859_9_tr(), true),
// IBM 420/424 recognizers are disabled by default
new CSRecognizerInfo(new CharsetRecog_sbcs.CharsetRecog_IBM424_he_rtl(), false),
new CSRecognizerInfo(new CharsetRecog_sbcs.CharsetRecog_IBM424_he_ltr(), false),
new CSRecognizerInfo(new CharsetRecog_sbcs.CharsetRecog_IBM420_ar_rtl(), false),
new CSRecognizerInfo(new CharsetRecog_sbcs.CharsetRecog_IBM420_ar_ltr(), false),
new CSRecognizerInfo(new CharsetRecog_sbcs.CharsetRecog_cp866(), true)
);
/**
* Get the names of charsets that can be recognized by this CharsetDetector instance.
*
* @return an array of the names of charsets that can be recognized by this CharsetDetector
* instance.
* internal
* @deprecated This API is ICU internal only.
*/
public String[] getDetectableCharsets() {
List<String> csnames = new ArrayList<>(ALL_CS_RECOGNIZERS.size());
for (int i = 0; i < ALL_CS_RECOGNIZERS.size(); i++) {
CSRecognizerInfo rcinfo = ALL_CS_RECOGNIZERS.get(i);
boolean active = (fEnabledRecognizers == null) ? rcinfo.isDefaultEnabled : fEnabledRecognizers[i];
if (active) {
csnames.add(rcinfo.recognizer.getName());
}
}
return csnames.toArray(new String[0]);
}
/**
* Enable or disable individual charset encoding.
* A name of charset encoding must be included in the names returned by
* {@link #getAllDetectableCharsets()}.
*
* @param encoding the name of charset encoding.
* @param enabled <code>true</code> to enable, or <code>false</code> to disable the
* charset encoding.
* @return A reference to this <code>CharsetDetector</code>.
* @throws IllegalArgumentException when the name of charset encoding is
* not supported.
* internal
* @deprecated This API is ICU internal only.
*/
public CharsetDetector setDetectableCharset(String encoding, boolean enabled) {
int modIdx = -1;
boolean isDefaultVal = false;
for (int i = 0; i < ALL_CS_RECOGNIZERS.size(); i++) {
CSRecognizerInfo csrinfo = ALL_CS_RECOGNIZERS.get(i);
if (csrinfo.recognizer.getName().equals(encoding)) {
modIdx = i;
isDefaultVal = (csrinfo.isDefaultEnabled == enabled);
break;
}
}
if (modIdx < 0) {
// No matching encoding found
throw new IllegalArgumentException("Invalid encoding: " + "\"" + encoding + "\"");
}
if (fEnabledRecognizers == null && !isDefaultVal) {
// create an array storing the non default setting
fEnabledRecognizers = new boolean[ALL_CS_RECOGNIZERS.size()];
// Initialize the array with default info
for (int i = 0; i < ALL_CS_RECOGNIZERS.size(); i++) {
fEnabledRecognizers[i] = ALL_CS_RECOGNIZERS.get(i).isDefaultEnabled;
}
}
if (fEnabledRecognizers != null) {
fEnabledRecognizers[modIdx] = enabled;
}
return this;
}
}
================================================
FILE: src/main/java/com/ibm/icu/text/CharsetMatch.java
================================================
/*
*******************************************************************************
* Copyright (C) 2005-2012, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
package com.ibm.icu.text;
import org.jetbrains.annotations.NotNull;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
/**
* This class represents a charset that has been identified by a CharsetDetector
* as a possible encoding for a set of input data. From an instance of this
* class, you can ask for a confidence level in the charset identification,
* or for Java Reader or String to access the original byte data in Unicode form.
* <p>
* Instances of this class are created only by CharsetDetectors.
* <p>
* Note: this class has a natural ordering that is inconsistent with equals.
* The natural ordering is based on the match confidence value.
*
* stable ICU 3.4
*/
public class CharsetMatch implements Comparable<CharsetMatch> {
/**
* create a java.io.Reader for reading the Unicode character data corresponding
* to the original byte data supplied to the Charset detect operation.
* <p>
* CAUTION: if the source of the byte data was an InputStream, a Reader
* can be created for only one matching char set using this method. If more
* than one charset needs to be tried, the caller will need to reset
* the InputStream and create InputStreamReaders itself, based on the charset name.
*
* @return the Reader for the Unicode character data.
*
*/
public Reader getReader() {
InputStream inputStream = fInputStream;
if (inputStream == null) {
inputStream = new ByteArrayInputStream(fRawInput, 0, fRawLength);
}
try {
inputStream.reset();
return new InputStreamReader(inputStream, getName());
} catch (IOException e) {
return null;
}
}
/**
* reate a Java String from Unicode character data corresponding
* to the original byte data supplied to the Charset detect operation.
*
* @return a String created from the converted input data.
*
* @throws IOException if an IO error occurs.
*
*/
public String getString() throws IOException {
return getString(-1);
}
/**
* create a Java String from Unicode character data corresponding
* to the original byte data supplied to the Charset detect operation.
* The length of the returned string is limited to the specified size;
* the string will be trunctated to this length if necessary. A limit value of
* zero or less is ignored, and treated as no limit.
*
* @param maxLength The maximium length of the String to be created when the
* source of the data is an input stream, or -1 for
* unlimited length.
* @return a String created from the converted input data.
*
* @throws IOException if an IO error occurs.
*
*/
String getString(int maxLength) throws IOException {
String result;
if (fInputStream != null) {
StringBuilder sb = new StringBuilder();
char[] buffer = new char[1024];
Reader reader = getReader();
int max = maxLength < 0? Integer.MAX_VALUE : maxLength;
int bytesRead;
while ((bytesRead = reader.read(buffer, 0, Math.min(max, 1024))) >= 0) {
sb.append(buffer, 0, bytesRead);
max -= bytesRead;
}
reader.close();
return sb.toString();
} else {
String name = getName();
/*
* getName() may return a name with a suffix 'rtl' or 'ltr'. This cannot
* be used to open a charset (e.g. IBM424_rtl). The ending '_rtl' or 'ltr'
* should be stripped off before creating the string.
*/
int startSuffix = !name.contains("_rtl") ? name.indexOf("_ltr") : name.indexOf("_rtl");
if (startSuffix > 0) {
name = name.substring(0, startSuffix);
}
result = new String(fRawInput, name);
}
return result;
}
/**
* Get an indication of the confidence in the charset detected.
* Confidence values range from 0-100, with larger numbers indicating
* a better match of the input data to the characteristics of the charset.
* @return the confidence in the charset match
*/
public int getConfidence() {
return fConfidence;
}
/**
* Get the name of the detected charset.
* The name will be one that can be used with other APIs on the
* platform that accept charset names. It is the "Canonical name"
* as defined by the class java.nio.charset.Charset; for
* charsets that are registered with the IANA charset registry,
* this is the MIME-preferred registered name.
*
* @see java.nio.charset.Charset
* @see java.io.InputStreamReader
*
* @return The name of the charset.
*
*/
public String getName() {
return fCharsetName;
}
/**
* Get the ISO code for the language of the detected charset.
*
* @return The ISO code for the language or <code>null</code> if the language cannot be determined.
*
*/
public String getLanguage() {
return fLang;
}
/**
* Compare to other CharsetMatch objects.
* Comparison is based on the match confidence value, which
* allows CharsetDetector.detectAll() to order its results.
*
* @param other the CharsetMatch object to compare against.
* @return a negative integer, zero, or a positive integer as the
* confidence level of this CharsetMatch
* is less than, equal to, or greater than that of
* the argument.
* @throws ClassCastException if the argument is not a CharsetMatch.
*/
public int compareTo (@NotNull CharsetMatch other) {
if (this.fConfidence > other.fConfidence) {
return 1;
} else if (this.fConfidence < other.fConfidence) {
return -1;
}
return 0;
}
/*
* Constructor. Implementation internal
*/
CharsetMatch(CharsetDetector det, CharsetRecognizer rec, int conf) {
fConfidence = conf;
// The references to the original application input data must be copied out
// of the charset recognizer to here, in case the application resets the
// recognizer before using this CharsetMatch.
if (det.fInputStream == null) {
// We only want the existing input byte data if it came straight from the user,
// not if is just the head of a stream.
fRawInput = det.fRawInput;
fRawLength = det.fRawLength;
}
fInputStream = det.fInputStream;
fCharsetName = rec.getName();
fLang = rec.getLanguage();
}
/*
* Constructor. Implementation internal
*/
CharsetMatch(CharsetDetector det, int conf, String csName, String lang) {
fConfidence = conf;
// The references to the original application input data must be copied out of the charset recognizer to here,
// in case the application resets the recognizer before using this CharsetMatch.
if (det.fInputStream == null) {
// We only want the existing input byte data if it came straight from the user,
// not if is just the head of a stream.
fRawInput = det.fRawInput;
fRawLength = det.fRawLength;
}
fInputStream = det.fInputStream;
fCharsetName = csName;
fLang = lang;
}
private final int fConfidence;
private byte[] fRawInput; // Original, untouched input bytes. If user gave us a byte array, this is it.
private int fRawLength; // Length of data in fRawInput array.
private final InputStream fInputStream; // User's input stream, or null if the user gave us a byte array.
private final String fCharsetName; // The name of the charset this CharsetMatch represents. Filled in by the recognizer.
private final String fLang; // The language, if one was determined by the recognizer during the detect operation.
}
================================================
FILE: src/main/java/com/ibm/icu/text/CharsetRecog_2022.java
================================================
/*
*******************************************************************************
* Copyright (C) 2005 - 2012, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
package com.ibm.icu.text;
/**
* class CharsetRecog_2022 part of the ICU charset detection implementation.
* This is a superclass for the individual detectors for each of the detectable members of the ISO 2022 family of encodings.
* The separate classes are nested within this class.
*/
abstract class CharsetRecog_2022 extends CharsetRecognizer {
/**
* Matching function shared among the 2022 detectors JP, CN and KR Counts up the number of legal an
* unrecognized escape sequences in the sample of text, and computes a score based on the total number &
* the proportion that fit the encoding.
*
* @param text the byte buffer containing text to analyse
* @param textLen the size of the text in the byte.
* @param escapeSequences the byte escape sequences to test for.
* @return match quality, in the range of 0-100.
*/
int match(byte[] text, int textLen, byte[][] escapeSequences) {
int hits = 0;
int misses = 0;
int shifts = 0;
int quality;
scanInput:
for (int i = 0; i < textLen; i++) {
if (text[i] == 0x1b) {
checkEscapes:
for (byte[] seq : escapeSequences) {
if ((textLen - i) < seq.length) {
continue checkEscapes;
}
for (int j = 1; j < seq.length; j++) {
if (seq[j] != text[i + j]) {
continue checkEscapes;
}
}
hits++;
i += seq.length - 1;
continue scanInput;
}
misses++;
}
if (text[i] == 0x0e || text[i] == 0x0f) {
// Shift in/out
shifts++;
}
}
if (hits == 0) {
return 0;
}
// Initial quality is based on relative proportion of recognized vs.
// unrecognized escape sequences.
// All good: quality = 100;
// half or less good: quality = 0;
// linear inbetween.
quality = (100 * hits - 100 * misses) / (hits + misses);
// Back off quality if there were too few escape sequences seen.
// Include shifts in this computation, so that KR does not get penalized
// for having only a single Escape sequence, but many shifts.
if (hits + shifts < 5) {
quality -= (5 - (hits + shifts)) * 10;
}
if (quality < 0) {
quality = 0;
}
return quality;
}
static class CharsetRecog_2022JP extends CharsetRecog_2022 {
private final byte[][] escapeSequences = {
{0x1b, 0x24, 0x28, 0x43}, // KS X 1001:1992
{0x1b, 0x24, 0x28, 0x44}, // JIS X 212-1990
{0x1b, 0x24, 0x40}, // JIS C 6226-1978
{0x1b, 0x24, 0x41}, // GB 2312-80
{0x1b, 0x24, 0x42}, // JIS X 208-1983
{0x1b, 0x26, 0x40}, // JIS X 208 1990, 1997
{0x1b, 0x28, 0x42}, // ASCII
{0x1b, 0x28, 0x48}, // JIS-Roman
{0x1b, 0x28, 0x49}, // Half-width katakana
{0x1b, 0x28, 0x4a}, // JIS-Roman
{0x1b, 0x2e, 0x41}, // ISO 8859-1
{0x1b, 0x2e, 0x46} // ISO 8859-7
};
String getName() {
return "ISO-2022-JP";
}
CharsetMatch match(CharsetDetector det) {
int confidence = match(det.fInputBytes, det.fInputLen, escapeSequences);
return confidence == 0 ? null : new CharsetMatch(det, this, confidence);
}
}
static class CharsetRecog_2022KR extends CharsetRecog_2022 {
private final byte[][] escapeSequences = {
{0x1b, 0x24, 0x29, 0x43}
};
String getName() {
return "ISO-2022-KR";
}
CharsetMatch match(CharsetDetector det) {
int confidence = match(det.fInputBytes, det.fInputLen, escapeSequences);
return confidence == 0 ? null : new CharsetMatch(det, this, confidence);
}
}
static class CharsetRecog_2022CN extends CharsetRecog_2022 {
private final byte[][] escapeSequences = {
{0x1b, 0x24, 0x29, 0x41}, // GB 2312-80
{0x1b, 0x24, 0x29, 0x47}, // CNS 11643-1992 Plane 1
{0x1b, 0x24, 0x2A, 0x48}, // CNS 11643-1992 Plane 2
{0x1b, 0x24, 0x29, 0x45}, // ISO-IR-165
{0x1b, 0x24, 0x2B, 0x49}, // CNS 11643-1992 Plane 3
{0x1b, 0x24, 0x2B, 0x4A}, // CNS 11643-1992 Plane 4
{0x1b, 0x24, 0x2B, 0x4B}, // CNS 11643-1992 Plane 5
{0x1b, 0x24, 0x2B, 0x4C}, // CNS 11643-1992 Plane 6
{0x1b, 0x24, 0x2B, 0x4D}, // CNS 11643-1992 Plane 7
{0x1b, 0x4e}, // SS2
{0x1b, 0x4f}, // SS3
};
String getName() {
return "ISO-2022-CN";
}
CharsetMatch match(CharsetDetector det) {
int confidence = match(det.fInputBytes, det.fInputLen, escapeSequences);
return confidence == 0 ? null : new CharsetMatch(det, this, confidence);
}
}
}
================================================
FILE: src/main/java/com/ibm/icu/text/CharsetRecog_UTF8.java
================================================
/*
*******************************************************************************
* Copyright (C) 2005 - 2012, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
package com.ibm.icu.text;
/**
* Charset recognizer for UTF-8
*/
class CharsetRecog_UTF8 extends CharsetRecognizer {
String getName() {
return "UTF-8";
}
/* (non-Javadoc)
* @see com.ibm.icu.text.CharsetRecognizer#match(com.ibm.icu.text.CharsetDetector)
*/
CharsetMatch match(CharsetDetector det) {
boolean hasBOM = false;
int numValid = 0;
int numInvalid = 0;
byte[] input = det.fRawInput;
int trailBytes;
if (det.fRawLength >= 3 &&
(input[0] & 0xFF) == 0xef && (input[1] & 0xFF) == 0xbb && (input[2] & 0xFF) == 0xbf) {
hasBOM = true;
}
// Scan for multibyte sequences
for (int i = 0; i < det.fRawLength; i++) {
int b = input[i];
if ((b & 0x80) == 0) {
continue; // ASCII
}
// High bit on char found. Figure out how long the sequence should be
if ((b & 0x0e0) == 0x0c0) {
trailBytes = 1;
} else if ((b & 0x0f0) == 0x0e0) {
trailBytes = 2;
} else if ((b & 0x0f8) == 0xf0) {
trailBytes = 3;
} else {
numInvalid++;
if (numInvalid > 5) {
break;
}
trailBytes = 0;
}
// Verify that we've got the right number of trail bytes in the sequence
for (; ; ) {
i++;
if (i >= det.fRawLength) {
break;
}
b = input[i];
if ((b & 0xc0) != 0x080) {
numInvalid++;
break;
}
if (--trailBytes == 0) {
numValid++;
break;
}
}
}
// Cook up some sort of confidence score, based on presense of a BOM and the existence of valid
// and/or invalid multibyte sequences.
int confidence = 0;
if (hasBOM && numInvalid == 0) {
confidence = 100;
} else if (hasBOM && numValid > numInvalid * 10) {
confidence = 80;
} else if (numValid > 3 && numInvalid == 0) {
confidence = 100;
} else if (numValid > 0 && numInvalid == 0) {
confidence = 80;
} else if (numValid == 0 && numInvalid == 0) {
// Plain ASCII.
confidence = 10;
} else if (numValid > numInvalid * 10) {
// Probably corrupt utf-8 data. Valid sequences aren't likely by chance.
confidence = 25;
}
return confidence == 0 ? null : new CharsetMatch(det, this, confidence);
}
}
================================================
FILE: src/main/java/com/ibm/icu/text/CharsetRecog_Unicode.java
================================================
/*
*******************************************************************************
* Copyright (C) 1996-2012, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*
*/
package com.ibm.icu.text;
/**
* This class matches UTF-16 and UTF-32, both big- and little-endian. The BOM will be used if it is present.
*/
abstract class CharsetRecog_Unicode extends CharsetRecognizer {
@Override
abstract String getName();
@Override
abstract CharsetMatch match(CharsetDetector det);
static class CharsetRecog_UTF_16_BE extends CharsetRecog_Unicode {
String getName() {
return "UTF-16BE";
}
CharsetMatch match(CharsetDetector det) {
byte[] input = det.fRawInput;
if (input.length >= 2 && ((input[0] & 0xFF) == 0xFE && (input[1] & 0xFF) == 0xFF)) {
int confidence = 100;
return new CharsetMatch(det, this, confidence);
}
// TODO: Do some statistics to check for unsigned UTF-16BE
return null;
}
}
static class CharsetRecog_UTF_16_LE extends CharsetRecog_Unicode {
String getName() {
return "UTF-16LE";
}
CharsetMatch match(CharsetDetector det) {
byte[] input = det.fRawInput;
if (input.length >= 2 && ((input[0] & 0xFF) == 0xFF && (input[1] & 0xFF) == 0xFE)) {
// An LE BOM is present.
if (input.length >= 4 && input[2] == 0x00 && input[3] == 0x00) {
// It is probably UTF-32 LE, not UTF-16
return null;
}
int confidence = 100;
return new CharsetMatch(det, this, confidence);
}
// TODO: Do some statistics to check for unsigned UTF-16LE
return null;
}
}
static abstract class CharsetRecog_UTF_32 extends CharsetRecog_Unicode {
abstract int getChar(byte[] input, int index);
abstract String getName();
CharsetMatch match(CharsetDetector det) {
byte[] input = det.fRawInput;
int limit = (det.fRawLength / 4) * 4;
int numValid = 0;
int numInvalid = 0;
boolean hasBOM = false;
int confidence = 0;
if (limit == 0) {
return null;
}
if (getChar(input, 0) == 0x0000FEFF) {
hasBOM = true;
}
for (int i = 0; i < limit; i += 4) {
int ch = getChar(input, i);
if (ch < 0 || ch >= 0x10FFFF || (ch >= 0xD800 && ch <= 0xDFFF)) {
numInvalid += 1;
} else {
numValid += 1;
}
}
// Cook up some sort of confidence score, based on presence of a BOM
// and the existence of valid and/or invalid multibyte sequences.
if (hasBOM && numInvalid == 0) {
confidence = 100;
} else if (hasBOM && numValid > numInvalid * 10) {
confidence = 80;
} else if (numValid > 3 && numInvalid == 0) {
confidence = 100;
} else if (numValid > 0 && numInvalid == 0) {
confidence = 80;
} else if (numValid > numInvalid * 10) {
// Probably corrupt UTF-32BE data. Valid sequences aren't likely by chance.
confidence = 25;
}
return confidence == 0 ? null : new CharsetMatch(det, this, confidence);
}
}
static class CharsetRecog_UTF_32_BE extends CharsetRecog_UTF_32 {
int getChar(byte[] input, int index) {
return (input[index + 0] & 0xFF) << 24 | (input[index + 1] & 0xFF) << 16 |
(input[index + 2] & 0xFF) << 8 | (input[index + 3] & 0xFF);
}
String getName() {
return "UTF-32BE";
}
}
static class CharsetRecog_UTF_32_LE extends CharsetRecog_UTF_32 {
int getChar(byte[] input, int index) {
return (input[index + 3] & 0xFF) << 24 | (input[index + 2] & 0xFF) << 16 |
(input[index + 1] & 0xFF) << 8 | (input[index + 0] & 0xFF);
}
String getName() {
return "UTF-32LE";
}
}
}
================================================
FILE: src/main/java/com/ibm/icu/text/CharsetRecog_mbcs.java
================================================
/*
****************************************************************************
* Copyright (C) 2005-2012, International Business Machines Corporation and *
* others. All Rights Reserved. *
****************************************************************************
*
*/
package com.ibm.icu.text;
import java.util.Arrays;
/**
* CharsetRecognizer implemenation for Asian - double or multi-byte - charsets.
* Match is determined mostly by the input data adhering to the
* encoding scheme for the charset, and, optionally,
* frequency-of-occurence of characters.
* <p/>
* Instances of this class are singletons, one per encoding
* being recognized. They are created in the main
* CharsetDetector class and kept in the global list of available
* encodings to be checked. The specific encoding being recognized
* is determined by subclass.
*/
abstract class CharsetRecog_mbcs extends CharsetRecognizer {
/**
* Get the IANA name of this charset.
* @return the charset name.
*/
abstract String getName() ;
/**
* Test the match of this charset with the input text data
* which is obtained via the CharsetDetector object.
*
* @param det The CharsetDetector, which contains the input text
* to be checked for being in this charset.
* @return Two values packed into one int (Damn java, anyhow)
* <br/>
* bits 0-7: the match confidence, ranging from 0-100
* <br/>
* bits 8-15: The match reason, an enum-like value.
*/
int match(CharsetDetector det, int [] commonChars) {
@SuppressWarnings("unused")
int singleByteCharCount = 0; //TODO Do we really need this?
int doubleByteCharCount = 0;
int commonCharCount = 0;
int badCharCount = 0;
int totalCharCount = 0;
int confidence = 0;
iteratedChar iter = new iteratedChar();
detectBlock: {
for (iter.reset(); nextChar(iter, det);) {
totalCharCount++;
if (iter.error) {
badCharCount++;
} else {
long cv = iter.charValue & 0xFFFFFFFFL;
if (cv <= 0xff) {
singleByteCharCount++;
} else {
doubleByteCharCount++;
if (commonChars != null) {
// NOTE: This assumes that there are no 4-byte common chars.
if (Arrays.binarySearch(commonChars, (int) cv) >= 0) {
commonCharCount++;
}
}
}
}
if (badCharCount >= 2 && badCharCount*5 >= doubleByteCharCount) {
// Bail out early if the byte data is not matching the encoding scheme.
break detectBlock;
}
}
if (doubleByteCharCount <= 10 && badCharCount== 0) {
// Not many multi-byte chars.
if (doubleByteCharCount == 0 && totalCharCount < 10) {
// There weren't any multibyte sequences, and there was a low density of non-ASCII single bytes.
// We don't have enough data to have any confidence.
// Statistical analysis of single byte non-ASCII charcters would probably help here.
confidence = 0;
}
else {
// ASCII or ISO file? It's probably not our encoding,
// but is not incompatible with our encoding, so don't give it a zero.
confidence = 10;
}
break detectBlock;
}
//
// No match if there are too many characters that don't fit the encoding scheme.
// (should we have zero tolerance for these?)
//
if (doubleByteCharCount < 20*badCharCount) {
confidence = 0;
break detectBlock;
}
if (commonChars == null) {
// We have no statistics on frequently occuring characters.
// Assess confidence purely on having a reasonable number of
// multi-byte characters (the more the better
confidence = 30 + doubleByteCharCount - 20*badCharCount;
if (confidence > 100) {
confidence = 100;
}
}else {
//
// Frequency of occurence statistics exist.
//
double maxVal = Math.log((float)doubleByteCharCount / 4);
double scaleFactor = 90.0 / maxVal;
confidence = (int)(Math.log(commonCharCount+1) * scaleFactor + 10);
confidence = Math.min(confidence, 100);
}
} // end of detectBlock:
return confidence;
}
// "Character" iterated character class.
// Recognizers for specific mbcs encodings make their "characters" available
// by providing a nextChar() function that fills in an instance of iteratedChar
// with the next char from the input.
// The returned characters are not converted to Unicode, but remain as the raw
// bytes (concatenated into an int) from the codepage data.
//
// For Asian charsets, use the raw input rather than the input that has been
// stripped of markup. Detection only considers multi-byte chars, effectively
// stripping markup anyway, and double byte chars do occur in markup too.
//
static class iteratedChar {
int charValue = 0; // 1-4 bytes from the raw input data
int index = 0;
int nextIndex = 0;
boolean error = false;
boolean done = false;
void reset() {
charValue = 0;
index = -1;
nextIndex = 0;
error = false;
done = false;
}
int nextByte(CharsetDetector det) {
if (nextIndex >= det.fRawLength) {
done = true;
return -1;
}
return (int)det.fRawInput[nextIndex++] & 0x00ff;
}
}
/**
* Get the next character (however many bytes it is) from the input data
* Subclasses for specific charset encodings must implement this function
* to get characters according to the rules of their encoding scheme.
* This function is not a method of class iteratedChar only because
* that would require a lot of extra derived classes, which is awkward.
* @param it The iteratedChar "struct" into which the returned char is placed.
* @param det The charset detector, which is needed to get at the input byte data
* being iterated over.
* @return True if a character was returned, false at end of input.
*/
abstract boolean nextChar(iteratedChar it, CharsetDetector det);
/**
* Shift-JIS charset recognizer.
*
*/
static class CharsetRecog_sjis extends CharsetRecog_mbcs {
static int [] commonChars =
// TODO: This set of data comes from the character frequency-
// of-occurence analysis tool. The data needs to be moved
// into a resource and loaded from there.
{0x8140, 0x8141, 0x8142, 0x8145, 0x815b, 0x8169, 0x816a, 0x8175, 0x8176, 0x82a0,
0x82a2, 0x82a4, 0x82a9, 0x82aa, 0x82ab, 0x82ad, 0x82af, 0x82b1, 0x82b3, 0x82b5,
0x82b7, 0x82bd, 0x82be, 0x82c1, 0x82c4, 0x82c5, 0x82c6, 0x82c8, 0x82c9, 0x82cc,
0x82cd, 0x82dc, 0x82e0, 0x82e7, 0x82e8, 0x82e9, 0x82ea, 0x82f0, 0x82f1, 0x8341,
0x8343, 0x834e, 0x834f, 0x8358, 0x835e, 0x8362, 0x8367, 0x8375, 0x8376, 0x8389,
0x838a, 0x838b, 0x838d, 0x8393, 0x8e96, 0x93fa, 0x95aa};
boolean nextChar(iteratedChar it, CharsetDetector det) {
it.index = it.nextIndex;
it.error = false;
int firstByte;
firstByte = it.charValue = it.nextByte(det);
if (firstByte < 0) {
return false;
}
if (firstByte <= 0x7f || (firstByte>0xa0 && firstByte<=0xdf)) {
return true;
}
int secondByte = it.nextByte(det);
if (secondByte < 0) {
return false;
}
it.charValue = (firstByte << 8) | secondByte;
if (! ((secondByte>=0x40 && secondByte<=0x7f) || (secondByte>=0x80 && secondByte<=0xff))) {
// Illegal second byte value.
it.error = true;
}
return true;
}
CharsetMatch match(CharsetDetector det) {
int confidence = match(det, commonChars);
return confidence == 0 ? null : new CharsetMatch(det, this, confidence);
}
String getName() {
return "Shift_JIS";
}
public String getLanguage()
{
return "ja";
}
}
/**
* Big5 charset recognizer.
*
*/
static class CharsetRecog_big5 extends CharsetRecog_mbcs {
static int [] commonChars =
// TODO: This set of data comes from the character frequency-
// of-occurence analysis tool. The data needs to be moved
// into a resource and loaded from there.
{0xa140, 0xa141, 0xa142, 0xa143, 0xa147, 0xa149, 0xa175, 0xa176, 0xa440, 0xa446,
0xa447, 0xa448, 0xa451, 0xa454, 0xa457, 0xa464, 0xa46a, 0xa46c, 0xa477, 0xa4a3,
0xa4a4, 0xa4a7, 0xa4c1, 0xa4ce, 0xa4d1, 0xa4df, 0xa4e8, 0xa4fd, 0xa540, 0xa548,
0xa558, 0xa569, 0xa5cd, 0xa5e7, 0xa657, 0xa661, 0xa662, 0xa668, 0xa670, 0xa6a8,
0xa6b3, 0xa6b9, 0xa6d3, 0xa6db, 0xa6e6, 0xa6f2, 0xa740, 0xa751, 0xa759, 0xa7da,
0xa8a3, 0xa8a5, 0xa8ad, 0xa8d1, 0xa8d3, 0xa8e4, 0xa8fc, 0xa9c0, 0xa9d2, 0xa9f3,
0xaa6b, 0xaaba, 0xaabe, 0xaacc, 0xaafc, 0xac47, 0xac4f, 0xacb0, 0xacd2, 0xad59,
0xaec9, 0xafe0, 0xb0ea, 0xb16f, 0xb2b3, 0xb2c4, 0xb36f, 0xb44c, 0xb44e, 0xb54c,
0xb5a5, 0xb5bd, 0xb5d0, 0xb5d8, 0xb671, 0xb7ed, 0xb867, 0xb944, 0xbad8, 0xbb44,
0xbba1, 0xbdd1, 0xc2c4, 0xc3b9, 0xc440, 0xc45f};
boolean nextChar(iteratedChar it, CharsetDetector det) {
it.index = it.nextIndex;
it.error = false;
int firstByte;
firstByte = it.charValue = it.nextByte(det);
if (firstByte < 0) {
return false;
}
if (firstByte <= 0x7f || firstByte==0xff) {
// single byte character.
return true;
}
int secondByte = it.nextByte(det);
if (secondByte < 0) {
return false;
}
it.charValue = (it.charValue << 8) | secondByte;
if (secondByte < 0x40 ||
secondByte ==0x7f ||
secondByte == 0xff) {
it.error = true;
}
return true;
}
CharsetMatch match(CharsetDetector det) {
int confidence = match(det, commonChars);
return confidence == 0 ? null : new CharsetMatch(det, this, confidence);
}
String getName() {
return "Big5";
}
public String getLanguage()
{
return "zh";
}
}
/**
* EUC charset recognizers. One abstract class that provides the common function
* for getting the next character according to the EUC encoding scheme,
* and nested derived classes for EUC_KR, EUC_JP, EUC_CN.
*
*/
abstract static class CharsetRecog_euc extends CharsetRecog_mbcs {
/*
* (non-Javadoc)
* Get the next character value for EUC based encodings.
* Character "value" is simply the raw bytes that make up the character
* packed into an int.
*/
boolean nextChar(iteratedChar it, CharsetDetector det) {
it.index = it.nextIndex;
it.error = false;
int firstByte;
int secondByte;
int thirdByte;
buildChar: {
firstByte = it.charValue = it.nextByte(det);
if (firstByte < 0) {
// Ran off the end of the input data
it.done = true;
break buildChar;
}
if (firstByte <= 0x8d) {
// single byte char
break buildChar;
}
secondByte = it.nextByte(det);
it.charValue = (it.charValue << 8) | secondByte;
if (firstByte >= 0xA1 && firstByte <= 0xfe) {
// Two byte Char
if (secondByte < 0xa1) {
it.error = true;
}
break buildChar;
}
if (firstByte == 0x8e) {
// Code Set 2.
// In EUC-JP, total char size is 2 bytes, only one byte of actual char value.
// In EUC-TW, total char size is 4 bytes, three bytes contribute to char value.
// We don't know which we've got.
// Treat it like EUC-JP. If the data really was EUC-TW, the following two
// bytes will look like a well formed 2 byte char.
if (secondByte < 0xa1) {
it.error = true;
}
break buildChar;
}
if (firstByte == 0x8f) {
// Code set 3.
// Three byte total char size, two bytes of actual char value.
thirdByte = it.nextByte(det);
it.charValue = (it.charValue << 8) | thirdByte;
if (thirdByte < 0xa1) {
it.error = true;
}
}
}
return !it.done;
}
/**
* The charset recognize for EUC-JP. A singleton instance of this class
* is created and kept by the public CharsetDetector class
*/
static class CharsetRecog_euc_jp extends CharsetRecog_euc {
static int [] commonChars =
// TODO: This set of data comes from the character frequency-
// of-occurrence analysis tool. The data needs to be moved
// into a resource and loaded from there.
{0xa1a1, 0xa1a2, 0xa1a3, 0xa1a6, 0xa1bc, 0xa1ca, 0xa1cb, 0xa1d6, 0xa1d7, 0xa4a2,
0xa4a4, 0xa4a6, 0xa4a8, 0xa4aa, 0xa4ab, 0xa4ac, 0xa4ad, 0xa4af, 0xa4b1, 0xa4b3,
0xa4b5, 0xa4b7, 0xa4b9, 0xa4bb, 0xa4bd, 0xa4bf, 0xa4c0, 0xa4c1, 0xa4c3, 0xa4c4,
0xa4c6, 0xa4c7, 0xa4c8, 0xa4c9, 0xa4ca, 0xa4cb, 0xa4ce, 0xa4cf, 0xa4d0, 0xa4de,
0xa4df, 0xa4e1, 0xa4e2, 0xa4e4, 0xa4e8, 0xa4e9, 0xa4ea, 0xa4eb, 0xa4ec, 0xa4ef,
0xa4f2, 0xa4f3, 0xa5a2, 0xa5a3, 0xa5a4, 0xa5a6, 0xa5a7, 0xa5aa, 0xa5ad, 0xa5af,
0xa5b0, 0xa5b3, 0xa5b5, 0xa5b7, 0xa5b8, 0xa5b9, 0xa5bf, 0xa5c3, 0xa5c6, 0xa5c7,
0xa5c8, 0xa5c9, 0xa5cb, 0xa5d0, 0xa5d5, 0xa5d6, 0xa5d7, 0xa5de, 0xa5e0, 0xa5e1,
0xa5e5, 0xa5e9, 0xa5ea, 0xa5eb, 0xa5ec, 0xa5ed, 0xa5f3, 0xb8a9, 0xb9d4, 0xbaee,
0xbbc8, 0xbef0, 0xbfb7, 0xc4ea, 0xc6fc, 0xc7bd, 0xcab8, 0xcaf3, 0xcbdc, 0xcdd1};
String getName() {
return "EUC-JP";
}
CharsetMatch match(CharsetDetector det) {
int confidence = match(det, commonChars);
return confidence == 0 ? null : new CharsetMatch(det, this, confidence);
}
public String getLanguage()
{
return "ja";
}
}
/**
* The charset recognize for EUC-KR. A singleton instance of this class
* is created and kept by the public CharsetDetector class
*/
static class CharsetRecog_euc_kr extends CharsetRecog_euc {
static int [] commonChars =
// TODO: This set of data comes from the character frequency-
// of-occurrence analysis tool. The data needs to be moved
// into a resource and loaded from there.
{0xb0a1, 0xb0b3, 0xb0c5, 0xb0cd, 0xb0d4, 0xb0e6, 0xb0ed, 0xb0f8, 0xb0fa, 0xb0fc,
0xb1b8, 0xb1b9, 0xb1c7, 0xb1d7, 0xb1e2, 0xb3aa, 0xb3bb, 0xb4c2, 0xb4cf, 0xb4d9,
0xb4eb, 0xb5a5, 0xb5b5, 0xb5bf, 0xb5c7, 0xb5e9, 0xb6f3, 0xb7af, 0xb7c2, 0xb7ce,
0xb8a6, 0xb8ae, 0xb8b6, 0xb8b8, 0xb8bb, 0xb8e9, 0xb9ab, 0xb9ae, 0xb9cc, 0xb9ce,
0xb9fd, 0xbab8, 0xbace, 0xbad0, 0xbaf1, 0xbbe7, 0xbbf3, 0xbbfd, 0xbcad, 0xbcba,
0xbcd2, 0xbcf6, 0xbdba, 0xbdc0, 0xbdc3, 0xbdc5, 0xbec6, 0xbec8, 0xbedf, 0xbeee,
0xbef8, 0xbefa, 0xbfa1, 0xbfa9, 0xbfc0, 0xbfe4, 0xbfeb, 0xbfec, 0xbff8, 0xc0a7,
0xc0af, 0xc0b8, 0xc0ba, 0xc0bb, 0xc0bd, 0xc0c7, 0xc0cc, 0xc0ce, 0xc0cf, 0xc0d6,
0xc0da, 0xc0e5, 0xc0fb, 0xc0fc, 0xc1a4, 0xc1a6, 0xc1b6, 0xc1d6, 0xc1df, 0xc1f6,
0xc1f8, 0xc4a1, 0xc5cd, 0xc6ae, 0xc7cf, 0xc7d1, 0xc7d2, 0xc7d8, 0xc7e5, 0xc8ad};
String getName() {
return "EUC-KR";
}
CharsetMatch match(CharsetDetector det) {
int confidence = match(det, commonChars);
return confidence == 0 ? null : new CharsetMatch(det, this, confidence);
}
public String getLanguage()
{
return "ko";
}
}
}
/**
*
* GB-18030 recognizer. Uses simplified Chinese statistics.
*
*/
static class CharsetRecog_gb_18030 extends CharsetRecog_mbcs {
/*
* (non-Javadoc)
* Get the next character value for EUC based encodings.
* Character "value" is simply the raw bytes that make up the character
* packed into an int.
*/
boolean nextChar(iteratedChar it, CharsetDetector det) {
it.index = it.nextIndex;
it.error = false;
int firstByte;
int secondByte;
int thirdByte;
int fourthByte;
buildChar: {
firstByte = it.charValue = it.nextByte(det);
if (firstByte < 0) {
// Ran off the end of the input data
it.done = true;
break buildChar;
}
if (firstByte <= 0x80) {
// single byte char
break buildChar;
}
secondByte = it.nextByte(det);
it.charValue = (it.charValue << 8) | secondByte;
if (firstByte >= 0x81 && firstByte <= 0xFE) {
// Two byte Char
if ((secondByte >= 0x40 && secondByte <= 0x7E) || (secondByte >=80 && secondByte <=0xFE)) {
break buildChar;
}
// Four byte char
if (secondByte >= 0x30 && secondByte <= 0x39) {
thirdByte = it.nextByte(det);
if (thirdByte >= 0x81 && thirdByte <= 0xFE) {
fourthByte = it.nextByte(det);
if (fourthByte >= 0x30 && fourthByte <= 0x39) {
it.charValue = (it.charValue << 16) | (thirdByte << 8) | fourthByte;
break buildChar;
}
}
}
it.error = true;
break buildChar;
}
}
return !it.done;
}
static int [] commonChars =
// TODO: This set of data comes from the character frequency-
// of-occurrence analysis tool. The data needs to be moved
// into a resource and loaded from there.
{0xa1a1, 0xa1a2, 0xa1a3, 0xa1a4, 0xa1b0, 0xa1b1, 0xa1f1, 0xa1f3, 0xa3a1, 0xa3ac,
0xa3ba, 0xb1a8, 0xb1b8, 0xb1be, 0xb2bb, 0xb3c9, 0xb3f6, 0xb4f3, 0xb5bd, 0xb5c4,
0xb5e3, 0xb6af, 0xb6d4, 0xb6e0, 0xb7a2, 0xb7a8, 0xb7bd, 0xb7d6, 0xb7dd, 0xb8b4,
0xb8df, 0xb8f6, 0xb9ab, 0xb9c9, 0xb9d8, 0xb9fa, 0xb9fd, 0xbacd, 0xbba7, 0xbbd6,
0xbbe1, 0xbbfa, 0xbcbc, 0xbcdb, 0xbcfe, 0xbdcc, 0xbecd, 0xbedd, 0xbfb4, 0xbfc6,
0xbfc9, 0xc0b4, 0xc0ed, 0xc1cb, 0xc2db, 0xc3c7, 0xc4dc, 0xc4ea, 0xc5cc, 0xc6f7,
0xc7f8, 0xc8ab, 0xc8cb, 0xc8d5, 0xc8e7, 0xc9cf, 0xc9fa, 0xcab1, 0xcab5, 0xcac7,
0xcad0, 0xcad6, 0xcaf5, 0xcafd, 0xccec, 0xcdf8, 0xceaa, 0xcec4, 0xced2, 0xcee5,
0xcfb5, 0xcfc2, 0xcfd6, 0xd0c2, 0xd0c5, 0xd0d0, 0xd0d4, 0xd1a7, 0xd2aa, 0xd2b2,
0xd2b5, 0xd2bb, 0xd2d4, 0xd3c3, 0xd3d0, 0xd3fd, 0xd4c2, 0xd4da, 0xd5e2, 0xd6d0};
String getName() {
return "GB18030";
}
CharsetMatch match(CharsetDetector det) {
int confidence = match(det, commonChars);
return confidence == 0 ? null : new CharsetMatch(det, this, confidence);
}
public String getLanguage()
{
return "zh";
}
}
}
================================================
FILE: src/main/java/com/ibm/icu/text/CharsetRecog_sbcs.java
================================================
/*
****************************************************************************
* Copyright (C) 2005-2013, International Business Machines Corporation and *
* others. All Rights Reserved. *
************************************************************************** *
*
* Modified by Oleg Trifonov
* added cp866 support
*/
package com.ibm.icu.text;
/**
* This class recognizes single-byte encodings. Because the encoding scheme is so
* simple, language statistics are used to do the matching.
*/
abstract class CharsetRecog_sbcs extends CharsetRecognizer {
/* (non-Javadoc)
* @see com.ibm.icu.text.CharsetRecognizer#getName()
*/
abstract String getName();
static class NGramParser
{
// private static final int N_GRAM_SIZE = 3;
private static final int N_GRAM_MASK = 0xFFFFFF;
protected int byteIndex = 0;
private int ngram;
private final int[] ngramList;
protected byte[] byteMap;
private int ngramCount;
private int hitCount;
protected byte spaceChar;
public NGramParser(int[] theNgramList, byte[] theByteMap)
{
ngramList = theNgramList;
byteMap = theByteMap;
ngram = 0;
ngramCount = hitCount = 0;
}
/*
* Binary search for value in table, which must have exactly 64 entries.
*/
private static int search(int[] table, int value)
{
int index = 0;
if (table[index + 32] <= value) {
index += 32;
}
if (table[index + 16] <= value) {
index += 16;
}
if (table[index + 8] <= value) {
index += 8;
}
if (table[index + 4] <= value) {
index += 4;
}
if (table[index + 2] <= value) {
index += 2;
}
if (table[index + 1] <= value) {
index += 1;
}
if (table[index] > value) {
index -= 1;
}
if (index < 0 || table[index] != value) {
return -1;
}
return index;
}
private void lookup(int thisNgram)
{
ngramCount += 1;
if (search(ngramList, thisNgram) >= 0) {
hitCount += 1;
}
}
protected void addByte(int b)
{
ngram = ((ngram << 8) + (b & 0xFF)) & N_GRAM_MASK;
lookup(ngram);
}
private int nextByte(CharsetDetector det)
{
if (byteIndex >= det.fInputLen) {
return -1;
}
return det.fInputBytes[byteIndex++] & 0xFF;
}
protected void parseCharacters(CharsetDetector det)
{
int b;
boolean ignoreSpace = false;
while ((b = nextByte(det)) >= 0) {
byte mb = byteMap[b];
// TODO: 0x20 might not be a space in all character sets...
if (mb != 0) {
if (!(mb == spaceChar && ignoreSpace)) {
addByte(mb);
}
ignoreSpace = (mb == spaceChar);
}
}
}
public int parse(CharsetDetector det)
{
return parse (det, (byte)0x20);
}
public int parse(CharsetDetector det, byte spaceCh)
{
this.spaceChar = spaceCh;
parseCharacters(det);
// TODO: Is this OK? The buffer could have ended in the middle of a word...
addByte(spaceChar);
double rawPercent = (double) hitCount / (double) ngramCount;
// if (rawPercent <= 2.0) {
// return 0;
// }
// TODO - This is a bit of a hack to take care of a case
// were we were getting a confidence of 135...
if (rawPercent > 0.33) {
return 98;
}
return (int) (rawPercent * 300.0);
}
}
static class NGramParser_IBM420 extends NGramParser
{
private byte alef = 0x00;
protected static byte[] unshapeMap = {
/* -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -A -B -C -D -E -F */
/* 0- */ (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40,
/* 1- */ (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40,
/* 2- */ (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40,
/* 3- */ (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40,
/* 4- */ (byte) 0x40, (byte) 0x40, (byte) 0x42, (byte) 0x42, (byte) 0x44, (byte) 0x45, (byte) 0x46, (byte) 0x47, (byte) 0x47, (byte) 0x49, (byte) 0x4A, (byte) 0x4B, (byte) 0x4C, (byte) 0x4D, (byte) 0x4E, (byte) 0x4F,
/* 5- */ (byte) 0x50, (byte) 0x49, (byte) 0x52, (byte) 0x53, (byte) 0x54, (byte) 0x55, (byte) 0x56, (byte) 0x56, (byte) 0x58, (byte) 0x58, (byte) 0x5A, (byte) 0x5B, (byte) 0x5C, (byte) 0x5D, (byte) 0x5E, (byte) 0x5F,
/* 6- */ (byte) 0x60, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x63, (byte) 0x65, (byte) 0x65, (byte) 0x67, (byte) 0x67, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F,
/* 7- */ (byte) 0x69, (byte) 0x71, (byte) 0x71, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, (byte) 0x77, (byte) 0x79, (byte) 0x7A, (byte) 0x7B, (byte) 0x7C, (byte) 0x7D, (byte) 0x7E, (byte) 0x7F,
/* 8- */ (byte) 0x80, (byte) 0x81, (byte) 0x82, (byte) 0x83, (byte) 0x84, (byte) 0x85, (byte) 0x86, (byte) 0x87, (byte) 0x88, (byte) 0x89, (byte) 0x80, (byte) 0x8B, (byte) 0x8B, (byte) 0x8D, (byte) 0x8D, (byte) 0x8F,
/* 9- */ (byte) 0x90, (byte) 0x91, (byte) 0x92, (byte) 0x93, (byte) 0x94, (byte) 0x95, (byte) 0x96, (byte) 0x97, (byte) 0x98, (byte) 0x99, (byte) 0x9A, (byte) 0x9A, (byte) 0x9A, (byte) 0x9A, (byte) 0x9E, (byte) 0x9E,
/* A- */ (byte) 0x9E, (byte) 0xA1, (byte) 0xA2, (byte) 0xA3, (byte) 0xA4, (byte) 0xA5, (byte) 0xA6, (byte) 0xA7, (byte) 0xA8, (byte) 0xA9, (byte) 0x9E, (byte) 0xAB, (byte) 0xAB, (byte) 0xAD, (byte) 0xAD, (byte) 0xAF,
/* B- */ (byte) 0xAF, (byte) 0xB1, (byte) 0xB2, (byte) 0xB3, (byte) 0xB4, (byte) 0xB5, (byte) 0xB6, (byte) 0xB7, (byte) 0xB8, (byte) 0xB9, (byte) 0xB1, (byte) 0xBB, (byte) 0xBB, (byte) 0xBD, (byte) 0xBD, (byte) 0xBF,
/* C- */ (byte) 0xC0, (byte) 0xC1, (byte) 0xC2, (byte) 0xC3, (byte) 0xC4, (byte) 0xC5, (byte) 0xC6, (byte) 0xC7, (byte) 0xC8, (byte) 0xC9, (byte) 0xCA, (byte) 0xBF, (byte) 0xCC, (byte) 0xBF, (byte) 0xCE, (byte) 0xCF,
/* D- */ (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0xD7, (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDA, (byte) 0xDC, (byte) 0xDC, (byte) 0xDC, (byte) 0xDF,
/* E- */ (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF,
/* F- */ (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7, (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xFF,
};
public NGramParser_IBM420(int[] theNgramList, byte[] theByteMap)
{
super(theNgramList, theByteMap);
}
private byte isLamAlef(byte b) {
if(b == (byte)0xb2 || b == (byte)0xb3){
return (byte)0x47;
}else if
gitextract_oxon2gw8/
├── .gitignore
├── LICENSE
├── README.md
├── build.gradle
├── build.properties
├── build_template.properties
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── jni/
│ ├── Makefile
│ ├── build.sh
│ ├── ru_trolsoft_jni_NativeFileUtils.c
│ └── ru_trolsoft_jni_NativeFileUtils.h
├── lib/
│ ├── compile/
│ │ ├── apple/
│ │ │ ├── AppleJavaExtensions-1.6.jar
│ │ │ └── ui.jar
│ │ ├── checker-qual-3.32.0.jar
│ │ ├── jaxb-api-2.3.1.jar
│ │ └── jfxrt.jar
│ ├── runtime/
│ │ ├── VAqua13.jar
│ │ ├── apple/
│ │ │ └── AppleJavaExtensions-1.6.jar
│ │ ├── image4j.jar
│ │ ├── java-iso-tools/
│ │ │ ├── iso9660-writer-2.0.0.jar
│ │ │ └── sabre-2.0.0.jar
│ │ ├── javadjvu.jar
│ │ ├── jcifs/
│ │ │ └── jcifs-1.3.18-kohsuke-2-SNAPSHOT.jar
│ │ ├── jediterm/
│ │ │ ├── JediTerm-3.66-SNAPSHOT.jar
│ │ │ ├── annotations.jar
│ │ │ ├── jediterm-core-3.66-SNAPSHOT.jar
│ │ │ ├── jediterm-ui-3.66-SNAPSHOT.jar
│ │ │ ├── jzlib-1.1.1.jar
│ │ │ ├── pty4j-0.13.4.jar
│ │ │ └── purejavacomm.jar
│ │ ├── jets3t/
│ │ │ └── jets3t-0.7.2.jar
│ │ ├── jftp-1.60-trol1.jar
│ │ ├── jide-oss-3.7.4.jar
│ │ ├── quaqua/
│ │ │ ├── libquaqua.jnilib
│ │ │ ├── libquaqua64.jnilib
│ │ │ ├── quaqua-native.jar
│ │ │ └── quaqua.jar
│ │ ├── rsyntaxtextarea-3.6.3-SNAPSHOT.jar
│ │ ├── sardine-5.3.jar
│ │ ├── sevenzipjbinding-AllPlatforms.jar
│ │ ├── sevenzipjbinding-Mac-arm64.jar
│ │ ├── sevenzipjbinding.jar
│ │ ├── trolcommander-native.jar
│ │ ├── trolsoft.jar
│ │ └── vmware/
│ │ └── vim25-2.5.jar
│ └── tools/
│ ├── ant-contrib.jar
│ ├── appbundler.jar
│ ├── asm/
│ │ └── asm.jar
│ ├── file-leak-detector-1.8-jar-with-dependencies.jar
│ ├── jaxen/
│ │ └── jaxen.jar
│ ├── jaxme/
│ │ └── jaxme-api.jar
│ ├── jdeb.jar
│ ├── jdom/
│ │ └── jdom.jar
│ ├── msv/
│ │ ├── relaxngDatatype.jar
│ │ └── xsdlib.jar
│ ├── pull-parser/
│ │ └── pull-parser.jar
│ ├── stax/
│ │ └── stax-api.jar
│ ├── version.txt
│ ├── xalan/
│ │ └── xalan.jar
│ ├── xerces/
│ │ ├── xercesImpl.jar
│ │ └── xmlParserAPIs.jar
│ ├── xml-apis/
│ │ └── xml-apis.jar
│ ├── xom/
│ │ └── xom.jar
│ └── xpp3/
│ └── xpp3.jar
├── readme.txt
├── release-linux.sh
├── release.sh
├── res/
│ ├── jar/
│ │ ├── services/
│ │ │ └── services/
│ │ │ ├── org.apache.hadoop.crypto.key.KeyProviderFactory
│ │ │ ├── org.apache.hadoop.fs.FileSystem
│ │ │ ├── org.apache.hadoop.io.compress.CompressionCodec
│ │ │ ├── org.apache.hadoop.security.SecurityInfo
│ │ │ ├── org.apache.hadoop.security.alias.CredentialProviderFactory
│ │ │ ├── org.apache.hadoop.security.token.TokenIdentifier
│ │ │ └── org.apache.hadoop.security.token.TokenRenewer
│ │ ├── servicesCOMMON/
│ │ │ ├── org.apache.hadoop.crypto.key.KeyProviderFactory
│ │ │ ├── org.apache.hadoop.fs.FileSystem
│ │ │ ├── org.apache.hadoop.io.compress.CompressionCodec
│ │ │ ├── org.apache.hadoop.security.SecurityInfo
│ │ │ └── org.apache.hadoop.security.alias.CredentialProviderFactory
│ │ └── servicesHDFS/
│ │ ├── org.apache.hadoop.fs.FileSystem
│ │ ├── org.apache.hadoop.security.token.TokenIdentifier
│ │ └── org.apache.hadoop.security.token.TokenRenewer
│ └── package/
│ ├── keystore
│ ├── osx/
│ │ └── icon.icns
│ ├── unix/
│ │ ├── deb/
│ │ │ ├── control
│ │ │ ├── postinst
│ │ │ └── postrm
│ │ ├── trolcommander.desktop
│ │ └── trolcommander.sh
│ ├── version.xml
│ └── windows/
│ └── trolcommander.nsi
├── settings.gradle
└── src/
├── main/
│ ├── java/
│ │ ├── com/
│ │ │ ├── ibm/
│ │ │ │ └── icu/
│ │ │ │ └── text/
│ │ │ │ ├── CharsetDetector.java
│ │ │ │ ├── CharsetMatch.java
│ │ │ │ ├── CharsetRecog_2022.java
│ │ │ │ ├── CharsetRecog_UTF8.java
│ │ │ │ ├── CharsetRecog_Unicode.java
│ │ │ │ ├── CharsetRecog_mbcs.java
│ │ │ │ ├── CharsetRecog_sbcs.java
│ │ │ │ └── CharsetRecognizer.java
│ │ │ ├── mucommander/
│ │ │ │ ├── PlatformManager.java
│ │ │ │ ├── RuntimeConstants.java
│ │ │ │ ├── StressTester.java
│ │ │ │ ├── TrolCommander.java
│ │ │ │ ├── adb/
│ │ │ │ │ ├── AdbUtils.java
│ │ │ │ │ └── AndroidMenu.java
│ │ │ │ ├── auth/
│ │ │ │ │ ├── CredentialsConstants.java
│ │ │ │ │ ├── CredentialsManager.java
│ │ │ │ │ ├── CredentialsMapping.java
│ │ │ │ │ ├── CredentialsParser.java
│ │ │ │ │ ├── CredentialsWriter.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── bonjour/
│ │ │ │ │ ├── BonjourDirectory.java
│ │ │ │ │ ├── BonjourMenu.java
│ │ │ │ │ ├── BonjourService.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── bookmark/
│ │ │ │ │ ├── Bookmark.java
│ │ │ │ │ ├── BookmarkBuilder.java
│ │ │ │ │ ├── BookmarkConstants.java
│ │ │ │ │ ├── BookmarkException.java
│ │ │ │ │ ├── BookmarkListener.java
│ │ │ │ │ ├── BookmarkManager.java
│ │ │ │ │ ├── BookmarkParser.java
│ │ │ │ │ ├── BookmarkWriter.java
│ │ │ │ │ ├── XORCipher.java
│ │ │ │ │ ├── file/
│ │ │ │ │ │ ├── BookmarkFile.java
│ │ │ │ │ │ ├── BookmarkOutputStream.java
│ │ │ │ │ │ ├── BookmarkProtocolProvider.java
│ │ │ │ │ │ ├── BookmarkRoot.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ └── package.html
│ │ │ │ ├── cache/
│ │ │ │ │ ├── FastLRUCache.java
│ │ │ │ │ ├── LRUCache.java
│ │ │ │ │ ├── TextHistory.java
│ │ │ │ │ ├── WindowsStorage.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── command/
│ │ │ │ │ ├── AssociationBuilder.java
│ │ │ │ │ ├── AssociationFactory.java
│ │ │ │ │ ├── AssociationReader.java
│ │ │ │ │ ├── AssociationWriter.java
│ │ │ │ │ ├── AssociationsXmlConstants.java
│ │ │ │ │ ├── Command.java
│ │ │ │ │ ├── CommandAssociation.java
│ │ │ │ │ ├── CommandBuilder.java
│ │ │ │ │ ├── CommandException.java
│ │ │ │ │ ├── CommandManager.java
│ │ │ │ │ ├── CommandReader.java
│ │ │ │ │ ├── CommandType.java
│ │ │ │ │ ├── CommandWriter.java
│ │ │ │ │ ├── CommandsXmlConstants.java
│ │ │ │ │ ├── PermissionsFileFilter.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── commons/
│ │ │ │ │ ├── DummyDecoratedFile.java
│ │ │ │ │ ├── HasProgress.java
│ │ │ │ │ ├── collections/
│ │ │ │ │ │ ├── AlteredVector.java
│ │ │ │ │ │ ├── Enumerator.java
│ │ │ │ │ │ └── VectorChangeListener.java
│ │ │ │ │ ├── conf/
│ │ │ │ │ │ ├── BufferedConfigurationExplorer.java
│ │ │ │ │ │ ├── Configuration.java
│ │ │ │ │ │ ├── ConfigurationBuilder.java
│ │ │ │ │ │ ├── ConfigurationEvent.java
│ │ │ │ │ │ ├── ConfigurationException.java
│ │ │ │ │ │ ├── ConfigurationExplorer.java
│ │ │ │ │ │ ├── ConfigurationFormatException.java
│ │ │ │ │ │ ├── ConfigurationListener.java
│ │ │ │ │ │ ├── ConfigurationReader.java
│ │ │ │ │ │ ├── ConfigurationReaderFactory.java
│ │ │ │ │ │ ├── ConfigurationSection.java
│ │ │ │ │ │ ├── ConfigurationSource.java
│ │ │ │ │ │ ├── ConfigurationStructureException.java
│ │ │ │ │ │ ├── ConfigurationWriterFactory.java
│ │ │ │ │ │ ├── DefaultConfigurationBuilder.java
│ │ │ │ │ │ ├── FileConfigurationSource.java
│ │ │ │ │ │ ├── ReaderConfigurationException.java
│ │ │ │ │ │ ├── SourceConfigurationException.java
│ │ │ │ │ │ ├── ValueIterator.java
│ │ │ │ │ │ ├── ValueList.java
│ │ │ │ │ │ ├── WriterConfigurationException.java
│ │ │ │ │ │ ├── XmlConfigurationReader.java
│ │ │ │ │ │ ├── XmlConfigurationWriter.java
│ │ │ │ │ │ └── package-info.java
│ │ │ │ │ ├── file/
│ │ │ │ │ │ ├── AbstractArchiveEntryFile.java
│ │ │ │ │ │ ├── AbstractArchiveFile.java
│ │ │ │ │ │ ├── AbstractFile.java
│ │ │ │ │ │ ├── AbstractFileClassLoader.java
│ │ │ │ │ │ ├── AbstractROArchiveFile.java
│ │ │ │ │ │ ├── AbstractRWArchiveFile.java
│ │ │ │ │ │ ├── ArchiveEntry.java
│ │ │ │ │ │ ├── ArchiveEntryIterator.java
│ │ │ │ │ │ ├── ArchiveEntryTree.java
│ │ │ │ │ │ ├── ArchiveFormatProvider.java
│ │ │ │ │ │ ├── AuthException.java
│ │ │ │ │ │ ├── AuthenticationType.java
│ │ │ │ │ │ ├── Authenticator.java
│ │ │ │ │ │ ├── Credentials.java
│ │ │ │ │ │ ├── DefaultPathCanonizer.java
│ │ │ │ │ │ ├── DefaultSchemeHandler.java
│ │ │ │ │ │ ├── DefaultSchemeParser.java
│ │ │ │ │ │ ├── DummyFile.java
│ │ │ │ │ │ ├── FileAccessDeniedException.java
│ │ │ │ │ │ ├── FileAttributes.java
│ │ │ │ │ │ ├── FileFactory.java
│ │ │ │ │ │ ├── FileOperation.java
│ │ │ │ │ │ ├── FilePermissions.java
│ │ │ │ │ │ ├── FileProtocols.java
│ │ │ │ │ │ ├── FileURL.java
│ │ │ │ │ │ ├── GroupedPermissionBits.java
│ │ │ │ │ │ ├── IndividualPermissionBits.java
│ │ │ │ │ │ ├── MacOsSystemFolder.java
│ │ │ │ │ │ ├── MimeTypes.java
│ │ │ │ │ │ ├── MutableFileAttributes.java
│ │ │ │ │ │ ├── PathCanonizer.java
│ │ │ │ │ │ ├── PermissionAccesses.java
│ │ │ │ │ │ ├── PermissionBits.java
│ │ │ │ │ │ ├── PermissionTypes.java
│ │ │ │ │ │ ├── ProtocolFile.java
│ │ │ │ │ │ ├── ProtocolProvider.java
│ │ │ │ │ │ ├── ROArchiveEntryFile.java
│ │ │ │ │ │ ├── RWArchiveEntryFile.java
│ │ │ │ │ │ ├── SchemeHandler.java
│ │ │ │ │ │ ├── SchemeParser.java
│ │ │ │ │ │ ├── SevenZipArchiveFormatDetector.java
│ │ │ │ │ │ ├── SimpleFileAttributes.java
│ │ │ │ │ │ ├── SimpleFilePermissions.java
│ │ │ │ │ │ ├── SingleArchiveEntryIterator.java
│ │ │ │ │ │ ├── SyncedFileAttributes.java
│ │ │ │ │ │ ├── UnsupportedFileOperation.java
│ │ │ │ │ │ ├── UnsupportedFileOperationException.java
│ │ │ │ │ │ ├── WrapperArchiveEntryIterator.java
│ │ │ │ │ │ ├── archiver/
│ │ │ │ │ │ │ ├── ArchiveFormat.java
│ │ │ │ │ │ │ ├── Archiver.java
│ │ │ │ │ │ │ ├── ISOArchiver.java
│ │ │ │ │ │ │ ├── SingleFileArchiver.java
│ │ │ │ │ │ │ ├── TarArchiver.java
│ │ │ │ │ │ │ └── ZipArchiver.java
│ │ │ │ │ │ ├── compat/
│ │ │ │ │ │ │ ├── CompatURLConnection.java
│ │ │ │ │ │ │ └── CompatURLStreamHandler.java
│ │ │ │ │ │ ├── connection/
│ │ │ │ │ │ │ ├── ConnectionHandler.java
│ │ │ │ │ │ │ ├── ConnectionHandlerFactory.java
│ │ │ │ │ │ │ └── ConnectionPool.java
│ │ │ │ │ │ ├── filter/
│ │ │ │ │ │ │ ├── AbstractContainsFilter.java
│ │ │ │ │ │ │ ├── AbstractCriterionFilter.java
│ │ │ │ │ │ │ ├── AbstractEndsWithFilter.java
│ │ │ │ │ │ │ ├── AbstractEqualsFilter.java
│ │ │ │ │ │ │ ├── AbstractExtensionFilter.java
│ │ │ │ │ │ │ ├── AbstractFileFilter.java
│ │ │ │ │ │ │ ├── AbstractFilenameFilter.java
│ │ │ │ │ │ │ ├── AbstractPathFilter.java
│ │ │ │ │ │ │ ├── AbstractRegexpFilter.java
│ │ │ │ │ │ │ ├── AbstractStartsWithFilter.java
│ │ │ │ │ │ │ ├── AbstractStringCriterionFilter.java
│ │ │ │ │ │ │ ├── AndFileFilter.java
│ │ │ │ │ │ │ ├── AttributeFileFilter.java
│ │ │ │ │ │ │ ├── ChainedFileFilter.java
│ │ │ │ │ │ │ ├── ContainsFilenameFilter.java
│ │ │ │ │ │ │ ├── ContainsPathFilter.java
│ │ │ │ │ │ │ ├── CriterionFilter.java
│ │ │ │ │ │ │ ├── CriterionValueGenerator.java
│ │ │ │ │ │ │ ├── EmptyFileFilter.java
│ │ │ │ │ │ │ ├── EndsWithFilenameFilter.java
│ │ │ │ │ │ │ ├── EndsWithPathFilter.java
│ │ │ │ │ │ │ ├── EqualsFilenameFilter.java
│ │ │ │ │ │ │ ├── EqualsPathFilter.java
│ │ │ │ │ │ │ ├── ExtensionFilenameFilter.java
│ │ │ │ │ │ │ ├── ExtensionPathFilter.java
│ │ │ │ │ │ │ ├── FileFilter.java
│ │ │ │ │ │ │ ├── FileOperationFilter.java
│ │ │ │ │ │ │ ├── FilenameFilter.java
│ │ │ │ │ │ │ ├── FilenameGenerator.java
│ │ │ │ │ │ │ ├── MountedDriveFilter.java
│ │ │ │ │ │ │ ├── OrFileFilter.java
│ │ │ │ │ │ │ ├── PassThroughFileFilter.java
│ │ │ │ │ │ │ ├── PathFilter.java
│ │ │ │ │ │ │ ├── PathGenerator.java
│ │ │ │ │ │ │ ├── RegexpFilenameFilter.java
│ │ │ │ │ │ │ ├── RegexpPathFilter.java
│ │ │ │ │ │ │ ├── StartsWithFilenameFilter.java
│ │ │ │ │ │ │ ├── StartsWithPathFilter.java
│ │ │ │ │ │ │ ├── StringCriterionFilter.java
│ │ │ │ │ │ │ └── WildcardFileFilter.java
│ │ │ │ │ │ ├── icon/
│ │ │ │ │ │ │ ├── CacheableFileIconProvider.java
│ │ │ │ │ │ │ ├── CachedFileIconProvider.java
│ │ │ │ │ │ │ ├── FileIconProvider.java
│ │ │ │ │ │ │ ├── IconCache.java
│ │ │ │ │ │ │ ├── LocalFileIconProvider.java
│ │ │ │ │ │ │ └── impl/
│ │ │ │ │ │ │ ├── SwingFileIconProvider.java
│ │ │ │ │ │ │ └── SwingFileIconProviderImpl.java
│ │ │ │ │ │ ├── impl/
│ │ │ │ │ │ │ ├── CachedFile.java
│ │ │ │ │ │ │ ├── DebugFile.java
│ │ │ │ │ │ │ ├── ProxyFile.java
│ │ │ │ │ │ │ ├── SevenZipJBindingROArchiveFile.java
│ │ │ │ │ │ │ ├── adb/
│ │ │ │ │ │ │ │ ├── AdbFile.java
│ │ │ │ │ │ │ │ ├── AdbInputStream.java
│ │ │ │ │ │ │ │ └── AdbProtocolProvider.java
│ │ │ │ │ │ │ ├── ar/
│ │ │ │ │ │ │ │ ├── ArArchiveEntryIterator.java
│ │ │ │ │ │ │ │ ├── ArArchiveFile.java
│ │ │ │ │ │ │ │ ├── ArFormatProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── arj/
│ │ │ │ │ │ │ │ └── ArjFormatProvider.java
│ │ │ │ │ │ │ ├── avrdude/
│ │ │ │ │ │ │ │ ├── AvrConfigFileUtils.java
│ │ │ │ │ │ │ │ ├── AvrDudeInputStream.java
│ │ │ │ │ │ │ │ ├── Avrdude.java
│ │ │ │ │ │ │ │ ├── AvrdudeConfiguration.java
│ │ │ │ │ │ │ │ ├── AvrdudeDevice.java
│ │ │ │ │ │ │ │ ├── AvrdudeOutputStream.java
│ │ │ │ │ │ │ │ ├── AvrdudeProtocolProvider.java
│ │ │ │ │ │ │ │ ├── StreamType.java
│ │ │ │ │ │ │ │ └── files/
│ │ │ │ │ │ │ │ ├── AvrConfigFile.java
│ │ │ │ │ │ │ │ ├── AvrDeviceDir.java
│ │ │ │ │ │ │ │ ├── AvrMemoryDir.java
│ │ │ │ │ │ │ │ ├── AvrMemoryFile.java
│ │ │ │ │ │ │ │ ├── AvrRootDir.java
│ │ │ │ │ │ │ │ └── AvrdudeFile.java
│ │ │ │ │ │ │ ├── bzip2/
│ │ │ │ │ │ │ │ ├── Bzip2FormatProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── cab/
│ │ │ │ │ │ │ │ └── CabFormatProvider.java
│ │ │ │ │ │ │ ├── cpio/
│ │ │ │ │ │ │ │ └── CpioFormatProvider.java
│ │ │ │ │ │ │ ├── deb/
│ │ │ │ │ │ │ │ └── DebFormatProvider.java
│ │ │ │ │ │ │ ├── ftp/
│ │ │ │ │ │ │ │ ├── FTPFile.java
│ │ │ │ │ │ │ │ ├── FTPProtocolProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── gzip/
│ │ │ │ │ │ │ │ ├── GzipArchiveFile.java
│ │ │ │ │ │ │ │ ├── GzipFormatProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── hadoop/
│ │ │ │ │ │ │ │ ├── HDFSFile.java
│ │ │ │ │ │ │ │ ├── HDFSProtocolProvider.java
│ │ │ │ │ │ │ │ ├── HadoopFile.java
│ │ │ │ │ │ │ │ ├── S3File.java
│ │ │ │ │ │ │ │ └── S3ProtocolProvider.java
│ │ │ │ │ │ │ ├── http/
│ │ │ │ │ │ │ │ ├── HTTPFile.java
│ │ │ │ │ │ │ │ ├── HTTPProtocolProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── iso/
│ │ │ │ │ │ │ │ ├── IsoArchiveEntry.java
│ │ │ │ │ │ │ │ ├── IsoArchiveFile.java
│ │ │ │ │ │ │ │ ├── IsoEntryInputStream.java
│ │ │ │ │ │ │ │ ├── IsoEntryIterator.java
│ │ │ │ │ │ │ │ ├── IsoFormatProvider.java
│ │ │ │ │ │ │ │ ├── IsoParser.java
│ │ │ │ │ │ │ │ ├── IsoUtil.java
│ │ │ │ │ │ │ │ ├── MuCreateISO.java
│ │ │ │ │ │ │ │ ├── MuFileHandler.java
│ │ │ │ │ │ │ │ ├── NrgParser.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── local/
│ │ │ │ │ │ │ │ ├── LocalFile.java
│ │ │ │ │ │ │ │ ├── LocalProtocolProvider.java
│ │ │ │ │ │ │ │ ├── SpecialWindowsLocation.java
│ │ │ │ │ │ │ │ ├── UNCFile.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── lst/
│ │ │ │ │ │ │ │ ├── LstArchiveEntry.java
│ │ │ │ │ │ │ │ ├── LstArchiveEntryIterator.java
│ │ │ │ │ │ │ │ ├── LstArchiveFile.java
│ │ │ │ │ │ │ │ ├── LstFormatProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── lzh/
│ │ │ │ │ │ │ │ └── LzhFormatProvider.java
│ │ │ │ │ │ │ ├── lzma/
│ │ │ │ │ │ │ │ └── LzmaFormatProvider.java
│ │ │ │ │ │ │ ├── nfs/
│ │ │ │ │ │ │ │ ├── NFSFile.java
│ │ │ │ │ │ │ │ ├── NFSProtocolProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── rar/
│ │ │ │ │ │ │ │ └── RarFormatProvider.java
│ │ │ │ │ │ │ ├── rpm/
│ │ │ │ │ │ │ │ └── RpmFormatProvider.java
│ │ │ │ │ │ │ ├── s3/
│ │ │ │ │ │ │ │ ├── S3Bucket.java
│ │ │ │ │ │ │ │ ├── S3File.java
│ │ │ │ │ │ │ │ ├── S3Object.java
│ │ │ │ │ │ │ │ ├── S3ProtocolProvider.java
│ │ │ │ │ │ │ │ └── S3Root.java
│ │ │ │ │ │ │ ├── sevenzip/
│ │ │ │ │ │ │ │ ├── SevenZipArchiveFile.java
│ │ │ │ │ │ │ │ ├── SevenZipFormatProvider.java
│ │ │ │ │ │ │ │ ├── SignatureCheckedRandomAccessFile.java
│ │ │ │ │ │ │ │ ├── multivolume/
│ │ │ │ │ │ │ │ │ ├── InArchiveWrapper.java
│ │ │ │ │ │ │ │ │ ├── SevenZipMultiVolumeCallbackHandler.java
│ │ │ │ │ │ │ │ │ └── SevenZipRarMultiVolumeCallbackHandler.java
│ │ │ │ │ │ │ │ └── provider/
│ │ │ │ │ │ │ │ ├── Common/
│ │ │ │ │ │ │ │ │ ├── BoolVector.java
│ │ │ │ │ │ │ │ │ ├── ByteBuffer.java
│ │ │ │ │ │ │ │ │ ├── CRC.java
│ │ │ │ │ │ │ │ │ ├── IntVector.java
│ │ │ │ │ │ │ │ │ ├── LimitedSequentialInStream.java
│ │ │ │ │ │ │ │ │ ├── LockedInStream.java
│ │ │ │ │ │ │ │ │ ├── LockedSequentialInStreamImp.java
│ │ │ │ │ │ │ │ │ ├── LongVector.java
│ │ │ │ │ │ │ │ │ ├── ObjectVector.java
│ │ │ │ │ │ │ │ │ └── RecordVector.java
│ │ │ │ │ │ │ │ └── SevenZip/
│ │ │ │ │ │ │ │ ├── Archive/
│ │ │ │ │ │ │ │ │ ├── Common/
│ │ │ │ │ │ │ │ │ │ ├── BindInfo.java
│ │ │ │ │ │ │ │ │ │ ├── BindPair.java
│ │ │ │ │ │ │ │ │ │ ├── CoderInfo.java
│ │ │ │ │ │ │ │ │ │ ├── CoderMixer2.java
│ │ │ │ │ │ │ │ │ │ ├── CoderMixer2ST.java
│ │ │ │ │ │ │ │ │ │ ├── CoderStreamsInfo.java
│ │ │ │ │ │ │ │ │ │ ├── FilterCoder.java
│ │ │ │ │ │ │ │ │ │ ├── OutStreamWithCRC.java
│ │ │ │ │ │ │ │ │ │ └── STCoderInfo.java
│ │ │ │ │ │ │ │ │ ├── IArchiveExtractCallback.java
│ │ │ │ │ │ │ │ │ ├── IInArchive.java
│ │ │ │ │ │ │ │ │ ├── SevenZip/
│ │ │ │ │ │ │ │ │ │ ├── AltCoderInfo.java
│ │ │ │ │ │ │ │ │ │ ├── ArchiveDatabase.java
│ │ │ │ │ │ │ │ │ │ ├── ArchiveDatabaseEx.java
│ │ │ │ │ │ │ │ │ │ ├── BindInfoEx.java
│ │ │ │ │ │ │ │ │ │ ├── CoderInfo.java
│ │ │ │ │ │ │ │ │ │ ├── Decoder.java
│ │ │ │ │ │ │ │ │ │ ├── ExtractFolderInfo.java
│ │ │ │ │ │ │ │ │ │ ├── FileItem.java
│ │ │ │ │ │ │ │ │ │ ├── Folder.java
│ │ │ │ │ │ │ │ │ │ ├── FolderOutStream.java
│ │ │ │ │ │ │ │ │ │ ├── Handler.java
│ │ │ │ │ │ │ │ │ │ ├── Header.java
│ │ │ │ │ │ │ │ │ │ ├── InArchive.java
│ │ │ │ │ │ │ │ │ │ ├── InArchiveInfo.java
│ │ │ │ │ │ │ │ │ │ ├── InByte2.java
│ │ │ │ │ │ │ │ │ │ ├── MethodID.java
│ │ │ │ │ │ │ │ │ │ └── StreamSwitch.java
│ │ │ │ │ │ │ │ │ └── SevenZipEntry.java
│ │ │ │ │ │ │ │ ├── ArchiveExtractCallback.java
│ │ │ │ │ │ │ │ ├── Common/
│ │ │ │ │ │ │ │ │ ├── InBuffer.java
│ │ │ │ │ │ │ │ │ ├── LocalCompressProgressInfo.java
│ │ │ │ │ │ │ │ │ ├── LocalProgress.java
│ │ │ │ │ │ │ │ │ ├── SequentialOutStreamImp2.java
│ │ │ │ │ │ │ │ │ └── StreamUtils.java
│ │ │ │ │ │ │ │ ├── Compression/
│ │ │ │ │ │ │ │ │ ├── Branch/
│ │ │ │ │ │ │ │ │ │ ├── BCJ2_x86_Decoder.java
│ │ │ │ │ │ │ │ │ │ └── BCJ_x86_Decoder.java
│ │ │ │ │ │ │ │ │ ├── Copy/
│ │ │ │ │ │ │ │ │ │ └── Decoder.java
│ │ │ │ │ │ │ │ │ ├── LZ/
│ │ │ │ │ │ │ │ │ │ ├── BinTree.java
│ │ │ │ │ │ │ │ │ │ ├── InWindow.java
│ │ │ │ │ │ │ │ │ │ └── OutWindow.java
│ │ │ │ │ │ │ │ │ ├── LZMA/
│ │ │ │ │ │ │ │ │ │ ├── Base.java
│ │ │ │ │ │ │ │ │ │ ├── Decoder.java
│ │ │ │ │ │ │ │ │ │ └── Encoder.java
│ │ │ │ │ │ │ │ │ └── RangeCoder/
│ │ │ │ │ │ │ │ │ ├── BitDecoder.java
│ │ │ │ │ │ │ │ │ ├── BitModel.java
│ │ │ │ │ │ │ │ │ ├── BitTreeDecoder.java
│ │ │ │ │ │ │ │ │ ├── BitTreeEncoder.java
│ │ │ │ │ │ │ │ │ ├── Decoder.java
│ │ │ │ │ │ │ │ │ └── Encoder.java
│ │ │ │ │ │ │ │ ├── HRESULT.java
│ │ │ │ │ │ │ │ ├── ICodeProgress.java
│ │ │ │ │ │ │ │ ├── ICompressCoder.java
│ │ │ │ │ │ │ │ ├── ICompressCoder2.java
│ │ │ │ │ │ │ │ ├── ICompressFilter.java
│ │ │ │ │ │ │ │ ├── ICompressGetInStreamProcessedSize.java
│ │ │ │ │ │ │ │ ├── ICompressProgressInfo.java
│ │ │ │ │ │ │ │ ├── ICompressSetDecoderProperties2.java
│ │ │ │ │ │ │ │ ├── ICompressSetInStream.java
│ │ │ │ │ │ │ │ ├── ICompressSetOutStream.java
│ │ │ │ │ │ │ │ ├── ICompressSetOutStreamSize.java
│ │ │ │ │ │ │ │ ├── IInStream.java
│ │ │ │ │ │ │ │ ├── IProgress.java
│ │ │ │ │ │ │ │ ├── J7zip.java
│ │ │ │ │ │ │ │ ├── LzmaAlone.java
│ │ │ │ │ │ │ │ ├── LzmaBench.java
│ │ │ │ │ │ │ │ └── MyRandomAccessFile.java
│ │ │ │ │ │ │ ├── sftp/
│ │ │ │ │ │ │ │ ├── SFTPConnectionHandler.java
│ │ │ │ │ │ │ │ ├── SFTPConnectionHandlerFactory.java
│ │ │ │ │ │ │ │ ├── SFTPFile.java
│ │ │ │ │ │ │ │ ├── SFTPProtocolProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── smb/
│ │ │ │ │ │ │ │ ├── SMBFile.java
│ │ │ │ │ │ │ │ ├── SMBProtocolProvider.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── tar/
│ │ │ │ │ │ │ │ ├── TarArchiveFile.java
│ │ │ │ │ │ │ │ ├── TarEntryIterator.java
│ │ │ │ │ │ │ │ ├── TarFormatProvider.java
│ │ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ │ └── provider/
│ │ │ │ │ │ │ │ ├── TarBuffer.java
│ │ │ │ │ │ │ │ ├── TarConstants.java
│ │ │ │ │ │ │ │ ├── TarEntry.java
│ │ │ │ │ │ │ │ ├── TarInputStream.java
│ │ │ │ │ │ │ │ ├── TarOutputStream.java
│ │ │ │ │ │ │ │ └── TarUtils.java
│ │ │ │ │ │ │ ├── udf/
│ │ │ │ │ │ │ │ └── UdfFormatProvider.java
│ │ │ │ │ │ │ ├── vsphere/
│ │ │ │ │ │ │ │ ├── ManagedObjectReferenceWrapper.java
│ │ │ │ │ │ │ │ ├── VSphereClient.java
│ │ │ │ │ │ │ │ ├── VSphereFile.java
│ │ │ │ │ │ │ │ ├── VSphereProtocolProvider.java
│ │ │ │ │ │ │ │ ├── VsphereConnHandler.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── webdav/
│ │ │ │ │ │ │ │ ├── WebDAVFile.java
│ │ │ │ │ │ │ │ └── WebDAVProvider.java
│ │ │ │ │ │ │ ├── wim/
│ │ │ │ │ │ │ │ └── WimFormatProvider.java
│ │ │ │ │ │ │ ├── xar/
│ │ │ │ │ │ │ │ └── XarFormatProvider.java
│ │ │ │ │ │ │ ├── z/
│ │ │ │ │ │ │ │ └── ZFormatProvider.java
│ │ │ │ │ │ │ └── zip/
│ │ │ │ │ │ │ ├── JavaUtilZipEntryIterator.java
│ │ │ │ │ │ │ ├── ZipArchiveFile.java
│ │ │ │ │ │ │ ├── ZipFormatProvider.java
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ └── provider/
│ │ │ │ │ │ │ ├── AsiExtraField.java
│ │ │ │ │ │ │ ├── DeflatedOutputStream.java
│ │ │ │ │ │ │ ├── ExtraFieldUtils.java
│ │ │ │ │ │ │ ├── JarMarker.java
│ │ │ │ │ │ │ ├── StoredOutputStream.java
│ │ │ │ │ │ │ ├── UnixStat.java
│ │ │ │ │ │ │ ├── UnrecognizedExtraField.java
│ │ │ │ │ │ │ ├── ZipBuffer.java
│ │ │ │ │ │ │ ├── ZipConstants.java
│ │ │ │ │ │ │ ├── ZipEntry.java
│ │ │ │ │ │ │ ├── ZipEntryInfo.java
│ │ │ │ │ │ │ ├── ZipEntryOutputStream.java
│ │ │ │ │ │ │ ├── ZipExtraField.java
│ │ │ │ │ │ │ ├── ZipFile.java
│ │ │ │ │ │ │ ├── ZipLong.java
│ │ │ │ │ │ │ ├── ZipOutputStream.java
│ │ │ │ │ │ │ └── ZipShort.java
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ └── util/
│ │ │ │ │ │ ├── C.java
│ │ │ │ │ │ ├── CLibrary.java
│ │ │ │ │ │ ├── Chmod.java
│ │ │ │ │ │ ├── FileChangeListener.java
│ │ │ │ │ │ ├── FileComparator.java
│ │ │ │ │ │ ├── FileMonitor.java
│ │ │ │ │ │ ├── FileMonitorConstants.java
│ │ │ │ │ │ ├── FilePool.java
│ │ │ │ │ │ ├── FileSet.java
│ │ │ │ │ │ ├── Kernel32.java
│ │ │ │ │ │ ├── Kernel32API.java
│ │ │ │ │ │ ├── OSXFileUtils.java
│ │ │ │ │ │ ├── PathTokenizer.java
│ │ │ │ │ │ ├── PathUtils.java
│ │ │ │ │ │ ├── ResourceLoader.java
│ │ │ │ │ │ ├── Shell32.java
│ │ │ │ │ │ ├── Shell32API.java
│ │ │ │ │ │ └── SymLinkUtils.java
│ │ │ │ │ ├── io/
│ │ │ │ │ │ ├── BinaryDetector.java
│ │ │ │ │ │ ├── BlockRandomInputStream.java
│ │ │ │ │ │ ├── Bounded.java
│ │ │ │ │ │ ├── BoundedInputStream.java
│ │ │ │ │ │ ├── BoundedOutputStream.java
│ │ │ │ │ │ ├── BoundedReader.java
│ │ │ │ │ │ ├── BufferPool.java
│ │ │ │ │ │ ├── BufferedRandomOutputStream.java
│ │ │ │ │ │ ├── ByteCounter.java
│ │ │ │ │ │ ├── ByteUtils.java
│ │ │ │ │ │ ├── ChecksumInputStream.java
│ │ │ │ │ │ ├── ChecksumOutputStream.java
│ │ │ │ │ │ ├── CounterInputStream.java
│ │ │ │ │ │ ├── CounterOutputStream.java
│ │ │ │ │ │ ├── EncodingDetector.java
│ │ │ │ │ │ ├── FailSafePipedInputStream.java
│ │ │ │ │ │ ├── FileTransferException.java
│ │ │ │ │ │ ├── FilterRandomAccessInputStream.java
│ │ │ │ │ │ ├── FilteredOutputStream.java
│ │ │ │ │ │ ├── FilteredRandomOutputStream.java
│ │ │ │ │ │ ├── FixedByteArrayOutputStream.java
│ │ │ │ │ │ ├── MultiOutputStream.java
│ │ │ │ │ │ ├── RandomAccess.java
│ │ │ │ │ │ ├── RandomAccessInputStream.java
│ │ │ │ │ │ ├── RandomAccessOutputStream.java
│ │ │ │ │ │ ├── RandomGeneratorInputStream.java
│ │ │ │ │ │ ├── SilenceableOutputStream.java
│ │ │ │ │ │ ├── SinkOutputStream.java
│ │ │ │ │ │ ├── StreamOutOfBoundException.java
│ │ │ │ │ │ ├── StreamUtils.java
│ │ │ │ │ │ ├── ThroughputLimitInputStream.java
│ │ │ │ │ │ ├── base64/
│ │ │ │ │ │ │ ├── Base64Decoder.java
│ │ │ │ │ │ │ ├── Base64Encoder.java
│ │ │ │ │ │ │ ├── Base64InputStream.java
│ │ │ │ │ │ │ ├── Base64OutputStream.java
│ │ │ │ │ │ │ ├── Base64Table.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── bom/
│ │ │ │ │ │ │ ├── BOM.java
│ │ │ │ │ │ │ ├── BOMConstants.java
│ │ │ │ │ │ │ ├── BOMInputStream.java
│ │ │ │ │ │ │ ├── BOMReader.java
│ │ │ │ │ │ │ ├── BOMWriter.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── compound/
│ │ │ │ │ │ │ ├── CompoundInputStream.java
│ │ │ │ │ │ │ ├── CompoundReader.java
│ │ │ │ │ │ │ ├── IteratorCompoundInputStream.java
│ │ │ │ │ │ │ └── IteratorCompoundReader.java
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ └── security/
│ │ │ │ │ │ ├── Adler32MessageDigest.java
│ │ │ │ │ │ ├── CRC32MessageDigest.java
│ │ │ │ │ │ ├── ChecksumMessageDigest.java
│ │ │ │ │ │ ├── MuProvider.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── runtime/
│ │ │ │ │ │ ├── ComparableRuntimeProperty.java
│ │ │ │ │ │ ├── JavaVersion.java
│ │ │ │ │ │ ├── OsFamily.java
│ │ │ │ │ │ ├── OsVersion.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ └── util/
│ │ │ │ │ ├── BufferOverflowException.java
│ │ │ │ │ ├── CircularByteBuffer.java
│ │ │ │ │ ├── Pair.java
│ │ │ │ │ ├── StringUtils.java
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── conf/
│ │ │ │ │ ├── TcConfigurationFile.java
│ │ │ │ │ ├── TcConfigurations.java
│ │ │ │ │ ├── TcPreference.java
│ │ │ │ │ ├── TcPreferences.java
│ │ │ │ │ ├── TcPreferencesAPI.java
│ │ │ │ │ ├── TcPreferencesFile.java
│ │ │ │ │ ├── TcSnapshot.java
│ │ │ │ │ ├── TcSnapshotFile.java
│ │ │ │ │ ├── VersionedXmlConfigurationReader.java
│ │ │ │ │ ├── VersionedXmlConfigurationReaderFactory.java
│ │ │ │ │ ├── VersionedXmlConfigurationWriter.java
│ │ │ │ │ ├── VersionedXmlConfigurationWriterFactory.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── core/
│ │ │ │ │ ├── FolderChangeMonitor.java
│ │ │ │ │ ├── GlobalLocationHistory.java
│ │ │ │ │ ├── LocalLocationHistory.java
│ │ │ │ │ ├── LocationChanger.java
│ │ │ │ │ └── NullableFile.java
│ │ │ │ ├── desktop/
│ │ │ │ │ ├── AbstractTrash.java
│ │ │ │ │ ├── CommandBrowse.java
│ │ │ │ │ ├── CommandOpen.java
│ │ │ │ │ ├── CommandOpenInFileManager.java
│ │ │ │ │ ├── DefaultDesktopAdapter.java
│ │ │ │ │ ├── DesktopAdapter.java
│ │ │ │ │ ├── DesktopInitializationException.java
│ │ │ │ │ ├── DesktopManager.java
│ │ │ │ │ ├── DesktopOperation.java
│ │ │ │ │ ├── InternalBrowse.java
│ │ │ │ │ ├── InternalOpen.java
│ │ │ │ │ ├── LocalFileOperation.java
│ │ │ │ │ ├── QueuedTrash.java
│ │ │ │ │ ├── TrashProvider.java
│ │ │ │ │ ├── UrlOperation.java
│ │ │ │ │ ├── gnome/
│ │ │ │ │ │ ├── ConfiguredGnomeDesktopAdapter.java
│ │ │ │ │ │ ├── GnomeConfig.java
│ │ │ │ │ │ ├── GnomeDesktopAdapter.java
│ │ │ │ │ │ ├── GnomeTrash.java
│ │ │ │ │ │ ├── GnomeTrashProvider.java
│ │ │ │ │ │ └── GuessedGnomeDesktopAdapter.java
│ │ │ │ │ ├── kde/
│ │ │ │ │ │ ├── ConfiguredKde3DesktopAdapter.java
│ │ │ │ │ │ ├── ConfiguredKde4DesktopAdapter.java
│ │ │ │ │ │ ├── GuessedKde3DesktopAdapter.java
│ │ │ │ │ │ ├── GuessedKde4DesktopAdapter.java
│ │ │ │ │ │ ├── Kde3DesktopAdapter.java
│ │ │ │ │ │ ├── Kde3TrashProvider.java
│ │ │ │ │ │ ├── Kde4DesktopAdapter.java
│ │ │ │ │ │ ├── Kde4TrashProvider.java
│ │ │ │ │ │ ├── KdeConfig.java
│ │ │ │ │ │ ├── KdeDesktopAdapter.java
│ │ │ │ │ │ └── KdeTrash.java
│ │ │ │ │ ├── macos/
│ │ │ │ │ │ ├── OSXApplications.java
│ │ │ │ │ │ ├── OSXDesktopAdapter.java
│ │ │ │ │ │ ├── OSXTerminal.kt
│ │ │ │ │ │ ├── OSXTrash.java
│ │ │ │ │ │ └── OSXTrashProvider.java
│ │ │ │ │ ├── openvms/
│ │ │ │ │ │ └── OpenVMSDesktopAdapter.java
│ │ │ │ │ ├── windows/
│ │ │ │ │ │ ├── Win9xDesktopAdapter.java
│ │ │ │ │ │ ├── WinNtDesktopAdapter.java
│ │ │ │ │ │ ├── WindowsDesktopAdapter.java
│ │ │ │ │ │ ├── WindowsTrash.java
│ │ │ │ │ │ └── WindowsTrashProvider.java
│ │ │ │ │ └── xfce/
│ │ │ │ │ ├── GuessedXfceDesktopAdapter.java
│ │ │ │ │ ├── XfceDesktopAdapter.java
│ │ │ │ │ ├── XfceTrash.java
│ │ │ │ │ └── XfceTrashProvider.java
│ │ │ │ ├── extension/
│ │ │ │ │ ├── ClassFilter.java
│ │ │ │ │ ├── ClassFinder.java
│ │ │ │ │ ├── ExtensionManager.java
│ │ │ │ │ ├── LookAndFeelFilter.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── io/
│ │ │ │ │ ├── backup/
│ │ │ │ │ │ ├── BackupConstants.java
│ │ │ │ │ │ ├── BackupInputStream.java
│ │ │ │ │ │ └── BackupOutputStream.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── job/
│ │ │ │ │ ├── AbstractCopyJob.java
│ │ │ │ │ ├── ArchiveJob.java
│ │ │ │ │ ├── BatchRenameJob.java
│ │ │ │ │ ├── CalculateChecksumJob.java
│ │ │ │ │ ├── ChangeFileAttributesJob.java
│ │ │ │ │ ├── CombineFilesJob.java
│ │ │ │ │ ├── CopyJob.java
│ │ │ │ │ ├── DeleteJob.java
│ │ │ │ │ ├── FileCollisionChecker.java
│ │ │ │ │ ├── FileJob.java
│ │ │ │ │ ├── FileJobException.java
│ │ │ │ │ ├── FileJobListener.java
│ │ │ │ │ ├── FindFileJob.java
│ │ │ │ │ ├── MakeDirectoryFileJob.java
│ │ │ │ │ ├── MoveJob.java
│ │ │ │ │ ├── PropertiesJob.java
│ │ │ │ │ ├── SelfUpdateJob.java
│ │ │ │ │ ├── SendMailJob.java
│ │ │ │ │ ├── SplitFileJob.java
│ │ │ │ │ ├── TempCopyJob.java
│ │ │ │ │ ├── TempExecJob.java
│ │ │ │ │ ├── TempOpenWithJob.java
│ │ │ │ │ ├── TransferFileJob.java
│ │ │ │ │ ├── UnpackJob.java
│ │ │ │ │ ├── progress/
│ │ │ │ │ │ ├── JobProgress.java
│ │ │ │ │ │ ├── JobProgressListener.java
│ │ │ │ │ │ └── JobProgressMonitor.java
│ │ │ │ │ ├── ui/
│ │ │ │ │ │ ├── DialogResult.java
│ │ │ │ │ │ └── UserInputHelper.java
│ │ │ │ │ └── utils/
│ │ │ │ │ └── ScanDirectoryThread.java
│ │ │ │ ├── launcher/
│ │ │ │ │ ├── LauncherCmdHelper.java
│ │ │ │ │ ├── LauncherExecutor.kt
│ │ │ │ │ ├── LauncherTask.kt
│ │ │ │ │ ├── ShutdownHook.java
│ │ │ │ │ └── tasks.kt
│ │ │ │ ├── package.html
│ │ │ │ ├── process/
│ │ │ │ │ ├── AbstractProcess.java
│ │ │ │ │ ├── DebugProcessListener.java
│ │ │ │ │ ├── ExecutionFinishListener.java
│ │ │ │ │ ├── ExecutorUtils.java
│ │ │ │ │ ├── LocalProcess.java
│ │ │ │ │ ├── ProcessListener.java
│ │ │ │ │ ├── ProcessListenerList.java
│ │ │ │ │ ├── ProcessOutputMonitor.java
│ │ │ │ │ ├── ProcessRunner.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── profiler/
│ │ │ │ │ └── Profiler.java
│ │ │ │ ├── shell/
│ │ │ │ │ ├── Shell.java
│ │ │ │ │ ├── ShellEncodingListener.java
│ │ │ │ │ ├── ShellHistoryConstants.java
│ │ │ │ │ ├── ShellHistoryListener.java
│ │ │ │ │ ├── ShellHistoryManager.java
│ │ │ │ │ ├── ShellHistoryReader.java
│ │ │ │ │ ├── ShellHistoryWriter.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── tools/
│ │ │ │ │ ├── AdbTool.java
│ │ │ │ │ ├── AvrAssemblerCommandsHelper.java
│ │ │ │ │ ├── ExternalTool.java
│ │ │ │ │ └── FileMergeTool.java
│ │ │ │ ├── ui/
│ │ │ │ │ ├── PreloadedJFrame.java
│ │ │ │ │ ├── action/
│ │ │ │ │ │ ├── AbstractActionDescriptor.java
│ │ │ │ │ │ ├── AcceleratorMap.java
│ │ │ │ │ │ ├── ActionCategory.java
│ │ │ │ │ │ ├── ActionDescriptor.java
│ │ │ │ │ │ ├── ActionFactory.java
│ │ │ │ │ │ ├── ActionKeymap.java
│ │ │ │ │ │ ├── ActionKeymapIO.java
│ │ │ │ │ │ ├── ActionKeymapReader.java
│ │ │ │ │ │ ├── ActionKeymapWriter.java
│ │ │ │ │ │ ├── ActionManager.java
│ │ │ │ │ │ ├── ActionParameters.java
│ │ │ │ │ │ ├── ActionProperties.java
│ │ │ │ │ │ ├── AwtActionProxy.java
│ │ │ │ │ │ ├── InvokesDialog.java
│ │ │ │ │ │ ├── TcAction.java
│ │ │ │ │ │ ├── impl/
│ │ │ │ │ │ │ ├── AbstractViewerAction.java
│ │ │ │ │ │ │ ├── ActiveTabAction.java
│ │ │ │ │ │ │ ├── AddBookmarkAction.java
│ │ │ │ │ │ │ ├── AddTabAction.java
│ │ │ │ │ │ │ ├── BatchRenameAction.java
│ │ │ │ │ │ │ ├── BringAllToFrontAction.java
│ │ │ │ │ │ │ ├── CalculateChecksumAction.java
│ │ │ │ │ │ │ ├── CalculatorAction.java
│ │ │ │ │ │ │ ├── ChangeDateAction.java
│ │ │ │ │ │ │ ├── ChangeLocationAction.java
│ │ │ │ │ │ │ ├── ChangePermissionsAction.java
│ │ │ │ │ │ │ ├── ChangeReplicationAction.java
│ │ │ │ │ │ │ ├── CheckForUpdatesAction.java
│ │ │ │ │ │ │ ├── CloneTabToOtherPanelAction.java
│ │ │ │ │ │ │ ├── CloseDuplicateTabsAction.java
│ │ │ │ │ │ │ ├── CloseOtherTabsAction.java
│ │ │ │ │ │ │ ├── CloseTabAction.java
│ │ │ │ │ │ │ ├── CloseWindowAction.java
│ │ │ │ │ │ │ ├── CombineFilesAction.java
│ │ │ │ │ │ │ ├── CommandAction.java
│ │ │ │ │ │ │ ├── CompareFilesAction.java
│ │ │ │ │ │ │ ├── CompareFolderFilesAction.java
│ │ │ │ │ │ │ ├── CompareFoldersAction.java
│ │ │ │ │ │ │ ├── ConnectToServerAction.java
│ │ │ │ │ │ │ ├── CopyAction.java
│ │ │ │ │ │ │ ├── CopyFileBaseNamesAction.java
│ │ │ │ │ │ │ ├── CopyFileNamesAction.java
│ │ │ │ │ │ │ ├── CopyFilePathsAction.java
│ │ │ │ │ │ │ ├── CopyFilesToClipboardAction.java
│ │ │ │ │ │ │ ├── CreateSymlinkAction.java
│ │ │ │ │ │ │ ├── CustomizeCommandBarAction.java
│ │ │ │ │ │ │ ├── CutFilesToClipboardAction.java
│ │ │ │ │ │ │ ├── DeleteAction.java
│ │ │ │ │ │ │ ├── DonateAction.java
│ │ │ │ │ │ │ ├── DuplicateTabAction.java
│ │ │ │ │ │ │ ├── EditAction.java
│ │ │ │ │ │ │ ├── EditAsAction.java
│ │ │ │ │ │ │ ├── EditBookmarksAction.java
│ │ │ │ │ │ │ ├── EditCommandsAction.java
│ │ │ │ │ │ │ ├── EditCredentialsAction.java
│ │ │ │ │ │ │ ├── EjectDriveAction.java
│ │ │ │ │ │ │ ├── EmailAction.java
│ │ │ │ │ │ │ ├── EmptyTrashAction.java
│ │ │ │ │ │ │ ├── ExploreBookmarksAction.java
│ │ │ │ │ │ │ ├── FileAction.java
│ │ │ │ │ │ │ ├── FindFileAction.java
│ │ │ │ │ │ │ ├── FocusNextAction.java
│ │ │ │ │ │ │ ├── FocusPreviousAction.java
│ │ │ │ │ │ │ ├── GarbageCollectAction.java
│ │ │ │ │ │ │ ├── GoBackAction.java
│ │ │ │ │ │ │ ├── GoForwardAction.java
│ │ │ │ │ │ │ ├── GoToDocumentationAction.java
│ │ │ │ │ │ │ ├── GoToForumsAction.java
│ │ │ │ │ │ │ ├── GoToHomeAction.java
│ │ │ │ │ │ │ ├── GoToParentAction.java
│ │ │ │ │ │ │ ├── GoToParentInBothPanelsAction.java
│ │ │ │ │ │ │ ├── GoToParentInOtherPanelAction.java
│ │ │ │ │ │ │ ├── GoToRootAction.java
│ │ │ │ │ │ │ ├── GoToWebsiteAction.java
│ │ │ │ │ │ │ ├── InternalEditAction.java
│ │ │ │ │ │ │ ├── InternalViewAction.java
│ │ │ │ │ │ │ ├── InvertSelectionAction.java
│ │ │ │ │ │ │ ├── LeftArrowAction.java
│ │ │ │ │ │ │ ├── LocalCopyAction.java
│ │ │ │ │ │ │ ├── LocateSymlinkAction.java
│ │ │ │ │ │ │ ├── MarkAllAction.java
│ │ │ │ │ │ │ ├── MarkBackwardAction.java
│ │ │ │ │ │ │ ├── MarkEmptyFilesAction.java
│ │ │ │ │ │ │ ├── MarkExtensionAction.java
│ │ │ │ │ │ │ ├── MarkForwardAction.java
│ │ │ │ │ │ │ ├── MarkGroupAction.java
│ │ │ │ │ │ │ ├── MarkNextBlockAction.java
│ │ │ │ │ │ │ ├── MarkNextPageAction.java
│ │ │ │ │ │ │ ├── MarkNextRowAction.java
│ │ │ │ │ │ │ ├── MarkPreviousBlockAction.java
│ │ │ │ │ │ │ ├── MarkPreviousPageAction.java
│ │ │ │ │ │ │ ├── MarkPreviousRowAction.java
│ │ │ │ │ │ │ ├── MarkSelectedFileAction.java
│ │ │ │ │ │ │ ├── MarkToFirstRowAction.java
│ │ │ │ │ │ │ ├── MarkToLastRowAction.java
│ │ │ │ │ │ │ ├── MaximizeWindowAction.java
│ │ │ │ │ │ │ ├── MinimizeWindowAction.java
│ │ │ │ │ │ │ ├── MkdirAction.java
│ │ │ │ │ │ │ ├── MkfileAction.java
│ │ │ │ │ │ │ ├── MoveAction.java
│ │ │ │ │ │ │ ├── MoveTabToOtherPanelAction.java
│ │ │ │ │ │ │ ├── MuteProxyAction.java
│ │ │ │ │ │ │ ├── NewWindowAction.java
│ │ │ │ │ │ │ ├── NextTabAction.java
│ │ │ │ │ │ │ ├── OpenAction.java
│ │ │ │ │ │ │ ├── OpenAsAction.java
│ │ │ │ │ │ │ ├── OpenInBothPanelsAction.java
│ │ │ │ │ │ │ ├── OpenInNewTabAction.java
│ │ │ │ │ │ │ ├── OpenInOtherPanelAction.java
│ │ │ │ │ │ │ ├── OpenLeftInRightPanelAction.java
│ │ │ │ │ │ │ ├── OpenLocationAction.java
│ │ │ │ │ │ │ ├── OpenNativelyAction.java
│ │ │ │ │ │ │ ├── OpenRightInLeftPanelAction.java
│ │ │ │ │ │ │ ├── OpenTrashAction.java
│ │ │ │ │ │ │ ├── OpenURLInBrowserAction.java
│ │ │ │ │ │ │ ├── PackAction.java
│ │ │ │ │ │ │ ├── ParentFolderAction.java
│ │ │ │ │ │ │ ├── PasteClipboardFilesAction.java
│ │ │ │ │ │ │ ├── PasteFromArchiveToFilesFromClipboardAction.java
│ │ │ │ │ │ │ ├── PermanentDeleteAction.java
│ │ │ │ │ │ │ ├── PopupLeftDriveButtonAction.java
│ │ │ │ │ │ │ ├── PopupRightDriveButtonAction.java
│ │ │ │ │ │ │ ├── PreviousTabAction.java
│ │ │ │ │ │ │ ├── ProxyAction.java
│ │ │ │ │ │ │ ├── QuitAction.java
│ │ │ │ │ │ │ ├── RecallNextWindowAction.java
│ │ │ │ │ │ │ ├── RecallPreviousWindowAction.java
│ │ │ │ │ │ │ ├── RecallWindow10Action.java
│ │ │ │ │ │ │ ├── RecallWindow1Action.java
│ │ │ │ │ │ │ ├── RecallWindow2Action.java
│ │ │ │ │ │ │ ├── RecallWindow3Action.java
│ │ │ │ │ │ │ ├── RecallWindow4Action.java
│ │ │ │ │ │ │ ├── RecallWindow5Action.java
│ │ │ │ │ │ │ ├── RecallWindow6Action.java
│ │ │ │ │ │ │ ├── RecallWindow7Action.java
│ │ │ │ │ │ │ ├── RecallWindow8Action.java
│ │ │ │ │ │ │ ├── RecallWindow9Action.java
│ │ │ │ │ │ │ ├── RecallWindowAction.java
│ │ │ │ │ │ │ ├── RefreshAction.java
│ │ │ │ │ │ │ ├── RenameAction.java
│ │ │ │ │ │ │ ├── ReportBugAction.java
│ │ │ │ │ │ │ ├── RevealInDesktopAction.java
│ │ │ │ │ │ │ ├── ReverseSortOrderAction.java
│ │ │ │ │ │ │ ├── RightArrowAction.java
│ │ │ │ │ │ │ ├── RunCommandAction.java
│ │ │ │ │ │ │ ├── SelectBackwardAction.java
│ │ │ │ │ │ │ ├── SelectFirstRowAction.java
│ │ │ │ │ │ │ ├── SelectForwardAction.java
│ │ │ │ │ │ │ ├── SelectLastRowAction.java
│ │ │ │ │ │ │ ├── SelectNextBlockAction.java
│ │ │ │ │ │ │ ├── SelectNextPageAction.java
│ │ │ │ │ │ │ ├── SelectNextRowAction.java
│ │ │ │ │ │ │ ├── SelectPreviousBlockAction.java
│ │ │ │ │ │ │ ├── SelectPreviousPageAction.java
│ │ │ │ │ │ │ ├── SelectPreviousRowAction.java
│ │ │ │ │ │ │ ├── SelectedFileAction.java
│ │ │ │ │ │ │ ├── SelectedFilesAction.java
│ │ │ │ │ │ │ ├── SetSameFolderAction.java
│ │ │ │ │ │ │ ├── SetTabTitleAction.java
│ │ │ │ │ │ │ ├── ShowAboutAction.java
│ │ │ │ │ │ │ ├── ShowBookmarksQLAction.java
│ │ │ │ │ │ │ ├── ShowDebugConsoleAction.java
│ │ │ │ │ │ │ ├── ShowEditorBookmarksQLAction.java
│ │ │ │ │ │ │ ├── ShowFilePopupMenuAction.java
│ │ │ │ │ │ │ ├── ShowFilePropertiesAction.java
│ │ │ │ │ │ │ ├── ShowFoldersSizeAction.java
│ │ │ │ │ │ │ ├── ShowKeyboardShortcutsAction.java
│ │ │ │ │ │ │ ├── ShowParentFoldersQLAction.java
│ │ │ │ │ │ │ ├── ShowPreferencesAction.java
│ │ │ │ │ │ │ ├── ShowQuickListAction.java
│ │ │ │ │ │ │ ├── ShowRecentEditedFilesQLAction.java
│ │ │ │ │ │ │ ├── ShowRecentExecutedFilesQLAction.java
│ │ │ │ │ │ │ ├── ShowRecentLocationsQLAction.java
│ │ │ │ │ │ │ ├── ShowRecentViewedFilesQLAction.java
│ │ │ │ │ │ │ ├── ShowRootFoldersQLAction.java
│ │ │ │ │ │ │ ├── ShowServerConnectionsAction.java
│ │ │ │ │ │ │ ├── ShowTabsQLAction.java
│ │ │ │ │ │ │ ├── SortByAction.java
│ │ │ │ │ │ │ ├── SortByDateAction.java
│ │ │ │ │ │ │ ├── SortByExtensionAction.java
│ │ │ │ │ │ │ ├── SortByGroupAction.java
│ │ │ │ │ │ │ ├── SortByNameAction.java
│ │ │ │ │ │ │ ├── SortByOwnerAction.java
│ │ │ │ │ │ │ ├── SortByPermissionsAction.java
│ │ │ │ │ │ │ ├── SortBySizeAction.java
│ │ │ │ │ │ │ ├── SplitEquallyAction.java
│ │ │ │ │ │ │ ├── SplitFileAction.java
│ │ │ │ │ │ │ ├── SplitHorizontallyAction.java
│ │ │ │ │ │ │ ├── SplitVerticallyAction.java
│ │ │ │ │ │ │ ├── StopAction.java
│ │ │ │ │ │ │ ├── SwapFoldersAction.java
│ │ │ │ │ │ │ ├── SwitchActiveTableAction.java
│ │ │ │ │ │ │ ├── TerminalAction.java
│ │ │ │ │ │ │ ├── TerminalAltAction.java
│ │ │ │ │ │ │ ├── TerminalPanelAction.java
│ │ │ │ │ │ │ ├── TextEditorsListAction.java
│ │ │ │ │ │ │ ├── ToggleAutoSizeAction.java
│ │ │ │ │ │ │ ├── ToggleColumnAction.java
│ │ │ │ │ │ │ ├── ToggleCommandBarAction.java
│ │ │ │ │ │ │ ├── ToggleDateColumnAction.java
│ │ │ │ │ │ │ ├── ToggleExtensionColumnAction.java
│ │ │ │ │ │ │ ├── ToggleFoldersAlwaysAlphabeticalAction.java
│ │ │ │ │ │ │ ├── ToggleGroupColumnAction.java
│ │ │ │ │ │ │ ├── ToggleHiddenFilesAction.java
│ │ │ │ │ │ │ ├── ToggleLockTabAction.java
│ │ │ │ │ │ │ ├── ToggleOwnerColumnAction.java
│ │ │ │ │ │ │ ├── TogglePanelPreviewModeAction.java
│ │ │ │ │ │ │ ├── TogglePermissionsColumnAction.java
│ │ │ │ │ │ │ ├── ToggleShowFoldersFirstAction.java
│ │ │ │ │ │ │ ├── ToggleSinglePanelAction.java
│ │ │ │ │ │ │ ├── ToggleSizeColumnAction.java
│ │ │ │ │ │ │ ├── ToggleStatusBarAction.java
│ │ │ │ │ │ │ ├── ToggleTableViewModeCompactAction.java
│ │ │ │ │ │ │ ├── ToggleTableViewModeFullAction.java
│ │ │ │ │ │ │ ├── ToggleTableViewModeShortAction.java
│ │ │ │ │ │ │ ├── ToggleToolBarAction.java
│ │ │ │ │ │ │ ├── ToggleTreeAction.java
│ │ │ │ │ │ │ ├── UnmarkAllAction.java
│ │ │ │ │ │ │ ├── UnmarkGroupAction.java
│ │ │ │ │ │ │ ├── UnpackAction.java
│ │ │ │ │ │ │ ├── UserMenuAction.java
│ │ │ │ │ │ │ ├── ViewAction.java
│ │ │ │ │ │ │ └── ViewAsAction.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── autocomplete/
│ │ │ │ │ │ ├── AutocompleterTextComponent.java
│ │ │ │ │ │ ├── BasicAutocompleterTextComponent.java
│ │ │ │ │ │ ├── CompleterFactory.java
│ │ │ │ │ │ ├── CompletionType.java
│ │ │ │ │ │ ├── EditableComboboxCompletion.java
│ │ │ │ │ │ ├── OtherTextComponentCompletion.java
│ │ │ │ │ │ ├── TextFieldCompletion.java
│ │ │ │ │ │ ├── TypicalAutocompleterEditableCombobox.java
│ │ │ │ │ │ └── completers/
│ │ │ │ │ │ ├── ComboboxOptionsCompleter.java
│ │ │ │ │ │ ├── Completer.java
│ │ │ │ │ │ ├── LocationCompleter.java
│ │ │ │ │ │ ├── PathCompleter.java
│ │ │ │ │ │ ├── ServiceFactory.java
│ │ │ │ │ │ └── services/
│ │ │ │ │ │ ├── AllFilesService.java
│ │ │ │ │ │ ├── BookmarksService.java
│ │ │ │ │ │ ├── CompletionService.java
│ │ │ │ │ │ ├── FilesService.java
│ │ │ │ │ │ ├── FilteredFilesService.java
│ │ │ │ │ │ ├── PrefixFilter.java
│ │ │ │ │ │ ├── SystemVariablesService.java
│ │ │ │ │ │ └── VolumesService.java
│ │ │ │ │ ├── border/
│ │ │ │ │ │ ├── MutableLineBorder.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── button/
│ │ │ │ │ │ ├── ArrowButton.java
│ │ │ │ │ │ ├── ButtonChoicePanel.java
│ │ │ │ │ │ ├── CollapseExpandButton.java
│ │ │ │ │ │ ├── HelpButton.java
│ │ │ │ │ │ ├── HelpButtonPanel.java
│ │ │ │ │ │ ├── NonFocusableButton.java
│ │ │ │ │ │ ├── PopupButton.java
│ │ │ │ │ │ ├── RolloverButtonAdapter.java
│ │ │ │ │ │ ├── ToolbarMoreButton.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── chooser/
│ │ │ │ │ │ ├── ColorChangeEvent.java
│ │ │ │ │ │ ├── ColorChangeListener.java
│ │ │ │ │ │ ├── ColorChooser.java
│ │ │ │ │ │ ├── ColorPicker.java
│ │ │ │ │ │ ├── FontChooser.java
│ │ │ │ │ │ ├── IntegerChooser.java
│ │ │ │ │ │ ├── KeyboardShortcutChooser.java
│ │ │ │ │ │ ├── PreviewLabel.java
│ │ │ │ │ │ ├── SizeChooser.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── combobox/
│ │ │ │ │ │ ├── AutocompleteEditableCombobox.java
│ │ │ │ │ │ ├── ComboBoxCellRenderer.java
│ │ │ │ │ │ ├── ComboBoxListener.java
│ │ │ │ │ │ ├── EditableComboBox.java
│ │ │ │ │ │ ├── EditableComboBoxListener.java
│ │ │ │ │ │ ├── SaneComboBox.java
│ │ │ │ │ │ ├── TcComboBox.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── dialog/
│ │ │ │ │ │ ├── DialogOwner.java
│ │ │ │ │ │ ├── DialogToolkit.java
│ │ │ │ │ │ ├── FocusDialog.java
│ │ │ │ │ │ ├── InformationDialog.java
│ │ │ │ │ │ ├── PasswordDialog.java
│ │ │ │ │ │ ├── QuestionDialog.java
│ │ │ │ │ │ ├── about/
│ │ │ │ │ │ │ ├── AboutDialog.java
│ │ │ │ │ │ │ ├── LicenseDialog.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── auth/
│ │ │ │ │ │ │ ├── AuthDialog.java
│ │ │ │ │ │ │ ├── EditCredentialsDialog.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── bookmark/
│ │ │ │ │ │ │ ├── AddBookmarkDialog.kt
│ │ │ │ │ │ │ ├── BookmarkParentComboBox.java
│ │ │ │ │ │ │ ├── EditBookmarksDialog.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── commands/
│ │ │ │ │ │ │ ├── CommandsPanel.kt
│ │ │ │ │ │ │ └── EditCommandsDialog.kt
│ │ │ │ │ │ ├── customization/
│ │ │ │ │ │ │ ├── CommandBarDialog.java
│ │ │ │ │ │ │ └── CustomizeDialog.java
│ │ │ │ │ │ ├── debug/
│ │ │ │ │ │ │ ├── DebugConsoleAppender.java
│ │ │ │ │ │ │ ├── DebugConsoleDialog.java
│ │ │ │ │ │ │ └── LoggingEvent.java
│ │ │ │ │ │ ├── file/
│ │ │ │ │ │ │ ├── AbstractCopyDialog.java
│ │ │ │ │ │ │ ├── BatchRenameConfirmationDialog.java
│ │ │ │ │ │ │ ├── BatchRenameDialog.java
│ │ │ │ │ │ │ ├── BatchRenameSelectRange.java
│ │ │ │ │ │ │ ├── CalculateChecksumDialog.java
│ │ │ │ │ │ │ ├── ChangeDateDialog.java
│ │ │ │ │ │ │ ├── ChangePermissionsDialog.java
│ │ │ │ │ │ │ ├── ChangeReplicationDialog.java
│ │ │ │ │ │ │ ├── CombineFilesDialog.java
│ │ │ │ │ │ │ ├── CopyDialog.java
│ │ │ │ │ │ │ ├── DeleteDialog.java
│ │ │ │ │ │ │ ├── DownloadDialog.java
│ │ │ │ │ │ │ ├── EmailFilesDialog.java
│ │ │ │ │ │ │ ├── FileCollisionDialog.java
│ │ │ │ │ │ │ ├── FileCollisionRenameDialog.java
│ │ │ │ │ │ │ ├── FileSelectionDialog.java
│ │ │ │ │ │ │ ├── FindFileDialog.java
│ │ │ │ │ │ │ ├── FindFileResultRenderer.java
│ │ │ │ │ │ │ ├── JobDialog.java
│ │ │ │ │ │ │ ├── LocalCopyDialog.java
│ │ │ │ │ │ │ ├── MakeDirectoryFileDialog.java
│ │ │ │ │ │ │ ├── MoveDialog.java
│ │ │ │ │ │ │ ├── PackDialog.java
│ │ │ │ │ │ │ ├── PathFieldContent.java
│ │ │ │ │ │ │ ├── ProgressDialog.java
│ │ │ │ │ │ │ ├── PropertiesDialog.java
│ │ │ │ │ │ │ ├── SplitFileDialog.java
│ │ │ │ │ │ │ ├── TransferDestinationDialog.java
│ │ │ │ │ │ │ ├── UnpackDialog.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── help/
│ │ │ │ │ │ │ ├── ShortcutsDialog.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ ├── pref/
│ │ │ │ │ │ │ ├── PreferencesDialog.java
│ │ │ │ │ │ │ ├── PreferencesPanel.java
│ │ │ │ │ │ │ ├── component/
│ │ │ │ │ │ │ │ ├── PrefCheckBox.java
│ │ │ │ │ │ │ │ ├── PrefComboBox.java
│ │ │ │ │ │ │ │ ├── PrefComponent.java
│ │ │ │ │ │ │ │ ├── PrefEncodingSelectBox.java
│ │ │ │ │ │ │ │ ├── PrefFilePathField.java
│ │ │ │ │ │ │ │ ├── PrefRadioButton.java
│ │ │ │ │ │ │ │ ├── PrefTable.java
│ │ │ │ │ │ │ │ └── PrefTextField.java
│ │ │ │ │ │ │ ├── general/
│ │ │ │ │ │ │ │ ├── AppearancePanel.java
│ │ │ │ │ │ │ │ ├── FoldersPanel.java
│ │ │ │ │ │ │ │ ├── GeneralPanel.java
│ │ │ │ │ │ │ │ ├── GeneralPreferencesDialog.java
│ │ │ │ │ │ │ │ ├── MailPanel.java
│ │ │ │ │ │ │ │ ├── MiscPanel.java
│ │ │ │ │ │ │ │ ├── ShortcutsPanel.java
│ │ │ │ │ │ │ │ ├── ShortcutsTable.java
│ │ │ │ │ │ │ │ ├── ThemeNameDialog.java
│ │ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ └── theme/
│ │ │ │ │ │ │ ├── ColorButton.java
│ │ │ │ │ │ │ ├── CopyFilePanelColorsButton.java
│ │ │ │ │ │ │ ├── FileEditorPanel.java
│ │ │ │ │ │ │ ├── FileGroupsPanel.java
│ │ │ │ │ │ │ ├── FilePanel.java
│ │ │ │ │ │ │ ├── FilePanelColorIds.java
│ │ │ │ │ │ │ ├── FilePreviewPanel.java
│ │ │ │ │ │ │ ├── FolderPanePanel.java
│ │ │ │ │ │ │ ├── LocationBarPanel.java
│ │ │ │ │ │ │ ├── QuickListPanel.java
│ │ │ │ │ │ │ ├── ShellPanel.java
│ │ │ │ │ │ │ ├── StatusBarPanel.java
│ │ │ │ │ │ │ ├── ThemeEditorDialog.java
│ │ │ │ │ │ │ ├── ThemeEditorPanel.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── server/
│ │ │ │ │ │ │ ├── FTPPanel.java
│ │ │ │ │ │ │ ├── HDFSPanel.java
│ │ │ │ │ │ │ ├── HTTPPanel.java
│ │ │ │ │ │ │ ├── NFSPanel.java
│ │ │ │ │ │ │ ├── S3Panel.java
│ │ │ │ │ │ │ ├── SFTPPanel.java
│ │ │ │ │ │ │ ├── SMBPanel.java
│ │ │ │ │ │ │ ├── ServerConnectDialog.java
│ │ │ │ │ │ │ ├── ServerPanel.java
│ │ │ │ │ │ │ ├── ShowServerConnectionsDialog.java
│ │ │ │ │ │ │ ├── VSpherePanel.java
│ │ │ │ │ │ │ ├── WebDAVPanel.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── shell/
│ │ │ │ │ │ │ ├── RunDialog.java
│ │ │ │ │ │ │ ├── ShellComboBox.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── shutdown/
│ │ │ │ │ │ │ ├── QuitDialog.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── startup/
│ │ │ │ │ │ │ ├── CheckVersionDialog.java
│ │ │ │ │ │ │ ├── InitialSetupDialog.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── symlink/
│ │ │ │ │ │ │ ├── CreateSymLinkDialog.java
│ │ │ │ │ │ │ └── EditSymlinkDialog.java
│ │ │ │ │ │ └── tab/
│ │ │ │ │ │ └── TabTitleDialog.kt
│ │ │ │ │ ├── dnd/
│ │ │ │ │ │ ├── ClipboardNotifier.java
│ │ │ │ │ │ ├── ClipboardOperations.java
│ │ │ │ │ │ ├── ClipboardSupport.java
│ │ │ │ │ │ ├── DnDContext.java
│ │ │ │ │ │ ├── FileDragSourceListener.java
│ │ │ │ │ │ ├── FileDropTargetListener.java
│ │ │ │ │ │ ├── TransferableFileSet.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── encoding/
│ │ │ │ │ │ ├── EncodingListener.java
│ │ │ │ │ │ ├── EncodingMenu.java
│ │ │ │ │ │ ├── EncodingPreferences.java
│ │ │ │ │ │ ├── EncodingSelectBox.java
│ │ │ │ │ │ └── PreferredEncodingsDialog.java
│ │ │ │ │ ├── event/
│ │ │ │ │ │ ├── ActivePanelListener.java
│ │ │ │ │ │ ├── LocationAdapter.java
│ │ │ │ │ │ ├── LocationEvent.java
│ │ │ │ │ │ ├── LocationListener.java
│ │ │ │ │ │ ├── LocationManager.java
│ │ │ │ │ │ └── TableSelectionListener.java
│ │ │ │ │ ├── helper/
│ │ │ │ │ │ ├── FocusRequester.java
│ │ │ │ │ │ ├── MenuToolkit.java
│ │ │ │ │ │ ├── MnemonicHelper.java
│ │ │ │ │ │ ├── ScreenServices.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── icon/
│ │ │ │ │ │ ├── AnimatedIcon.java
│ │ │ │ │ │ ├── CustomFileIconProvider.java
│ │ │ │ │ │ ├── EmptyIcon.java
│ │ │ │ │ │ ├── FileIcons.java
│ │ │ │ │ │ ├── IconManager.java
│ │ │ │ │ │ └── SpinningDial.java
│ │ │ │ │ ├── layout/
│ │ │ │ │ │ ├── AsyncPanel.java
│ │ │ │ │ │ ├── CompareImagesPanel.java
│ │ │ │ │ │ ├── FluentPanel.java
│ │ │ │ │ │ ├── InformationPane.java
│ │ │ │ │ │ ├── ProportionalGridPanel.java
│ │ │ │ │ │ ├── ProportionalSplitPane.java
│ │ │ │ │ │ ├── SpringUtilities.java
│ │ │ │ │ │ ├── XAlignedComponentPanel.java
│ │ │ │ │ │ ├── XBoxPanel.java
│ │ │ │ │ │ ├── YBoxPanel.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── list/
│ │ │ │ │ │ ├── DynamicHorizontalWrapList.java
│ │ │ │ │ │ ├── DynamicList.java
│ │ │ │ │ │ ├── FileList.java
│ │ │ │ │ │ ├── SortableListPanel.kt
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── macosx/
│ │ │ │ │ │ ├── AppleScript.java
│ │ │ │ │ │ ├── AppleScriptBuilder.java
│ │ │ │ │ │ ├── EAWTHandler.java
│ │ │ │ │ │ ├── IMacOsWindow.java
│ │ │ │ │ │ ├── OSXIntegration.java
│ │ │ │ │ │ ├── TabbedPaneUICustomizer.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── main/
│ │ │ │ │ │ ├── BreadcrumbBar.kt
│ │ │ │ │ │ ├── ConfigurableFolderFilter.java
│ │ │ │ │ │ ├── DSStoreFileFilter.java
│ │ │ │ │ │ ├── DrivePopupButton.java
│ │ │ │ │ │ ├── FolderPanel.java
│ │ │ │ │ │ ├── LocationBar.kt
│ │ │ │ │ │ ├── LocationTextField.java
│ │ │ │ │ │ ├── MainFrame.java
│ │ │ │ │ │ ├── PreviewPanel.java
│ │ │ │ │ │ ├── QuickLists.java
│ │ │ │ │ │ ├── SplashScreen.java
│ │ │ │ │ │ ├── SystemFileFilter.java
│ │ │ │ │ │ ├── WindowManager.java
│ │ │ │ │ │ ├── commandbar/
│ │ │ │ │ │ │ ├── CommandBar.java
│ │ │ │ │ │ │ ├── CommandBarAttributes.java
│ │ │ │ │ │ │ ├── CommandBarAttributesListener.java
│ │ │ │ │ │ │ ├── CommandBarButton.java
│ │ │ │ │ │ │ ├── CommandBarButtonForDisplay.java
│ │ │ │ │ │ │ ├── CommandBarIO.java
│ │ │ │ │ │ │ ├── CommandBarReader.java
│ │ │ │ │ │ │ └── CommandBarWriter.java
│ │ │ │ │ │ ├── frame/
│ │ │ │ │ │ │ ├── ClonedMainFrameBuilder.java
│ │ │ │ │ │ │ ├── CommandLineMainFrameBuilder.java
│ │ │ │ │ │ │ ├── DefaultMainFramesBuilder.java
│ │ │ │ │ │ │ └── MainFrameBuilder.java
│ │ │ │ │ │ ├── menu/
│ │ │ │ │ │ │ ├── MainMenuBar.java
│ │ │ │ │ │ │ ├── OpenAsMenu.java
│ │ │ │ │ │ │ ├── OpenWithMenu.java
│ │ │ │ │ │ │ ├── TablePopupMenu.java
│ │ │ │ │ │ │ ├── UserPopupMenu.java
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ └── usermenu/
│ │ │ │ │ │ │ ├── LoadUserMenuException.java
│ │ │ │ │ │ │ ├── UserMenuItem.java
│ │ │ │ │ │ │ └── UserPopupMenuLoader.java
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ ├── quicklist/
│ │ │ │ │ │ │ ├── BookmarksQL.java
│ │ │ │ │ │ │ ├── EditAsQL.java
│ │ │ │ │ │ │ ├── EditorBookmarksQL.java
│ │ │ │ │ │ │ ├── ParentFoldersQL.java
│ │ │ │ │ │ │ ├── RecentEditedQL.java
│ │ │ │ │ │ │ ├── RecentExecutedFilesQL.java
│ │ │ │ │ │ │ ├── RecentLocationsQL.java
│ │ │ │ │ │ │ ├── RecentViewedQL.java
│ │ │ │ │ │ │ ├── RootFoldersQL.java
│ │ │ │ │ │ │ ├── TabsQL.java
│ │ │ │ │ │ │ ├── ViewAsQL.java
│ │ │ │ │ │ │ └── ViewedAndEditedFilesQL.java
│ │ │ │ │ │ ├── statusbar/
│ │ │ │ │ │ │ ├── FileWindowsListButton.java
│ │ │ │ │ │ │ ├── HeapIndicator.java
│ │ │ │ │ │ │ ├── StatusBar.java
│ │ │ │ │ │ │ ├── TaskPanel.java
│ │ │ │ │ │ │ ├── TaskWidget.java
│ │ │ │ │ │ │ ├── TrashPopupButton.java
│ │ │ │ │ │ │ └── VolumeSpaceLabel.java
│ │ │ │ │ │ ├── table/
│ │ │ │ │ │ │ ├── CalculateDirectorySizeWorker.java
│ │ │ │ │ │ │ ├── CellLabel.java
│ │ │ │ │ │ │ ├── Column.java
│ │ │ │ │ │ │ ├── FileGroupResolver.java
│ │ │ │ │ │ │ ├── FileTable.java
│ │ │ │ │ │ │ ├── FileTableHeader.java
│ │ │ │ │ │ │ ├── FileTableHeaderRenderer.java
│ │ │ │ │ │ │ ├── FileTableWrapperForDisplay.java
│ │ │ │ │ │ │ ├── SortInfo.java
│ │ │ │ │ │ │ ├── TransparentCellLabel.java
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ └── views/
│ │ │ │ │ │ │ ├── BaseCellRenderer.java
│ │ │ │ │ │ │ ├── BaseFileTableModel.java
│ │ │ │ │ │ │ ├── TableViewMode.java
│ │ │ │ │ │ │ ├── compact/
│ │ │ │ │ │ │ │ ├── CompactFileTableCellRenderer.java
│ │ │ │ │ │ │ │ ├── CompactFileTableColumnModel.java
│ │ │ │ │ │ │ │ └── CompactFileTableModel.java
│ │ │ │ │ │ │ └── full/
│ │ │ │ │ │ │ ├── FileTableCellRenderer.java
│ │ │ │ │ │ │ ├── FileTableColumnModel.java
│ │ │ │ │ │ │ ├── FileTableConfiguration.java
│ │ │ │ │ │ │ └── FileTableModel.java
│ │ │ │ │ │ ├── tabs/
│ │ │ │ │ │ │ ├── ClonedFileTableTabFactory.java
│ │ │ │ │ │ │ ├── ConfFileTableTab.java
│ │ │ │ │ │ │ ├── DefaultFileTableTabFactory.java
│ │ │ │ │ │ │ ├── DefaultFileTableTabHeaderFactory.java
│ │ │ │ │ │ │ ├── FileTableTab.java
│ │ │ │ │ │ │ ├── FileTableTabHeader.java
│ │ │ │ │ │ │ ├── FileTableTabHeaderFactory.java
│ │ │ │ │ │ │ ├── FileTableTabPopupMenu.java
│ │ │ │ │ │ │ ├── FileTableTabbedPane.java
│ │ │ │ │ │ │ ├── FileTableTabs.java
│ │ │ │ │ │ │ ├── FileTableTabsWithHeadersViewerFactory.java
│ │ │ │ │ │ │ ├── FileTableTabsWithoutHeadersViewerFactory.java
│ │ │ │ │ │ │ ├── NotClosableFileTableTabHeaderFactory.java
│ │ │ │ │ │ │ └── PrintableFileTableTabFactory.java
│ │ │ │ │ │ ├── toolbar/
│ │ │ │ │ │ │ ├── ToolBar.java
│ │ │ │ │ │ │ ├── ToolBarAttributes.java
│ │ │ │ │ │ │ ├── ToolBarAttributesListener.java
│ │ │ │ │ │ │ ├── ToolBarIO.java
│ │ │ │ │ │ │ ├── ToolBarReader.java
│ │ │ │ │ │ │ └── ToolBarWriter.java
│ │ │ │ │ │ └── tree/
│ │ │ │ │ │ ├── AbstractIOThreadManager.java
│ │ │ │ │ │ ├── CachedDirectory.java
│ │ │ │ │ │ ├── CachedDirectoryListener.java
│ │ │ │ │ │ ├── DirectoryCache.java
│ │ │ │ │ │ ├── FilesTreeModel.java
│ │ │ │ │ │ ├── FoldersTreePanel.java
│ │ │ │ │ │ ├── FoldersTreeRenderer.java
│ │ │ │ │ │ ├── IOThread.java
│ │ │ │ │ │ ├── TreeIOThreadManager.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── menu/
│ │ │ │ │ │ ├── JScrollMenu.java
│ │ │ │ │ │ └── JScrollPopupMenu.java
│ │ │ │ │ ├── notifier/
│ │ │ │ │ │ ├── AbstractNotifier.java
│ │ │ │ │ │ ├── GrowlNotifier.java
│ │ │ │ │ │ ├── NotificationType.java
│ │ │ │ │ │ ├── SystemTrayNotifier.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── popup/
│ │ │ │ │ │ └── TcActionsPopupMenu.kt
│ │ │ │ │ ├── progress/
│ │ │ │ │ │ ├── ProgressTextField.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── quicklist/
│ │ │ │ │ │ ├── QuickList.java
│ │ │ │ │ │ ├── QuickListContainer.java
│ │ │ │ │ │ ├── QuickListWithDataList.java
│ │ │ │ │ │ ├── QuickListWithEmptyMsg.java
│ │ │ │ │ │ ├── QuickListWithIcons.java
│ │ │ │ │ │ ├── QuickListWithoutIcons.java
│ │ │ │ │ │ └── item/
│ │ │ │ │ │ ├── QuickListDataList.java
│ │ │ │ │ │ ├── QuickListDataListWithIcons.java
│ │ │ │ │ │ ├── QuickListDataModel.java
│ │ │ │ │ │ ├── QuickListEmptyMessageItem.java
│ │ │ │ │ │ ├── QuickListHeaderItem.java
│ │ │ │ │ │ └── QuickListItem.java
│ │ │ │ │ ├── quicksearch/
│ │ │ │ │ │ └── QuickSearch.java
│ │ │ │ │ ├── table/
│ │ │ │ │ │ ├── CenteredTableHeaderRenderer.java
│ │ │ │ │ │ ├── EditableHeader.java
│ │ │ │ │ │ ├── EditableHeaderTableColumn.java
│ │ │ │ │ │ └── EditableHeaderUI.java
│ │ │ │ │ ├── tabs/
│ │ │ │ │ │ ├── ActiveTabListener.java
│ │ │ │ │ │ ├── HideableTabbedPane.java
│ │ │ │ │ │ ├── NullableTabsViewer.java
│ │ │ │ │ │ ├── Tab.java
│ │ │ │ │ │ ├── TabFactory.java
│ │ │ │ │ │ ├── TabUpdater.java
│ │ │ │ │ │ ├── TabWithoutHeaderViewer.java
│ │ │ │ │ │ ├── TabbedPane.java
│ │ │ │ │ │ ├── TabsCollection.java
│ │ │ │ │ │ ├── TabsEventListener.java
│ │ │ │ │ │ ├── TabsViewer.java
│ │ │ │ │ │ ├── TabsViewerFactory.java
│ │ │ │ │ │ └── TabsWithHeaderViewer.java
│ │ │ │ │ ├── terminal/
│ │ │ │ │ │ ├── JediTerminalPanelEx.kt
│ │ │ │ │ │ ├── TcTerminal.kt
│ │ │ │ │ │ ├── TcTerminalTtyConnector.kt
│ │ │ │ │ │ └── TerminalSettingsProvider.kt
│ │ │ │ │ ├── text/
│ │ │ │ │ │ ├── FileLabel.java
│ │ │ │ │ │ ├── FilePathField.java
│ │ │ │ │ │ ├── FilePathFieldKeyListener.java
│ │ │ │ │ │ ├── FontUtils.java
│ │ │ │ │ │ ├── KeyStrokeUtils.java
│ │ │ │ │ │ ├── MultiLineLabel.java
│ │ │ │ │ │ ├── RecordingKeyStrokeTextField.java
│ │ │ │ │ │ └── SizeConstrainedDocument.java
│ │ │ │ │ ├── theme/
│ │ │ │ │ │ ├── ColorChangedEvent.java
│ │ │ │ │ │ ├── ComponentMapper.java
│ │ │ │ │ │ ├── DefaultColor.java
│ │ │ │ │ │ ├── DefaultFont.java
│ │ │ │ │ │ ├── EditorTheme.java
│ │ │ │ │ │ ├── FixedDefaultColor.java
│ │ │ │ │ │ ├── FixedDefaultFont.java
│ │ │ │ │ │ ├── FontChangedEvent.java
│ │ │ │ │ │ ├── LinkedDefaultColor.java
│ │ │ │ │ │ ├── LinkedDefaultFont.java
│ │ │ │ │ │ ├── SystemDefaultColor.java
│ │ │ │ │ │ ├── SystemDefaultFont.java
│ │ │ │ │ │ ├── Theme.java
│ │ │ │ │ │ ├── ThemeCache.java
│ │ │ │ │ │ ├── ThemeData.java
│ │ │ │ │ │ ├── ThemeId.java
│ │ │ │ │ │ ├── ThemeListener.java
│ │ │ │ │ │ ├── ThemeManager.java
│ │ │ │ │ │ ├── ThemeReader.java
│ │ │ │ │ │ ├── ThemeWriter.java
│ │ │ │ │ │ ├── ThemeXmlConstants.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── tools/
│ │ │ │ │ │ ├── ToolsEnvironment.java
│ │ │ │ │ │ └── ToolsSetupDialog.java
│ │ │ │ │ ├── viewer/
│ │ │ │ │ │ ├── EditorFactory.java
│ │ │ │ │ │ ├── EditorFrame.java
│ │ │ │ │ │ ├── EditorRegistrar.java
│ │ │ │ │ │ ├── FileEditor.java
│ │ │ │ │ │ ├── FileFrame.java
│ │ │ │ │ │ ├── FileFrameCreateListener.java
│ │ │ │ │ │ ├── FilePreloadWorker.java
│ │ │ │ │ │ ├── FilePresenter.java
│ │ │ │ │ │ ├── FileViewer.java
│ │ │ │ │ │ ├── FileViewersList.java
│ │ │ │ │ │ ├── UserCancelledException.java
│ │ │ │ │ │ ├── ViewerFactory.java
│ │ │ │ │ │ ├── ViewerFrame.java
│ │ │ │ │ │ ├── ViewerRegistrar.java
│ │ │ │ │ │ ├── WarnUserException.java
│ │ │ │ │ │ ├── audio/
│ │ │ │ │ │ │ ├── AudioFactory.java
│ │ │ │ │ │ │ ├── AudioPlayer.java
│ │ │ │ │ │ │ ├── AudioViewer.java
│ │ │ │ │ │ │ └── StatusBar.java
│ │ │ │ │ │ ├── djvu/
│ │ │ │ │ │ │ ├── DjvuFactory.java
│ │ │ │ │ │ │ └── DjvuViewer.java
│ │ │ │ │ │ ├── hex/
│ │ │ │ │ │ │ ├── FindDialog.kt
│ │ │ │ │ │ │ ├── GotoDialog.kt
│ │ │ │ │ │ │ ├── HexFactory.kt
│ │ │ │ │ │ │ ├── HexViewer.java
│ │ │ │ │ │ │ └── StatusBar.kt
│ │ │ │ │ │ ├── html/
│ │ │ │ │ │ │ ├── HtmlFactory.java
│ │ │ │ │ │ │ └── HtmlViewer.java
│ │ │ │ │ │ ├── image/
│ │ │ │ │ │ │ ├── ImageFactory.java
│ │ │ │ │ │ │ ├── ImageViewer.java
│ │ │ │ │ │ │ ├── StatusBar.java
│ │ │ │ │ │ │ ├── ZxSpectrumScrImage.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ ├── pdf/
│ │ │ │ │ │ │ ├── PdfFactory.java
│ │ │ │ │ │ │ └── PdfViewer.java
│ │ │ │ │ │ └── text/
│ │ │ │ │ │ ├── FileType.java
│ │ │ │ │ │ ├── GotoLineDialog.java
│ │ │ │ │ │ ├── StatusBar.java
│ │ │ │ │ │ ├── TextArea.java
│ │ │ │ │ │ ├── TextEditor.java
│ │ │ │ │ │ ├── TextEditorCaretListener.java
│ │ │ │ │ │ ├── TextEditorImpl.java
│ │ │ │ │ │ ├── TextEditorUtils.java
│ │ │ │ │ │ ├── TextFactory.java
│ │ │ │ │ │ ├── TextFilesHistory.java
│ │ │ │ │ │ ├── TextLineNumbersPanel.java
│ │ │ │ │ │ ├── TextMenuHelper.java
│ │ │ │ │ │ ├── TextViewer.java
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ ├── search/
│ │ │ │ │ │ │ ├── AbstractSearchDialog.java
│ │ │ │ │ │ │ ├── FindDialog.java
│ │ │ │ │ │ │ ├── FindReplaceButtonsEnableResult.java
│ │ │ │ │ │ │ ├── ReplaceDialog.java
│ │ │ │ │ │ │ ├── SearchEvent.java
│ │ │ │ │ │ │ └── SearchListener.java
│ │ │ │ │ │ ├── tools/
│ │ │ │ │ │ │ ├── ExecOutputTextPane.java
│ │ │ │ │ │ │ ├── ExecPanel.java
│ │ │ │ │ │ │ ├── ExecUtils.java
│ │ │ │ │ │ │ ├── OnClickFileHandler.java
│ │ │ │ │ │ │ └── ProcessParams.java
│ │ │ │ │ │ └── utils/
│ │ │ │ │ │ ├── CodeFormatException.java
│ │ │ │ │ │ └── CodeFormatter.kt
│ │ │ │ │ └── widgets/
│ │ │ │ │ └── render/
│ │ │ │ │ └── BasicComboBoxRenderer.java
│ │ │ │ ├── updates/
│ │ │ │ │ ├── NightlyChecker.java
│ │ │ │ │ ├── SelfUpdateUtils.java
│ │ │ │ │ └── VersionChecker.java
│ │ │ │ └── utils/
│ │ │ │ ├── Convert.java
│ │ │ │ ├── FileIconsCache.kt
│ │ │ │ ├── TcLogging.java
│ │ │ │ ├── text/
│ │ │ │ │ ├── CustomDateFormat.java
│ │ │ │ │ ├── DurationFormat.java
│ │ │ │ │ ├── SizeFormat.java
│ │ │ │ │ └── Translator.java
│ │ │ │ └── xml/
│ │ │ │ ├── XmlAttributes.java
│ │ │ │ ├── XmlWriter.java
│ │ │ │ └── package.html
│ │ │ ├── sshtools/
│ │ │ │ └── sftp/
│ │ │ │ ├── SftpFileInputStreamEx.java
│ │ │ │ └── SftpFileOutputStreamEx.java
│ │ │ └── sun/
│ │ │ └── jna/
│ │ │ └── platform/
│ │ │ └── mac/
│ │ │ └── XAttrUtils.java
│ │ ├── org/
│ │ │ └── fife/
│ │ │ └── ui/
│ │ │ └── rtextarea/
│ │ │ └── GutterEx.java
│ │ ├── ru/
│ │ │ └── trolsoft/
│ │ │ ├── calculator/
│ │ │ │ ├── Calculator.kt
│ │ │ │ ├── CalculatorDialog.kt
│ │ │ │ ├── HistoryComboBox.kt
│ │ │ │ └── eval/
│ │ │ │ ├── Calculable.kt
│ │ │ │ ├── CommandlineInterpreter.java
│ │ │ │ ├── CustomFunction.java
│ │ │ │ ├── CustomOperator.java
│ │ │ │ ├── ExpressionBuilder.java
│ │ │ │ ├── RPNConverter.kt
│ │ │ │ ├── RPNExpression.java
│ │ │ │ ├── Tokenizer.kt
│ │ │ │ ├── exceptions/
│ │ │ │ │ ├── InvalidCustomFunctionException.kt
│ │ │ │ │ ├── UnknownFunctionException.java
│ │ │ │ │ └── UnparsableExpressionException.java
│ │ │ │ ├── tokens/
│ │ │ │ │ ├── CalculationToken.kt
│ │ │ │ │ ├── FunctionSeparatorToken.kt
│ │ │ │ │ ├── FunctionToken.kt
│ │ │ │ │ ├── NumberToken.kt
│ │ │ │ │ ├── OperatorToken.kt
│ │ │ │ │ ├── ParenthesesToken.kt
│ │ │ │ │ ├── Token.kt
│ │ │ │ │ └── VariableToken.kt
│ │ │ │ └── utils.kt
│ │ │ ├── hexeditor/
│ │ │ │ ├── data/
│ │ │ │ │ ├── AbstractByteBuffer.java
│ │ │ │ │ ├── FileByteBuffer.java
│ │ │ │ │ ├── MemoryByteBuffer.java
│ │ │ │ │ └── TrolCommanderByteBuffer.java
│ │ │ │ ├── events/
│ │ │ │ │ ├── OffsetChangeListener.java
│ │ │ │ │ └── SelectionChangeListener.java
│ │ │ │ ├── search/
│ │ │ │ │ └── ByteBufferSearchUtils.java
│ │ │ │ └── ui/
│ │ │ │ ├── HexTable.java
│ │ │ │ └── ViewerHexTableModel.java
│ │ │ ├── jni/
│ │ │ │ └── NativeFileUtils.java
│ │ │ ├── macosx/
│ │ │ │ ├── FileLabelCache.java
│ │ │ │ └── RetinaImageIcon.java
│ │ │ ├── ui/
│ │ │ │ ├── InputField.java
│ │ │ │ ├── TCheckBoxMenuItem.java
│ │ │ │ ├── TMenuSeparator.java
│ │ │ │ ├── TProgressBar.java
│ │ │ │ ├── TRadioButtonMenuItem.java
│ │ │ │ └── ZxSpectrumLoadPane.java
│ │ │ └── utils/
│ │ │ ├── FileUtils.java
│ │ │ ├── ImageSizeDetector.java
│ │ │ ├── JavaClassVersionDetector.java
│ │ │ ├── StrUtils.java
│ │ │ ├── StringStream.java
│ │ │ └── search/
│ │ │ ├── BytesSearchPattern.java
│ │ │ ├── InputStreamSource.java
│ │ │ ├── SearchException.java
│ │ │ ├── SearchPattern.java
│ │ │ ├── SearchSourceStream.java
│ │ │ ├── SearchUtils.java
│ │ │ ├── StringCaseInsensitiveSearchPattern.java
│ │ │ └── StringCaseSensitiveSearchPattern.java
│ │ └── se/
│ │ └── vidstige/
│ │ └── jadb/
│ │ ├── AdbFilterInputStream.java
│ │ ├── AdbFilterOutputStream.java
│ │ ├── AdbServerLauncher.java
│ │ ├── ConnectionToRemoteDeviceException.java
│ │ ├── DeviceDetectionListener.java
│ │ ├── DeviceWatcher.java
│ │ ├── HostConnectToRemoteTcpDevice.java
│ │ ├── HostDisconnectFromRemoteTcpDevice.java
│ │ ├── ITransportFactory.java
│ │ ├── JadbConnection.java
│ │ ├── JadbDevice.java
│ │ ├── JadbException.java
│ │ ├── LookBackFilteringOutputStream.java
│ │ ├── RemoteFile.java
│ │ ├── RemoteFileRecord.java
│ │ ├── Stream.java
│ │ ├── Subprocess.java
│ │ ├── SyncTransport.java
│ │ ├── Transport.java
│ │ ├── managers/
│ │ │ ├── Bash.java
│ │ │ ├── Package.java
│ │ │ ├── PackageManager.java
│ │ │ └── PropertyManager.java
│ │ └── server/
│ │ ├── AdbDeviceResponder.java
│ │ ├── AdbProtocolHandler.java
│ │ ├── AdbResponder.java
│ │ ├── AdbServer.java
│ │ └── SocketServer.java
│ └── resources/
│ ├── META-INF/
│ │ └── LICENSE
│ ├── avr/
│ │ ├── avr_commands.properties
│ │ └── avrdude.csv
│ ├── com/
│ │ └── mucommander/
│ │ └── commons/
│ │ └── file/
│ │ └── mime.types
│ ├── dictionary.properties
│ ├── dictionary_ar_SA.properties
│ ├── dictionary_be_BY.properties
│ ├── dictionary_ca_ES.properties
│ ├── dictionary_cs_CZ.properties
│ ├── dictionary_da_DA.properties
│ ├── dictionary_de_DE.properties
│ ├── dictionary_en_GB.properties
│ ├── dictionary_en_US.properties
│ ├── dictionary_es_ES.properties
│ ├── dictionary_fr_FR.properties
│ ├── dictionary_hu_HU.properties
│ ├── dictionary_it_IT.properties
│ ├── dictionary_ja_JP.properties
│ ├── dictionary_ko_KR.properties
│ ├── dictionary_nl_NL.properties
│ ├── dictionary_no_NO.properties
│ ├── dictionary_pl_PL.properties
│ ├── dictionary_pt_BR.properties
│ ├── dictionary_ro_RO.properties
│ ├── dictionary_ru_RU.properties
│ ├── dictionary_sk_SK.properties
│ ├── dictionary_sl_SL.properties
│ ├── dictionary_sv_SV.properties
│ ├── dictionary_uk_UA.properties
│ ├── dictionary_zh_CN.properties
│ ├── dictionary_zh_TW.properties
│ ├── license.txt
│ ├── logback.xml
│ └── themes/
│ ├── ClassicCommander.xml
│ ├── Native.xml
│ ├── RetroCommander.xml
│ ├── Striped.xml
│ ├── Trol.xml
│ └── editor/
│ ├── Dark.xml
│ ├── Default-alt.xml
│ ├── Default.xml
│ ├── Eclipse.xml
│ ├── Idea.xml
│ └── VisualStudio.xml
└── test/
├── java/
│ ├── com/
│ │ └── mucommander/
│ │ ├── XmlResourceTest.java
│ │ ├── command/
│ │ │ └── CommandTest.java
│ │ ├── commons/
│ │ │ ├── conf/
│ │ │ │ ├── BufferedConfigurationExplorerTest.java
│ │ │ │ ├── ConfigurationEventTest.java
│ │ │ │ ├── ConfigurationExplorerTest.java
│ │ │ │ ├── ConfigurationSectionTest.java
│ │ │ │ ├── FileConfigurationSourceTest.java
│ │ │ │ ├── ValueIteratorTest.java
│ │ │ │ └── ValueListTest.java
│ │ │ ├── file/
│ │ │ │ ├── AbstractFileTest.java
│ │ │ │ ├── DefaultFileURLTest.java
│ │ │ │ ├── DefaultPathCanonizerTest.java
│ │ │ │ ├── FileFactoryTest.java
│ │ │ │ ├── FileURLTestCase.java
│ │ │ │ ├── SimpleFileAttributesTest.java
│ │ │ │ ├── archiver/
│ │ │ │ │ └── ISOArchiverTest.java
│ │ │ │ ├── filter/
│ │ │ │ │ └── ExtensionFilenameFilterTest.java
│ │ │ │ ├── impl/
│ │ │ │ │ ├── ProxyFileTest.java
│ │ │ │ │ ├── TestFile.java
│ │ │ │ │ ├── ftp/
│ │ │ │ │ │ ├── FTPFileTest.java
│ │ │ │ │ │ └── FTPFileURLTest.java
│ │ │ │ │ ├── hadoop/
│ │ │ │ │ │ ├── HDFSFileTest.java
│ │ │ │ │ │ └── HDFSFileURLTest.java
│ │ │ │ │ ├── http/
│ │ │ │ │ │ ├── HTTPFileURLTest.java
│ │ │ │ │ │ └── HTTPSFileURLTest.java
│ │ │ │ │ ├── iso/
│ │ │ │ │ │ └── MuCreateISOTest.java
│ │ │ │ │ ├── local/
│ │ │ │ │ │ ├── LocalFileTest.java
│ │ │ │ │ │ ├── LocalFileURLTest.java
│ │ │ │ │ │ └── WindowsTest.java
│ │ │ │ │ ├── nfs/
│ │ │ │ │ │ └── NFSFileURLTest.java
│ │ │ │ │ ├── s3/
│ │ │ │ │ │ ├── S3FileTest.java
│ │ │ │ │ │ └── S3FileURLTest.java
│ │ │ │ │ ├── sftp/
│ │ │ │ │ │ ├── SFTPFileTest.java
│ │ │ │ │ │ └── SFTPFileURLTest.java
│ │ │ │ │ ├── smb/
│ │ │ │ │ │ ├── SMBFileTest.java
│ │ │ │ │ │ └── SMBFileURLTest.java
│ │ │ │ │ └── zip/
│ │ │ │ │ └── ZipArchiveFileTest.java
│ │ │ │ └── util/
│ │ │ │ ├── FileComparatorTest.java
│ │ │ │ ├── FileMonitorTest.java
│ │ │ │ ├── PathTokenizerTest.java
│ │ │ │ ├── PathUtilsTest.java
│ │ │ │ └── ResourceLoaderTest.java
│ │ │ ├── io/
│ │ │ │ ├── BoundedInputStreamTest.java
│ │ │ │ ├── BoundedOutputStreamTest.java
│ │ │ │ ├── BoundedReaderTest.java
│ │ │ │ ├── BufferPoolTest.java
│ │ │ │ ├── base64/
│ │ │ │ │ └── Base64Test.java
│ │ │ │ ├── bom/
│ │ │ │ │ └── BOMTest.java
│ │ │ │ └── compound/
│ │ │ │ ├── CompoundInputStreamTest.java
│ │ │ │ └── CompoundReaderTest.java
│ │ │ └── util/
│ │ │ └── StringUtilsTest.java
│ │ ├── ui/
│ │ │ ├── action/
│ │ │ │ └── impl/
│ │ │ │ └── PasteClipboardFilesActionTest.java
│ │ │ ├── dialog/
│ │ │ │ └── file/
│ │ │ │ ├── BatchRenameTest.java
│ │ │ │ └── RenamePropertiesTest.java
│ │ │ ├── icon/
│ │ │ │ └── CustomFileIconProviderTest.java
│ │ │ └── macosx/
│ │ │ └── AppleScriptTest.java
│ │ └── utils/
│ │ ├── text/
│ │ │ └── SizeFormatTest.java
│ │ └── xml/
│ │ ├── XmlAttributesTest.java
│ │ └── XmlWriterTest.java
│ └── ru/
│ └── trolsoft/
│ ├── hexeditor/
│ │ └── search/
│ │ └── ByteBufferSearchUtilsTest.java
│ └── test/
│ ├── VariableArgumentsProvider.java
│ └── VariableSource.java
├── kotlin/
│ ├── com/
│ │ └── mucommander/
│ │ └── ui/
│ │ └── viewer/
│ │ └── image/
│ │ └── SvgImageSupportTest.kt
│ └── ru/
│ └── trolsoft/
│ └── calculator/
│ └── CalculatorTest.kt
└── resources/
├── logback.xml
└── mockito-extensions/
└── org.mockito.plugins.MockMaker
Showing preview only (1,166K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (13517 symbols across 1365 files)
FILE: jni/ru_trolsoft_jni_NativeFileUtils.c
function is_regular_file (line 21) | static bool is_regular_file(const char *path) {
function is_directory (line 27) | static bool is_directory(const char *path) {
function is_executable_file (line 33) | static bool is_executable_file(const char *path) {
function is_hidden_file (line 38) | static bool is_hidden_file(const char *path) {
function JNICALL (line 79) | JNICALL Java_ru_trolsoft_jni_NativeFileUtils_getLibraryVersion
function JNICALL (line 85) | JNICALL Java_ru_trolsoft_jni_NativeFileUtils_getLocalFileAttributes
function JNICALL (line 109) | JNICALL Java_ru_trolsoft_jni_NativeFileUtils_isLocalFileHidden
function JNICALL (line 121) | JNICALL Java_ru_trolsoft_jni_NativeFileUtils_isLocalFileExecutable
function JNICALL (line 134) | JNICALL Java_ru_trolsoft_jni_NativeFileUtils_isLocalDirectory
FILE: src/main/java/com/ibm/icu/text/CharsetDetector.java
class CharsetDetector (line 37) | public class CharsetDetector {
method CharsetDetector (line 53) | public CharsetDetector() {
method setDeclaredEncoding (line 72) | public CharsetDetector setDeclaredEncoding(String encoding) {
method setText (line 85) | public CharsetDetector setText(byte [] in) {
method setText (line 110) | public CharsetDetector setText(InputStream in) throws IOException {
method detect (line 150) | public CharsetMatch detect() {
method detectAll (line 178) | public CharsetMatch[] detectAll() {
method getReader (line 226) | public Reader getReader(InputStream in, String declaredEncoding) {
method getString (line 260) | public String getString(byte[] in, String declaredEncoding) {
method getAllDetectableCharsets (line 293) | public static String[] getAllDetectableCharsets() {
method inputFilterEnabled (line 309) | public boolean inputFilterEnabled() {
method enableInputFilter (line 323) | public boolean enableInputFilter(boolean filter) {
method MungeInput (line 335) | private void MungeInput() {
class CSRecognizerInfo (line 436) | private static class CSRecognizerInfo {
method CSRecognizerInfo (line 440) | CSRecognizerInfo(CharsetRecognizer recognizer, boolean isDefaultEnab...
method getDetectableCharsets (line 490) | public String[] getDetectableCharsets() {
method setDetectableCharset (line 516) | public CharsetDetector setDetectableCharset(String encoding, boolean e...
FILE: src/main/java/com/ibm/icu/text/CharsetMatch.java
class CharsetMatch (line 31) | public class CharsetMatch implements Comparable<CharsetMatch> {
method getReader (line 46) | public Reader getReader() {
method getString (line 70) | public String getString() throws IOException {
method getString (line 90) | String getString(int maxLength) throws IOException {
method getConfidence (line 130) | public int getConfidence() {
method getName (line 148) | public String getName() {
method getLanguage (line 158) | public String getLanguage() {
method compareTo (line 174) | public int compareTo (@NotNull CharsetMatch other) {
method CharsetMatch (line 186) | CharsetMatch(CharsetDetector det, CharsetRecognizer rec, int conf) {
method CharsetMatch (line 206) | CharsetMatch(CharsetDetector det, int conf, String csName, String lang) {
FILE: src/main/java/com/ibm/icu/text/CharsetRecog_2022.java
class CharsetRecog_2022 (line 14) | abstract class CharsetRecog_2022 extends CharsetRecognizer {
method match (line 26) | int match(byte[] text, int textLen, byte[][] escapeSequences) {
class CharsetRecog_2022JP (line 79) | static class CharsetRecog_2022JP extends CharsetRecog_2022 {
method getName (line 95) | String getName() {
method match (line 99) | CharsetMatch match(CharsetDetector det) {
class CharsetRecog_2022KR (line 105) | static class CharsetRecog_2022KR extends CharsetRecog_2022 {
method getName (line 110) | String getName() {
method match (line 114) | CharsetMatch match(CharsetDetector det) {
class CharsetRecog_2022CN (line 120) | static class CharsetRecog_2022CN extends CharsetRecog_2022 {
method getName (line 135) | String getName() {
method match (line 139) | CharsetMatch match(CharsetDetector det) {
FILE: src/main/java/com/ibm/icu/text/CharsetRecog_UTF8.java
class CharsetRecog_UTF8 (line 12) | class CharsetRecog_UTF8 extends CharsetRecognizer {
method getName (line 14) | String getName() {
method match (line 21) | CharsetMatch match(CharsetDetector det) {
FILE: src/main/java/com/ibm/icu/text/CharsetRecog_Unicode.java
class CharsetRecog_Unicode (line 14) | abstract class CharsetRecog_Unicode extends CharsetRecognizer {
method getName (line 16) | @Override
method match (line 19) | @Override
class CharsetRecog_UTF_16_BE (line 22) | static class CharsetRecog_UTF_16_BE extends CharsetRecog_Unicode {
method getName (line 23) | String getName() {
method match (line 27) | CharsetMatch match(CharsetDetector det) {
class CharsetRecog_UTF_16_LE (line 40) | static class CharsetRecog_UTF_16_LE extends CharsetRecog_Unicode {
method getName (line 41) | String getName() {
method match (line 45) | CharsetMatch match(CharsetDetector det) {
class CharsetRecog_UTF_32 (line 62) | static abstract class CharsetRecog_UTF_32 extends CharsetRecog_Unicode {
method getChar (line 63) | abstract int getChar(byte[] input, int index);
method getName (line 65) | abstract String getName();
method match (line 67) | CharsetMatch match(CharsetDetector det) {
class CharsetRecog_UTF_32_BE (line 111) | static class CharsetRecog_UTF_32_BE extends CharsetRecog_UTF_32 {
method getChar (line 112) | int getChar(byte[] input, int index) {
method getName (line 117) | String getName() {
class CharsetRecog_UTF_32_LE (line 123) | static class CharsetRecog_UTF_32_LE extends CharsetRecog_UTF_32 {
method getChar (line 124) | int getChar(byte[] input, int index) {
method getName (line 129) | String getName() {
FILE: src/main/java/com/ibm/icu/text/CharsetRecog_mbcs.java
class CharsetRecog_mbcs (line 24) | abstract class CharsetRecog_mbcs extends CharsetRecognizer {
method getName (line 30) | abstract String getName() ;
method match (line 45) | int match(CharsetDetector det, int [] commonChars) {
class iteratedChar (line 140) | static class iteratedChar {
method reset (line 147) | void reset() {
method nextByte (line 155) | int nextByte(CharsetDetector det) {
method nextChar (line 175) | abstract boolean nextChar(iteratedChar it, CharsetDetector det);
class CharsetRecog_sjis (line 185) | static class CharsetRecog_sjis extends CharsetRecog_mbcs {
method nextChar (line 197) | boolean nextChar(iteratedChar it, CharsetDetector det) {
method match (line 222) | CharsetMatch match(CharsetDetector det) {
method getName (line 227) | String getName() {
method getLanguage (line 231) | public String getLanguage()
class CharsetRecog_big5 (line 244) | static class CharsetRecog_big5 extends CharsetRecog_mbcs {
method nextChar (line 260) | boolean nextChar(iteratedChar it, CharsetDetector det) {
method match (line 288) | CharsetMatch match(CharsetDetector det) {
method getName (line 293) | String getName() {
method getLanguage (line 298) | public String getLanguage()
class CharsetRecog_euc (line 311) | abstract static class CharsetRecog_euc extends CharsetRecog_mbcs {
method nextChar (line 319) | boolean nextChar(iteratedChar it, CharsetDetector det) {
class CharsetRecog_euc_jp (line 379) | static class CharsetRecog_euc_jp extends CharsetRecog_euc {
method getName (line 394) | String getName() {
method match (line 398) | CharsetMatch match(CharsetDetector det) {
method getLanguage (line 403) | public String getLanguage()
class CharsetRecog_euc_kr (line 413) | static class CharsetRecog_euc_kr extends CharsetRecog_euc {
method getName (line 429) | String getName() {
method match (line 433) | CharsetMatch match(CharsetDetector det) {
method getLanguage (line 438) | public String getLanguage()
class CharsetRecog_gb_18030 (line 450) | static class CharsetRecog_gb_18030 extends CharsetRecog_mbcs {
method nextChar (line 458) | boolean nextChar(iteratedChar it, CharsetDetector det) {
method getName (line 527) | String getName() {
method match (line 531) | CharsetMatch match(CharsetDetector det) {
method getLanguage (line 536) | public String getLanguage()
FILE: src/main/java/com/ibm/icu/text/CharsetRecog_sbcs.java
class CharsetRecog_sbcs (line 18) | abstract class CharsetRecog_sbcs extends CharsetRecognizer {
method getName (line 23) | abstract String getName();
class NGramParser (line 25) | static class NGramParser
method NGramParser (line 41) | public NGramParser(int[] theNgramList, byte[] theByteMap)
method search (line 54) | private static int search(int[] table, int value)
method lookup (line 93) | private void lookup(int thisNgram)
method addByte (line 103) | protected void addByte(int b)
method nextByte (line 109) | private int nextByte(CharsetDetector det)
method parseCharacters (line 118) | protected void parseCharacters(CharsetDetector det)
method parse (line 138) | public int parse(CharsetDetector det)
method parse (line 142) | public int parse(CharsetDetector det, byte spaceCh)
class NGramParser_IBM420 (line 168) | static class NGramParser_IBM420 extends NGramParser
method NGramParser_IBM420 (line 193) | public NGramParser_IBM420(int[] theNgramList, byte[] theByteMap)
method isLamAlef (line 198) | private byte isLamAlef(byte b) {
method nextByte (line 216) | private int nextByte(CharsetDetector det)
method parseCharacters (line 234) | protected void parseCharacters(CharsetDetector det)
method match (line 268) | int match(CharsetDetector det, int[] ngrams, byte[] byteMap)
method match (line 273) | int match(CharsetDetector det, int[] ngrams, byte[] byteMap, byte spa...
method matchIBM420 (line 278) | int matchIBM420(CharsetDetector det, int[] ngrams, byte[] byteMap, by...
class NGramsPlusLang (line 283) | static class NGramsPlusLang {
method NGramsPlusLang (line 286) | NGramsPlusLang(String la, int [] ng) {
class CharsetRecog_8859_1 (line 292) | static class CharsetRecog_8859_1 extends CharsetRecog_sbcs
method match (line 425) | public CharsetMatch match(CharsetDetector det)
method getName (line 441) | public String getName()
class CharsetRecog_8859_2 (line 448) | static class CharsetRecog_8859_2 extends CharsetRecog_sbcs
method match (line 520) | public CharsetMatch match(CharsetDetector det)
method getName (line 535) | public String getName()
class CharsetRecog_8859_5 (line 543) | abstract static class CharsetRecog_8859_5 extends CharsetRecog_sbcs
method getName (line 580) | public String getName()
class CharsetRecog_8859_5_ru (line 586) | static class CharsetRecog_8859_5_ru extends CharsetRecog_8859_5
method getLanguage (line 595) | public String getLanguage()
method match (line 600) | public CharsetMatch match(CharsetDetector det)
class CharsetRecog_8859_6 (line 607) | abstract static class CharsetRecog_8859_6 extends CharsetRecog_sbcs
method getName (line 644) | public String getName()
class CharsetRecog_8859_6_ar (line 650) | static class CharsetRecog_8859_6_ar extends CharsetRecog_8859_6
method getLanguage (line 659) | public String getLanguage()
method match (line 664) | public CharsetMatch match(CharsetDetector det)
class CharsetRecog_8859_7 (line 671) | abstract static class CharsetRecog_8859_7 extends CharsetRecog_sbcs
method getName (line 708) | public String getName()
class CharsetRecog_8859_7_el (line 714) | static class CharsetRecog_8859_7_el extends CharsetRecog_8859_7
method getLanguage (line 723) | public String getLanguage()
method match (line 728) | public CharsetMatch match(CharsetDetector det)
class CharsetRecog_8859_8 (line 736) | abstract static class CharsetRecog_8859_8 extends CharsetRecog_sbcs {
method getName (line 772) | public String getName()
class CharsetRecog_8859_8_I_he (line 778) | static class CharsetRecog_8859_8_I_he extends CharsetRecog_8859_8
method getName (line 787) | public String getName()
method getLanguage (line 792) | public String getLanguage()
method match (line 797) | public CharsetMatch match(CharsetDetector det) {
class CharsetRecog_8859_8_he (line 804) | static class CharsetRecog_8859_8_he extends CharsetRecog_8859_8
method getLanguage (line 813) | public String getLanguage()
method match (line 818) | public CharsetMatch match(CharsetDetector det)
class CharsetRecog_8859_9 (line 827) | abstract static class CharsetRecog_8859_9 extends CharsetRecog_sbcs
method getName (line 864) | public String getName()
class CharsetRecog_8859_9_tr (line 870) | static class CharsetRecog_8859_9_tr extends CharsetRecog_8859_9
method getLanguage (line 879) | public String getLanguage()
method match (line 884) | public CharsetMatch match(CharsetDetector det)
class CharsetRecog_windows_1251 (line 892) | static class CharsetRecog_windows_1251 extends CharsetRecog_sbcs
method getName (line 925) | public String getName()
method getLanguage (line 930) | public String getLanguage()
method match (line 935) | public CharsetMatch match(CharsetDetector det)
class CharsetRecog_windows_1256 (line 942) | static class CharsetRecog_windows_1256 extends CharsetRecog_sbcs
method getName (line 986) | public String getName()
method getLanguage (line 991) | public String getLanguage()
method match (line 996) | public CharsetMatch match(CharsetDetector det)
class CharsetRecog_KOI8_R (line 1003) | static class CharsetRecog_KOI8_R extends CharsetRecog_sbcs
method getName (line 1047) | public String getName()
method getLanguage (line 1052) | public String getLanguage()
method match (line 1057) | public CharsetMatch match(CharsetDetector det)
class CharsetRecog_IBM424_he (line 1064) | abstract static class CharsetRecog_IBM424_he extends CharsetRecog_sbcs
method getLanguage (line 1086) | public String getLanguage()
class CharsetRecog_IBM424_he_rtl (line 1091) | static class CharsetRecog_IBM424_he_rtl extends CharsetRecog_IBM424_he
method getName (line 1093) | public String getName()
method match (line 1103) | public CharsetMatch match(CharsetDetector det)
class CharsetRecog_IBM424_he_ltr (line 1109) | static class CharsetRecog_IBM424_he_ltr extends CharsetRecog_IBM424_he
method getName (line 1111) | public String getName()
method match (line 1122) | public CharsetMatch match(CharsetDetector det)
class CharsetRecog_IBM420_ar (line 1129) | abstract static class CharsetRecog_IBM420_ar extends CharsetRecog_sbcs
method getLanguage (line 1153) | public String getLanguage()
class CharsetRecog_IBM420_ar_rtl (line 1159) | static class CharsetRecog_IBM420_ar_rtl extends CharsetRecog_IBM420_ar
method getName (line 1168) | public String getName()
method match (line 1172) | public CharsetMatch match(CharsetDetector det)
class CharsetRecog_IBM420_ar_ltr (line 1179) | static class CharsetRecog_IBM420_ar_ltr extends CharsetRecog_IBM420_ar
method getName (line 1188) | public String getName()
method match (line 1192) | public CharsetMatch match(CharsetDetector det)
class CharsetRecog_cp866 (line 1203) | static class CharsetRecog_cp866 extends CharsetRecog_sbcs
method getName (line 1236) | public String getName()
method getLanguage (line 1241) | public String getLanguage()
method match (line 1246) | public CharsetMatch match(CharsetDetector det)
FILE: src/main/java/com/ibm/icu/text/CharsetRecognizer.java
class CharsetRecognizer (line 20) | abstract class CharsetRecognizer {
method getName (line 25) | abstract String getName();
method getLanguage (line 31) | public String getLanguage()
method match (line 45) | abstract CharsetMatch match(CharsetDetector det);
FILE: src/main/java/com/mucommander/PlatformManager.java
class PlatformManager (line 36) | public class PlatformManager {
method getDefaultPreferencesFolder (line 56) | public static AbstractFile getDefaultPreferencesFolder() {
method getDefaultPreferencesFolderPath (line 73) | public static String getDefaultPreferencesFolderPath() {
method getPreferencesFolder (line 106) | public static AbstractFile getPreferencesFolder() {
method setPreferencesFolder (line 126) | public static void setPreferencesFolder(File folder) throws IOException {
method setPreferencesFolder (line 145) | public static void setPreferencesFolder(String path) throws IOException {
method setPreferencesFolder (line 167) | public static void setPreferencesFolder(AbstractFile folder) throws IO...
FILE: src/main/java/com/mucommander/RuntimeConstants.java
class RuntimeConstants (line 37) | public class RuntimeConstants {
method getManifestAttributes (line 117) | @Nullable
method getAttribute (line 137) | private static String getAttribute(Attributes attributes, String name) {
method is4KDisplay (line 142) | private static boolean is4KDisplay() {
FILE: src/main/java/com/mucommander/StressTester.java
class StressTester (line 44) | public class StressTester implements Runnable, ActionListener {
method StressTester (line 49) | public StressTester() {
method stop (line 56) | public void stop() {
method run (line 60) | public void run() {
method actionPerformed (line 104) | public void actionPerformed(ActionEvent e) {
method main (line 112) | public static void main(String[] args) {
FILE: src/main/java/com/mucommander/TrolCommander.java
class TrolCommander (line 54) | public class TrolCommander {
method TrolCommander (line 66) | private TrolCommander() {}
method waitUntilLaunched (line 74) | public static void waitUntilLaunched() {
method migrateCommand (line 95) | public static void migrateCommand(String useName, String commandName, ...
method main (line 110) | public static void main(String[] args) {
method getLogger (line 208) | private static Logger getLogger() {
FILE: src/main/java/com/mucommander/adb/AdbUtils.java
class AdbUtils (line 40) | public class AdbUtils {
method getDevices (line 49) | public static List<String> getDevices() {
method checkAdb (line 68) | public static boolean checkAdb() {
method getAdbPath (line 88) | private static AbstractFile getAdbPath() {
method getDeviceName (line 130) | public static String getDeviceName(String serial) {
method getDeviceNames (line 142) | public static Map<String, String> getDeviceNames() {
method parseDevicesList (line 162) | private static void parseDevicesList(Map<String, String> result, Strin...
FILE: src/main/java/com/mucommander/adb/AndroidMenu.java
class AndroidMenu (line 41) | public abstract class AndroidMenu extends JMenu implements MenuListener {
method AndroidMenu (line 46) | public AndroidMenu() {
method getMenuItemAction (line 61) | public abstract TcAction getMenuItemAction(String deviceSerial);
method menuSelected (line 64) | @Override
method menuDeselected (line 89) | @Override
method menuCanceled (line 94) | @Override
FILE: src/main/java/com/mucommander/auth/CredentialsConstants.java
type CredentialsConstants (line 26) | interface CredentialsConstants {
FILE: src/main/java/com/mucommander/auth/CredentialsManager.java
class CredentialsManager (line 57) | public class CredentialsManager {
method elementsAdded (line 91) | public void elementsAdded(int startIndex, int nbAdded) {
method elementsRemoved (line 95) | public void elementsRemoved(int startIndex, int nbRemoved) {
method elementChanged (line 99) | public void elementChanged(int index) {
method getCredentialsFile (line 112) | private static AbstractFile getCredentialsFile() throws IOException {
method setCredentialsFile (line 124) | public static void setCredentialsFile(String path) throws FileNotFound...
method setCredentialsFile (line 140) | public static void setCredentialsFile(File file) throws FileNotFoundEx...
method setCredentialsFile (line 150) | public static void setCredentialsFile(AbstractFile file) throws FileNo...
method loadCredentials (line 162) | public static void loadCredentials() throws Exception {
method writeCredentials (line 182) | public static void writeCredentials(boolean forceWrite) throws IOExcep...
method getMatchingCredentials (line 229) | public static CredentialsMapping[] getMatchingCredentials(FileURL loca...
method getAuthenticator (line 247) | public static Authenticator getAuthenticator() {
method getMatchingCredentialsV (line 258) | private static List<CredentialsMapping> getMatchingCredentialsV(FileUR...
method addCredentials (line 286) | public static void addCredentials(CredentialsMapping credentialsMappin...
method authenticate (line 323) | public static void authenticate(FileURL location, CredentialsMapping c...
method authenticateImplicit (line 347) | private static void authenticateImplicit(FileURL location) {
method findMatches (line 370) | private static void findMatches(FileURL location, List<CredentialsMapp...
method getBestMatchIndex (line 393) | private static int getBestMatchIndex(FileURL location, List<Credential...
method replaceListElement (line 462) | private static void replaceListElement(List<CredentialsMapping> list, ...
method getVolatileCredentialMappings (line 478) | public static List<CredentialsMapping> getVolatileCredentialMappings() {
method getPersistentCredentialMappings (line 491) | public static AlteredVector<CredentialsMapping> getPersistentCredentia...
class CredentialsManagerAuthenticator (line 506) | private static class CredentialsManagerAuthenticator implements Authen...
method authenticate (line 507) | public void authenticate(FileURL fileURL) {
method getLogger (line 512) | private static Logger getLogger() {
FILE: src/main/java/com/mucommander/auth/CredentialsMapping.java
class CredentialsMapping (line 32) | public final class CredentialsMapping {
method CredentialsMapping (line 52) | public CredentialsMapping(Credentials credentials, FileURL realm, bool...
method getCredentials (line 63) | public Credentials getCredentials() {
method getRealm (line 74) | public FileURL getRealm() {
method isPersistent (line 83) | public boolean isPersistent() {
method equals (line 95) | @Override
method toString (line 103) | @Override
FILE: src/main/java/com/mucommander/auth/CredentialsParser.java
class CredentialsParser (line 44) | class CredentialsParser extends DefaultHandler implements CredentialsCon...
method CredentialsParser (line 64) | public CredentialsParser() {
method parse (line 71) | void parse(AbstractFile file) throws Exception {
method getVersion (line 85) | public String getVersion() {
method startElement (line 94) | @Override
method endElement (line 120) | @Override
method characters (line 162) | @Override
method getLogger (line 168) | private static Logger getLogger() {
FILE: src/main/java/com/mucommander/auth/CredentialsWriter.java
class CredentialsWriter (line 39) | public class CredentialsWriter implements CredentialsConstants {
method write (line 45) | static void write(OutputStream stream) throws IOException {
FILE: src/main/java/com/mucommander/bonjour/BonjourDirectory.java
class BonjourDirectory (line 47) | public class BonjourDirectory implements ServiceListener {
method BonjourDirectory (line 72) | private BonjourDirectory() {
method setActive (line 83) | public static void setActive(boolean enabled) {
method isActive (line 112) | public static boolean isActive() {
method getServices (line 122) | public static BonjourService[] getServices() {
method createBonjourService (line 136) | private static BonjourService createBonjourService(ServiceInfo service...
method serviceAdded (line 157) | public void serviceAdded(final ServiceEvent serviceEvent) {
method serviceResolved (line 169) | public void serviceResolved(ServiceEvent serviceEvent) {
method serviceRemoved (line 196) | public void serviceRemoved(ServiceEvent serviceEvent) {
method getLogger (line 226) | private static Logger getLogger() {
FILE: src/main/java/com/mucommander/bonjour/BonjourMenu.java
class BonjourMenu (line 40) | public abstract class BonjourMenu extends JMenu implements MenuListener {
method BonjourMenu (line 45) | public BonjourMenu() {
method getMenuItemAction (line 62) | public abstract TcAction getMenuItemAction(BonjourService bs);
method menuSelected (line 68) | @Override
method menuDeselected (line 97) | @Override
method menuCanceled (line 101) | @Override
FILE: src/main/java/com/mucommander/bonjour/BonjourService.java
class BonjourService (line 29) | public class BonjourService {
method BonjourService (line 56) | public BonjourService(String name, FileURL url, String fullyQualifiedN...
method getNameWithProtocol (line 68) | public String getNameWithProtocol() {
method getURL (line 77) | public FileURL getURL() {
method equals (line 85) | @Override
method toString (line 94) | @Override
FILE: src/main/java/com/mucommander/bookmark/Bookmark.java
class Bookmark (line 35) | public class Bookmark implements Cloneable {
method Bookmark (line 47) | public Bookmark(String name, String location, String parent) {
method getName (line 60) | public String getName() {
method setName (line 71) | public void setName(String newName) {
method getLocation (line 90) | public String getLocation() {
method setLocation (line 101) | public void setLocation(String newLocation) {
method getParent (line 115) | public String getParent() {
method setParent (line 119) | public void setParent(String parent) {
method clone (line 130) | @Override
method toString (line 139) | public String toString() {
method equals (line 146) | public boolean equals(Object object) {
FILE: src/main/java/com/mucommander/bookmark/BookmarkBuilder.java
type BookmarkBuilder (line 25) | public interface BookmarkBuilder {
method startBookmarks (line 30) | void startBookmarks() throws BookmarkException;
method addBookmark (line 39) | void addBookmark(String name, String location, String parent) throws B...
method endBookmarks (line 45) | void endBookmarks() throws BookmarkException;
FILE: src/main/java/com/mucommander/bookmark/BookmarkConstants.java
type BookmarkConstants (line 25) | interface BookmarkConstants {
FILE: src/main/java/com/mucommander/bookmark/BookmarkException.java
class BookmarkException (line 25) | public class BookmarkException extends Exception {
method BookmarkException (line 30) | public BookmarkException(String message) {super(message);}
method BookmarkException (line 36) | public BookmarkException(Throwable cause) {super(cause);}
method BookmarkException (line 43) | public BookmarkException(String message, Throwable cause) {super(messa...
FILE: src/main/java/com/mucommander/bookmark/BookmarkListener.java
type BookmarkListener (line 30) | public interface BookmarkListener {
method bookmarksChanged (line 35) | void bookmarksChanged();
FILE: src/main/java/com/mucommander/bookmark/BookmarkManager.java
class BookmarkManager (line 44) | public class BookmarkManager implements VectorChangeListener {
method BookmarkManager (line 88) | private BookmarkManager() {}
method buildBookmarks (line 99) | private static synchronized void buildBookmarks(BookmarkBuilder builde...
method getBookmarksFile (line 121) | private static synchronized AbstractFile getBookmarksFile() throws IOE...
method setBookmarksFile (line 137) | public static void setBookmarksFile(String path) throws FileNotFoundEx...
method setBookmarksFile (line 156) | private static void setBookmarksFile(File file) throws FileNotFoundExc...
method setBookmarksFile (line 167) | private static synchronized void setBookmarksFile(AbstractFile file) t...
method loadBookmarks (line 182) | public static synchronized void loadBookmarks() throws Exception {
method readBookmarks (line 199) | public static void readBookmarks(InputStream in) throws Exception {
method readBookmarks (line 209) | public static synchronized void readBookmarks(InputStream in, Bookmark...
method getBookmarkWriter (line 223) | public static BookmarkBuilder getBookmarkWriter(OutputStream out) thro...
method writeBookmarks (line 234) | public static synchronized void writeBookmarks(boolean forceWrite) thr...
method getBookmarks (line 257) | public static synchronized AlteredVector<Bookmark> getBookmarks() {
method removeBookmark (line 265) | public static synchronized void removeBookmark(Bookmark bookmark) {
method getBookmark (line 276) | public static synchronized Bookmark getBookmark(String name) {
method getParentBookmarks (line 285) | public static List<Bookmark> getParentBookmarks() {
method addBookmark (line 300) | public static synchronized void addBookmark(Bookmark b) {
method isBookmark (line 311) | public static boolean isBookmark(FileURL fileURL) {
method isBookmark (line 321) | public static boolean isBookmark(AbstractFile file) {
method addBookmarkListener (line 337) | public static void addBookmarkListener(BookmarkListener listener) {
method removeBookmarkListener (line 349) | private static void removeBookmarkListener(BookmarkListener listener) {
method fireBookmarksChanged (line 363) | static void fireBookmarksChanged() {
method setFireEvents (line 392) | public static synchronized void setFireEvents(boolean b) {
method elementsAdded (line 412) | public void elementsAdded(int startIndex, int nbAdded) {
method elementsRemoved (line 416) | public void elementsRemoved(int startIndex, int nbRemoved) {
method elementChanged (line 420) | public void elementChanged(int index) {
class Loader (line 428) | private static class Loader implements BookmarkBuilder {
method startBookmarks (line 429) | public void startBookmarks() {
method endBookmarks (line 433) | public void endBookmarks() {
method addBookmark (line 437) | public void addBookmark(String name, String location, String parent) {
FILE: src/main/java/com/mucommander/bookmark/BookmarkParser.java
class BookmarkParser (line 36) | class BookmarkParser extends DefaultHandler implements BookmarkConstants {
method BookmarkParser (line 56) | BookmarkParser() {}
method parse (line 61) | void parse(InputStream in, BookmarkBuilder builder) throws Exception {
method getVersion (line 74) | public String getVersion() {
method startDocument (line 83) | @Override
method endDocument (line 92) | @Override
method characters (line 104) | @Override
method startElement (line 112) | @Override
method endElement (line 129) | @Override
method addBookmark (line 168) | private void addBookmark() throws SAXException {
method getLogger (line 181) | private static Logger getLogger() {
FILE: src/main/java/com/mucommander/bookmark/BookmarkWriter.java
class BookmarkWriter (line 34) | class BookmarkWriter implements BookmarkConstants, BookmarkBuilder {
method BookmarkWriter (line 37) | BookmarkWriter(OutputStream stream) throws IOException {
method startBookmarks (line 41) | public void startBookmarks() throws BookmarkException {
method endBookmarks (line 56) | public void endBookmarks() throws BookmarkException {
method addBookmark (line 64) | public void addBookmark(String name, String location, String parent) t...
method writeElement (line 80) | private void writeElement(String name, String value) throws IOException {
FILE: src/main/java/com/mucommander/bookmark/XORCipher.java
class XORCipher (line 37) | public class XORCipher {
method xor (line 59) | private static byte[] xor(byte[] b) {
method encryptXORBase64 (line 78) | public static String encryptXORBase64(String s) {
method decryptXORBase64 (line 97) | public static String decryptXORBase64(String s) throws IOException {
FILE: src/main/java/com/mucommander/bookmark/file/BookmarkFile.java
class BookmarkFile (line 36) | public class BookmarkFile extends ProtocolFile {
method BookmarkFile (line 52) | BookmarkFile(Bookmark bookmark) throws IOException {
method getUnderlyingFile (line 67) | private synchronized AbstractFile getUnderlyingFile() {
method getBookmark (line 80) | public Bookmark getBookmark() {
method getName (line 92) | @Override
method ls (line 104) | @Override
method getParent (line 114) | @Override
method getFreeSpace (line 130) | @Override
method getTotalSpace (line 142) | @Override
method isDirectory (line 151) | @Override
method setParent (line 161) | @Override
method exists (line 172) | @Override
method mkfile (line 177) | @Override
method equals (line 182) | public boolean equals(Object o) {
method getCanonicalPath (line 200) | @Override
method renameTo (line 216) | @Override
method delete (line 251) | @Override
method copyRemotelyTo (line 271) | @Override
method getPermissions (line 293) | @Override
method changePermission (line 307) | @Override
method getInputStream (line 316) | @Override
method getOutputStream (line 345) | @Override
method mkdir (line 354) | @Override
method getLastModifiedDate (line 357) | @Override
method getChangeablePermissions (line 359) | @Override
method setLastModifiedDate (line 361) | @Override
method getSize (line 364) | @Override
method getRandomAccessInputStream (line 366) | @Override
method getAppendOutputStream (line 369) | @Override
method getRandomAccessOutputStream (line 372) | @Override
method getUnderlyingFileObject (line 375) | @Override
method isSymlink (line 377) | @Override
method isSystem (line 379) | @Override
method getOwner (line 381) | @Override
method canGetOwner (line 383) | @Override
method getGroup (line 385) | @Override
method canGetGroup (line 387) | @Override
method getReplication (line 389) | @Override
method getBlocksize (line 395) | @Override
method changeReplication (line 401) | @Override
FILE: src/main/java/com/mucommander/bookmark/file/BookmarkOutputStream.java
class BookmarkOutputStream (line 33) | class BookmarkOutputStream extends ByteArrayOutputStream implements Book...
method close (line 40) | @Override
method startBookmarks (line 60) | public void startBookmarks() {}
method endBookmarks (line 65) | public void endBookmarks() {}
method addBookmark (line 75) | public void addBookmark(String name, String location, String parent) {
FILE: src/main/java/com/mucommander/bookmark/file/BookmarkProtocolProvider.java
class BookmarkProtocolProvider (line 36) | public class BookmarkProtocolProvider implements ProtocolProvider {
method getFile (line 41) | public AbstractFile getFile(FileURL url, Object... instantiationParams...
FILE: src/main/java/com/mucommander/bookmark/file/BookmarkRoot.java
class BookmarkRoot (line 36) | class BookmarkRoot extends ProtocolFile implements BookmarkListener {
method BookmarkRoot (line 41) | BookmarkRoot() throws IOException {this(FileURL.getFileURL(BookmarkPro...
method BookmarkRoot (line 43) | BookmarkRoot(FileURL url) {
method ls (line 50) | @Override
method getName (line 63) | @Override
method isDirectory (line 68) | @Override
method bookmarksChanged (line 76) | public void bookmarksChanged() {
method getLastModifiedDate (line 84) | @Override
method getParent (line 92) | @Override
method delete (line 94) | @Override
method copyRemotelyTo (line 97) | @Override
method renameTo (line 100) | @Override
method setLastModifiedDate (line 103) | @Override
method getSize (line 106) | @Override
method setParent (line 108) | @Override
method exists (line 110) | @Override
method getPermissions (line 112) | @Override
method changePermission (line 114) | @Override
method getChangeablePermissions (line 117) | @Override
method isSymlink (line 119) | @Override
method isSystem (line 121) | @Override
method mkdir (line 123) | @Override
method getInputStream (line 126) | @Override
method getOutputStream (line 129) | @Override
method getAppendOutputStream (line 132) | @Override
method getRandomAccessInputStream (line 135) | @Override
method getRandomAccessOutputStream (line 138) | @Override
method getFreeSpace (line 141) | @Override
method getTotalSpace (line 144) | @Override
method getUnderlyingFileObject (line 147) | @Override
method getOwner (line 149) | @Override
method canGetOwner (line 151) | @Override
method getGroup (line 153) | @Override
method canGetGroup (line 155) | @Override
method getReplication (line 157) | @Override
method getBlocksize (line 163) | @Override
method changeReplication (line 169) | @Override
FILE: src/main/java/com/mucommander/cache/FastLRUCache.java
class FastLRUCache (line 40) | public class FastLRUCache<K, V> extends LRUCache<K,V> {
class Value (line 51) | private static final class Value<V> {
method Value (line 55) | public Value(V value, Long expirationDate) {
method FastLRUCache (line 62) | public FastLRUCache(int capacity) {
method toString (line 77) | public String toString() {
method purgeExpiredItems (line 102) | private void purgeExpiredItems() {
method get (line 137) | @Override
method add (line 171) | @Override
method size (line 193) | @Override
method clearAll (line 199) | @Override
method testCorruption (line 213) | @Override
FILE: src/main/java/com/mucommander/cache/LRUCache.java
class LRUCache (line 49) | public abstract class LRUCache<K, V> {
method LRUCache (line 70) | public LRUCache(int capacity) {
method getCapacity (line 79) | public int getCapacity() {
method getHitCount (line 89) | public int getHitCount() {
method getMissCount (line 99) | public int getMissCount() {
method get (line 118) | public abstract V get(K key);
method add (line 134) | public abstract void add(K key, V value, long timeToLive);
method add (line 142) | public synchronized void add(K key, V value) {
method clearAll (line 150) | public abstract void clearAll();
method size (line 160) | public abstract int size();
method testCorruption (line 166) | protected abstract void testCorruption() throws RuntimeException;
method main (line 174) | public static void main(String[] args) {
method isEmpty (line 240) | public boolean isEmpty() {
method getLogger (line 244) | private static Logger getLogger() {
FILE: src/main/java/com/mucommander/cache/TextHistory.java
class TextHistory (line 33) | public class TextHistory {
type Type (line 37) | public enum Type {
method Type (line 45) | Type(String fileName) {
method getInstance (line 53) | public static TextHistory getInstance() {
method getList (line 63) | public LinkedList<String> getList(Type type) {
method add (line 77) | public void add(Type type, String s, boolean save) {
method save (line 102) | public void save(Type type) {
method load (line 111) | private LinkedList<String> load(AbstractFile file) {
method save (line 131) | private void save(AbstractFile file, List<String> list) throws IOExce...
method getHistoryFile (line 148) | public static synchronized AbstractFile getHistoryFile(Type type) thro...
method clear (line 153) | public void clear() {
FILE: src/main/java/com/mucommander/cache/WindowsStorage.java
class WindowsStorage (line 32) | public class WindowsStorage {
class Record (line 40) | public static class Record {
method Record (line 43) | Record(String s) {
method Record (line 51) | public Record(int left, int top, int width, int height) {
method equals (line 58) | @Override
method toString (line 70) | @Override
method apply (line 75) | public void apply(Window window) {
method applyPos (line 80) | void applyPos(Window window) {
method getInstance (line 85) | public static WindowsStorage getInstance() {
method get (line 94) | public Record get(String key) {
method get (line 98) | public Record get(Window window, String suffix) {
method get (line 103) | public Record get(Window frame) {
method put (line 107) | public void put(String key, Record rec) {
method put (line 118) | public void put(Window window) {
method put (line 122) | public void put(Window window, String suffix) {
method init (line 128) | public boolean init(Window window, String suffix, boolean storeSizes) {
method getKey (line 143) | private String getKey(Window window, String suffix) {
method init (line 155) | public boolean init(Window window) {
method getRecords (line 160) | private Map<String, Record> getRecords() {
method load (line 174) | private void load(AbstractFile file) throws IOException {
method loadRecord (line 211) | private void loadRecord(String line) {
method save (line 229) | private void save(AbstractFile file) throws IOException {
method saveRecord (line 239) | private void saveRecord(Writer writer, String key, Record record) thro...
method getHistoryFile (line 254) | private static synchronized AbstractFile getHistoryFile() throws IOExc...
method clear (line 259) | public void clear() {
FILE: src/main/java/com/mucommander/command/AssociationBuilder.java
type AssociationBuilder (line 25) | public interface AssociationBuilder {
method startBuilding (line 30) | void startBuilding() throws CommandException;
method endBuilding (line 36) | void endBuilding() throws CommandException;
method startAssociation (line 43) | void startAssociation(String command) throws CommandException;
method endAssociation (line 49) | void endAssociation() throws CommandException;
method setMask (line 57) | void setMask(String mask, boolean isCaseSensitive) throws CommandExcep...
method setIsSymlink (line 64) | void setIsSymlink(boolean isSymlink) throws CommandException;
method setIsHidden (line 71) | void setIsHidden(boolean isHidden) throws CommandException;
method setIsReadable (line 78) | void setIsReadable(boolean isReadable) throws CommandException;
method setIsWritable (line 85) | void setIsWritable(boolean isWritable) throws CommandException;
method setIsExecutable (line 92) | void setIsExecutable(boolean isExecutable) throws CommandException;
FILE: src/main/java/com/mucommander/command/AssociationFactory.java
class AssociationFactory (line 30) | class AssociationFactory implements AssociationBuilder {
method startBuilding (line 34) | public void startBuilding() {}
method endBuilding (line 35) | public void endBuilding() {}
method startAssociation (line 37) | public void startAssociation(String command) {
method endAssociation (line 42) | public void endAssociation() throws CommandException {
method setMask (line 49) | public void setMask(String mask, boolean isCaseSensitive) {
method setIsDir (line 53) | public void setIsDir(boolean isDir) {
method setIsSymlink (line 57) | public void setIsSymlink(boolean isSymlink) {
method setIsHidden (line 61) | public void setIsHidden(boolean isHidden) {
method setIsReadable (line 65) | public void setIsReadable(boolean isReadable) {
method setIsWritable (line 69) | public void setIsWritable(boolean isWritable) {
method setIsExecutable (line 73) | public void setIsExecutable(boolean isExecutable) {
FILE: src/main/java/com/mucommander/command/AssociationReader.java
class AssociationReader (line 44) | public class AssociationReader extends DefaultHandler implements Associa...
method AssociationReader (line 55) | private AssociationReader(AssociationBuilder b) {
method read (line 79) | public static void read(InputStream in, AssociationBuilder b) throws I...
method startElement (line 94) | @Override
method endElement (line 163) | @Override
FILE: src/main/java/com/mucommander/command/AssociationWriter.java
class AssociationWriter (line 35) | public class AssociationWriter implements AssociationsXmlConstants, Asso...
method AssociationWriter (line 44) | AssociationWriter(OutputStream stream) throws IOException {out = new X...
method startBuilding (line 51) | @Override
method endBuilding (line 64) | @Override
method startAssociation (line 73) | @Override
method endAssociation (line 86) | @Override
method setMask (line 95) | @Override
method setIsSymlink (line 105) | @Override
method setIsHidden (line 112) | @Override
method setIsReadable (line 119) | @Override
method setIsWritable (line 126) | @Override
method setIsExecutable (line 133) | @Override
method writeStandaloneElement (line 140) | private void writeStandaloneElement(XmlAttributes attr, String name) t...
FILE: src/main/java/com/mucommander/command/AssociationsXmlConstants.java
type AssociationsXmlConstants (line 59) | interface AssociationsXmlConstants {
FILE: src/main/java/com/mucommander/command/Command.java
class Command (line 72) | public class Command implements Comparable<Command> {
method Command (line 134) | public Command(String alias, String command, CommandType type, String ...
method Command (line 154) | public Command(String alias, String command) {
method Command (line 168) | public Command(String alias, String command, CommandType type) {
method Command (line 173) | public Command(Command cmd) {
method getTokens (line 187) | public synchronized String[] getTokens() {
method getTokens (line 197) | public synchronized String[] getTokens(AbstractFile file) {
method getTokens (line 207) | public synchronized String[] getTokens(FileSet files) {
method getTokens (line 217) | public synchronized String[] getTokens(AbstractFile[] files) {
method getTokens (line 227) | public static String[] getTokens(String command) {
method getTokens (line 238) | public static String[] getTokens(String command, AbstractFile file) {
method getTokens (line 249) | public static String[] getTokens(String command, FileSet files) {
method getTokens (line 260) | public static String[] getTokens(String command, AbstractFile[] files) {
method hasSelectedFileKeyword (line 372) | public synchronized boolean hasSelectedFileKeyword() {
method isLegalKeyword (line 393) | private static boolean isLegalKeyword(char keyword) {
method getKeywordReplacement (line 405) | private static String getKeywordReplacement(char keyword, AbstractFile...
method getCommand (line 429) | public synchronized String getCommand() {
method getAlias (line 438) | public synchronized String getAlias() {
method getType (line 447) | public synchronized CommandType getType() {
method getFileMask (line 451) | public synchronized String getFileMask() {
method getDisplayName (line 462) | public synchronized String getDisplayName() {
method isDisplayNameSet (line 471) | synchronized boolean isDisplayNameSet() {
method hashCode (line 475) | @Override
method equals (line 487) | @Override
method compareTo (line 496) | @Override
method toString (line 510) | @Override
FILE: src/main/java/com/mucommander/command/CommandAssociation.java
class CommandAssociation (line 28) | class CommandAssociation {
method CommandAssociation (line 40) | CommandAssociation(Command command, FileFilter filter) {
method accept (line 50) | public boolean accept(AbstractFile file) {return fileFilter.match(file);}
method getCommand (line 58) | public Command getCommand() {return command;}
method getFilter (line 60) | public FileFilter getFilter() {return fileFilter;}
FILE: src/main/java/com/mucommander/command/CommandBuilder.java
type CommandBuilder (line 60) | public interface CommandBuilder {
method startBuilding (line 65) | void startBuilding() throws CommandException;
method endBuilding (line 71) | void endBuilding() throws CommandException;
method addCommand (line 78) | void addCommand(Command command) throws CommandException;
FILE: src/main/java/com/mucommander/command/CommandException.java
class CommandException (line 25) | public class CommandException extends Exception {
method CommandException (line 29) | public CommandException() {super();}
method CommandException (line 35) | public CommandException(String message) {super(message);}
method CommandException (line 41) | public CommandException(Throwable cause) {super(cause);}
method CommandException (line 48) | public CommandException(String message, Throwable cause) {super(messag...
FILE: src/main/java/com/mucommander/command/CommandManager.java
class CommandManager (line 42) | public class CommandManager implements CommandBuilder {
method CommandManager (line 107) | private CommandManager() {}
method getTokensForFile (line 122) | public static String[] getTokensForFile(AbstractFile file) {
method getTokensForFile (line 132) | public static String[] getTokensForFile(AbstractFile file, boolean all...
method getCommandForFile (line 146) | public static Command getCommandForFile(AbstractFile file) {
method getCommandForFile (line 150) | private static Command getCommandForFile(AbstractFile file, List<Comma...
method getCommandForFile (line 164) | public static Command getCommandForFile(AbstractFile file, boolean all...
method commands (line 193) | public static Collection<Command> commands() {
method getCommandForAlias (line 208) | public static Command getCommandForAlias(String alias, AbstractFile fi...
method checkFileMask (line 235) | public static boolean checkFileMask(Command cmd, AbstractFile file) {
method setDefaultCommand (line 255) | private static void setDefaultCommand(Command command) {
method registerCommand (line 262) | private static void registerCommand(Command command, boolean mark) {
method registerDefaultCommand (line 281) | public static void registerDefaultCommand(Command command) throws Comm...
method registerCommand (line 289) | public static void registerCommand(Command command) {
method registerAssociation (line 304) | public static void registerAssociation(String command, FileFilter filt...
method createAssociation (line 308) | private static CommandAssociation createAssociation(String cmd, FileFi...
method registerDefaultAssociation (line 319) | public static void registerDefaultAssociation(String command, FileFilt...
method addCommand (line 330) | public void addCommand(Command command) {
method buildCommands (line 346) | public static void buildCommands(CommandBuilder builder, CommandType t...
method buildFilter (line 365) | private static void buildFilter(FileFilter filter, AssociationBuilder ...
method buildAssociations (line 413) | public static void buildAssociations(AssociationBuilder builder) throw...
method getAssociationFile (line 459) | public static AbstractFile getAssociationFile() throws IOException {
method setAssociationFile (line 477) | public static void setAssociationFile(String path) throws FileNotFound...
method setAssociationFile (line 497) | public static void setAssociationFile(File file) throws FileNotFoundEx...
method setAssociationFile (line 509) | public static void setAssociationFile(AbstractFile file) throws FileNo...
method loadAssociations (line 529) | public static void loadAssociations() throws IOException, CommandExcep...
method writeAssociations (line 559) | public static void writeAssociations() throws CommandException, IOExce...
method getCommandFile (line 595) | public static AbstractFile getCommandFile() throws IOException {
method setCommandFile (line 613) | public static void setCommandFile(String path) throws FileNotFoundExce...
method setCommandFile (line 635) | public static void setCommandFile(File file) throws FileNotFoundExcept...
method setCommandFile (line 645) | public static void setCommandFile(AbstractFile file) throws FileNotFou...
method writeCommands (line 670) | public static void writeCommands() throws IOException, CommandException {
method loadCommands (line 696) | public static void loadCommands() throws IOException, CommandException {
method startBuilding (line 727) | public void startBuilding() {}
method endBuilding (line 732) | public void endBuilding() {}
method getCommands (line 735) | public static List<Command> getCommands(String type) {
method removeAllNormalCommands (line 747) | public static void removeAllNormalCommands() {
method getLogger (line 755) | private static Logger getLogger() {
FILE: src/main/java/com/mucommander/command/CommandReader.java
class CommandReader (line 44) | public class CommandReader extends DefaultHandler implements CommandsXml...
method CommandReader (line 53) | private CommandReader(CommandBuilder b) {
method read (line 76) | public static void read(InputStream in, CommandBuilder b) throws Comma...
method startElement (line 92) | @Override
FILE: src/main/java/com/mucommander/command/CommandType.java
type CommandType (line 27) | public enum CommandType {
method CommandType (line 37) | CommandType() {
method CommandType (line 40) | CommandType(String value) {
method parseCommandType (line 58) | public static CommandType parseCommandType(String value) {
method toString (line 72) | @Override
FILE: src/main/java/com/mucommander/command/CommandWriter.java
class CommandWriter (line 35) | public class CommandWriter implements CommandsXmlConstants, CommandBuild...
method CommandWriter (line 45) | CommandWriter(OutputStream stream) throws IOException {
method startBuilding (line 53) | public void startBuilding() throws CommandException {
method endBuilding (line 65) | public void endBuilding() throws CommandException {
method addCommand (line 78) | public void addCommand(Command command) throws CommandException {
FILE: src/main/java/com/mucommander/command/CommandsXmlConstants.java
type CommandsXmlConstants (line 49) | interface CommandsXmlConstants {
FILE: src/main/java/com/mucommander/command/PermissionsFileFilter.java
class PermissionsFileFilter (line 30) | public class PermissionsFileFilter extends AbstractFileFilter implements...
method PermissionsFileFilter (line 39) | PermissionsFileFilter(int permission, boolean filter) {
method accept (line 44) | public boolean accept(AbstractFile file) {
method getPermission (line 52) | public int getPermission() {
method getFilter (line 60) | public boolean getFilter() {
FILE: src/main/java/com/mucommander/commons/DummyDecoratedFile.java
class DummyDecoratedFile (line 31) | public class DummyDecoratedFile extends DummyFile {
method DummyDecoratedFile (line 40) | public DummyDecoratedFile(FileURL url) {
method toString (line 44) | @Override
FILE: src/main/java/com/mucommander/commons/HasProgress.java
type HasProgress (line 24) | public interface HasProgress {
method getProgress (line 25) | int getProgress();
method hasProgress (line 26) | boolean hasProgress();
FILE: src/main/java/com/mucommander/commons/collections/AlteredVector.java
class AlteredVector (line 39) | public class AlteredVector<E> extends Vector<E> {
method AlteredVector (line 45) | public AlteredVector() {
method AlteredVector (line 49) | public AlteredVector(Collection<? extends E> collection) {
method AlteredVector (line 53) | public AlteredVector(int initialCapacity, int capacityIncrement) {
method AlteredVector (line 57) | public AlteredVector(int initialCapacity) {
method addVectorChangeListener (line 71) | public void addVectorChangeListener(VectorChangeListener listener) {
method removeVectorChangeListener (line 81) | public void removeVectorChangeListener(VectorChangeListener listener) {
method fireElementsAddedEvent (line 92) | private void fireElementsAddedEvent(int startIndex, int nbAdded) {
method fireElementsRemovedEvent (line 104) | private void fireElementsRemovedEvent(int startIndex, int nbRemoved) {
method fireElementChangedEvent (line 115) | private void fireElementChangedEvent(int index) {
method setElementAt (line 122) | @Override
method set (line 129) | @Override
method insertElementAt (line 138) | @Override
method add (line 145) | @Override
method addElement (line 152) | @Override
method add (line 159) | @Override
method addAll (line 168) | @Override
method addAll (line 179) | @Override
method removeElementAt (line 190) | @Override
method remove (line 197) | @Override
method removeElement (line 206) | @Override
method remove (line 218) | @Override
method removeAllElements (line 223) | @Override
method clear (line 232) | @Override
FILE: src/main/java/com/mucommander/commons/collections/Enumerator.java
class Enumerator (line 29) | public class Enumerator<T> implements Iterator<T> {
method Enumerator (line 39) | public Enumerator(Enumeration<T> e) {
method hasNext (line 50) | @Override
method next (line 60) | @Override
method remove (line 69) | @Override
FILE: src/main/java/com/mucommander/commons/collections/VectorChangeListener.java
type VectorChangeListener (line 29) | public interface VectorChangeListener {
method elementsAdded (line 37) | void elementsAdded(int startIndex, int nbAdded);
method elementsRemoved (line 45) | void elementsRemoved(int startIndex, int nbRemoved);
method elementChanged (line 52) | void elementChanged(int index);
FILE: src/main/java/com/mucommander/commons/conf/BufferedConfigurationExplorer.java
class BufferedConfigurationExplorer (line 31) | class BufferedConfigurationExplorer extends ConfigurationExplorer {
method BufferedConfigurationExplorer (line 40) | BufferedConfigurationExplorer(ConfigurationSection root) {
method hasSections (line 50) | boolean hasSections() {
method popSection (line 58) | ConfigurationSection popSection() {
method moveTo (line 69) | @Override
FILE: src/main/java/com/mucommander/commons/conf/Configuration.java
class Configuration (line 70) | public class Configuration {
method Configuration (line 102) | public Configuration() {
method Configuration (line 113) | public Configuration(ConfigurationSource source) {
method Configuration (line 126) | public Configuration(ConfigurationReaderFactory reader, ConfigurationW...
method Configuration (line 137) | public Configuration(ConfigurationSource source, ConfigurationReaderFa...
method setSource (line 149) | public void setSource(ConfigurationSource s) {
method getSource (line 160) | public ConfigurationSource getSource() {
method setReaderFactory (line 176) | void setReaderFactory(ConfigurationReaderFactory f) {
method getReaderFactory (line 191) | private ConfigurationReaderFactory getReaderFactory() {
method setWriterFactory (line 210) | void setWriterFactory(ConfigurationWriterFactory f) {
method getWriterFactory (line 225) | private ConfigurationWriterFactory getWriterFactory() {
method read (line 247) | synchronized void read(Reader in, ConfigurationReader reader) throws I...
method read (line 269) | @Deprecated
method read (line 290) | public void read(Reader in) throws ConfigurationException, IOException {
method read (line 310) | public void read(ConfigurationReader reader) throws IOException, Confi...
method read (line 345) | public void read() throws ConfigurationException, IOException {
method write (line 362) | public void write(Writer out) throws ConfigurationException {
method write (line 380) | public void write() throws IOException, ConfigurationException {
method write (line 398) | public void write(ConfigurationBuilder builder) throws ConfigurationEx...
method build (line 411) | private synchronized void build(ConfigurationBuilder builder, Configur...
method renameVariable (line 453) | public void renameVariable(String fromVar, String toVar) {
method setVariable (line 474) | public synchronized boolean setVariable(String name, String value) {
method setVariable (line 506) | public boolean setVariable(String name, int value) {
method setVariable (line 529) | public boolean setVariable(String name, List<String> value, String sep...
method setVariable (line 551) | public boolean setVariable(String name, float value) {return setVariab...
method setVariable (line 571) | public boolean setVariable(String name, boolean value) {
method setVariable (line 593) | public boolean setVariable(String name, long value) {
method setVariable (line 615) | public boolean setVariable(String name, double value) {return setVaria...
method getVariable (line 625) | public synchronized String getVariable(String name) {
method getListVariable (line 640) | public ValueList getListVariable(String name, String separator) {
method getIntegerVariable (line 652) | public int getIntegerVariable(String name) {
method getLongVariable (line 664) | public long getLongVariable(String name) {
method getFloatVariable (line 676) | public float getFloatVariable(String name) {
method getDoubleVariable (line 688) | public double getDoubleVariable(String name) {
method getBooleanVariable (line 699) | public boolean getBooleanVariable(String name) {
method isVariableSet (line 708) | public boolean isVariableSet(String name) {
method prune (line 718) | private void prune(BufferedConfigurationExplorer explorer) {
method removeVariable (line 745) | public synchronized String removeVariable(String name) {
method removeListVariable (line 772) | public ValueList removeListVariable(String name, String separator) {
method removeIntegerVariable (line 785) | public int removeIntegerVariable(String name) {
method removeLongVariable (line 798) | public long removeLongVariable(String name) {
method removeFloatVariable (line 811) | public float removeFloatVariable(String name) {
method removeDoubleVariable (line 824) | public double removeDoubleVariable(String name) {
method removeBooleanVariable (line 837) | public boolean removeBooleanVariable(String name) {
method clear (line 844) | public void clear() {
method getVariable (line 864) | public synchronized String getVariable(String name, String defaultValu...
method getVariable (line 895) | public ValueList getVariable(String name, List<String> defaultValue, S...
method getVariable (line 913) | public int getVariable(String name, int defaultValue) {
method getVariable (line 931) | public long getVariable(String name, long defaultValue) {
method getVariable (line 949) | public float getVariable(String name, float defaultValue) {
method getVariable (line 966) | public boolean getVariable(String name, boolean defaultValue) {
method getVariable (line 984) | public double getVariable(String name, double defaultValue) {
method moveToParent (line 999) | private String moveToParent(ConfigurationExplorer root, String name, b...
method addConfigurationListener (line 1025) | public void addConfigurationListener(ConfigurationListener listener) {
method removeConfigurationListener (line 1033) | public void removeConfigurationListener(ConfigurationListener listener) {
method triggerEvent (line 1040) | private void triggerEvent(ConfigurationEvent event) {
method getRoot (line 1052) | ConfigurationSection getRoot() {
class ConfigurationLoader (line 1062) | private class ConfigurationLoader implements ConfigurationBuilder {
method ConfigurationLoader (line 1075) | ConfigurationLoader(ConfigurationSection root) {
method startConfiguration (line 1084) | public void startConfiguration() {
method endConfiguration (line 1093) | public void endConfiguration() throws ConfigurationException {
method startSection (line 1106) | public void startSection(String name) {
method endSection (line 1124) | public void endSection(String name) throws ConfigurationException {
method addVariable (line 1147) | public void addVariable(String name, String value) {
FILE: src/main/java/com/mucommander/commons/conf/ConfigurationBuilder.java
type ConfigurationBuilder (line 38) | public interface ConfigurationBuilder {
method startConfiguration (line 46) | void startConfiguration() throws ConfigurationException;
method endConfiguration (line 56) | void endConfiguration() throws ConfigurationException;
method startSection (line 69) | void startSection(String name) throws ConfigurationException;
method endSection (line 81) | void endSection(String name) throws ConfigurationException;
method addVariable (line 95) | void addVariable(String name, String value) throws ConfigurationExcept...
FILE: src/main/java/com/mucommander/commons/conf/ConfigurationEvent.java
class ConfigurationEvent (line 32) | public class ConfigurationEvent {
method ConfigurationEvent (line 55) | public ConfigurationEvent(Configuration configuration, String name, St...
method getConfiguration (line 66) | public Configuration getConfiguration() {
method getVariable (line 79) | public String getVariable() {
method getValue (line 90) | public String getValue() {
method getIntegerValue (line 102) | public int getIntegerValue() throws NumberFormatException {
method getFloatValue (line 114) | public float getFloatValue() throws NumberFormatException {
method getBooleanValue (line 125) | public boolean getBooleanValue() {
method getLongValue (line 137) | public long getLongValue() throws NumberFormatException {
method getDoubleValue (line 149) | public double getDoubleValue() {
method getListValue (line 161) | public ValueList getListValue(String separator) {
FILE: src/main/java/com/mucommander/commons/conf/ConfigurationException.java
class ConfigurationException (line 34) | public class ConfigurationException extends Exception {
method ConfigurationException (line 39) | public ConfigurationException(String message) {super(message);}
method ConfigurationException (line 49) | public ConfigurationException(Throwable cause) {super(cause);}
method ConfigurationException (line 59) | public ConfigurationException(String message, Throwable cause) {super(...
FILE: src/main/java/com/mucommander/commons/conf/ConfigurationExplorer.java
class ConfigurationExplorer (line 25) | class ConfigurationExplorer {
method ConfigurationExplorer (line 34) | public ConfigurationExplorer(ConfigurationSection root) {
method getSection (line 43) | public ConfigurationSection getSection() {
method moveTo (line 53) | public boolean moveTo(String name, boolean create) {
FILE: src/main/java/com/mucommander/commons/conf/ConfigurationFormatException.java
class ConfigurationFormatException (line 40) | public class ConfigurationFormatException extends ConfigurationException {
method ConfigurationFormatException (line 55) | public ConfigurationFormatException(String message) {super(message);}
method ConfigurationFormatException (line 68) | public ConfigurationFormatException(String message, int line, int colu...
method ConfigurationFormatException (line 81) | public ConfigurationFormatException(Throwable cause) {super(cause == n...
method ConfigurationFormatException (line 97) | public ConfigurationFormatException(Throwable cause, int line, int col...
method ConfigurationFormatException (line 110) | public ConfigurationFormatException(String message, Throwable cause) {
method ConfigurationFormatException (line 128) | public ConfigurationFormatException(String message, Throwable cause, i...
method setLocationInformation (line 139) | private void setLocationInformation(int line, int column) {
method getLineNumber (line 155) | public int getLineNumber() {return line;}
method getColumnNumber (line 168) | public int getColumnNumber() {return column;}
FILE: src/main/java/com/mucommander/commons/conf/ConfigurationListener.java
type ConfigurationListener (line 30) | public interface ConfigurationListener {
method configurationChanged (line 35) | void configurationChanged(ConfigurationEvent event);
FILE: src/main/java/com/mucommander/commons/conf/ConfigurationReader.java
type ConfigurationReader (line 44) | public interface ConfigurationReader {
method read (line 57) | void read(Reader in, ConfigurationBuilder builder) throws Configuratio...
FILE: src/main/java/com/mucommander/commons/conf/ConfigurationReaderFactory.java
type ConfigurationReaderFactory (line 35) | public interface ConfigurationReaderFactory<T extends ConfigurationReade...
method getReaderInstance (line 41) | T getReaderInstance() throws ReaderConfigurationException;
FILE: src/main/java/com/mucommander/commons/conf/ConfigurationSection.java
class ConfigurationSection (line 27) | class ConfigurationSection {
method removeVariable (line 39) | public String removeVariable(String name) {
method getVariable (line 48) | public String getVariable(String name) {
method setVariable (line 63) | public boolean setVariable(String name, String value) {
method variableNames (line 89) | public Set<String> variableNames() {
method hasVariables (line 97) | public boolean hasVariables() {
method getIntegerValue (line 111) | public static int getIntegerValue(String value) {
method getListValue (line 124) | public static ValueList getListValue(String value, String separator) {
method getFloatValue (line 136) | public static float getFloatValue(String value) {
method getBooleanValue (line 148) | public static boolean getBooleanValue(String value) {
method getLongValue (line 160) | public static long getLongValue(String value) {
method getDoubleValue (line 172) | public static double getDoubleValue(String value) {
method getValue (line 181) | public static String getValue(int value) {
method getValue (line 191) | public static String getValue(List<String> value, String separator) {
method getValue (line 200) | public static String getValue(float value) {
method getValue (line 209) | public static String getValue(boolean value) {
method getValue (line 218) | public static String getValue(long value) {
method getValue (line 227) | public static String getValue(double value) {
method addSection (line 243) | public ConfigurationSection addSection(String name) {
method removeSection (line 261) | public ConfigurationSection removeSection(String name) {
method removeSection (line 273) | public boolean removeSection(ConfigurationSection section) {
method getSection (line 294) | public ConfigurationSection getSection(String name) {
method sectionNames (line 306) | public Set<String> sectionNames() {
method hasSections (line 314) | public boolean hasSections() {
method isEmpty (line 327) | public boolean isEmpty() {
method clear (line 334) | public void clear() {
FILE: src/main/java/com/mucommander/commons/conf/ConfigurationSource.java
type ConfigurationSource (line 44) | public interface ConfigurationSource {
method getReader (line 50) | Reader getReader() throws IOException;
method getWriter (line 57) | Writer getWriter() throws IOException;
method isExists (line 65) | boolean isExists() throws IOException;
FILE: src/main/java/com/mucommander/commons/conf/ConfigurationStructureException.java
class ConfigurationStructureException (line 36) | public class ConfigurationStructureException extends ConfigurationExcept...
method ConfigurationStructureException (line 41) | public ConfigurationStructureException(String message) {super(message);}
method ConfigurationStructureException (line 51) | public ConfigurationStructureException(Throwable cause) {super(cause);}
method ConfigurationStructureException (line 61) | public ConfigurationStructureException(String message, Throwable cause...
FILE: src/main/java/com/mucommander/commons/conf/ConfigurationWriterFactory.java
class ConfigurationWriterFactory (line 36) | public abstract class ConfigurationWriterFactory<T extends Configuration...
method ConfigurationWriterFactory (line 45) | public ConfigurationWriterFactory() {
method ConfigurationWriterFactory (line 54) | public ConfigurationWriterFactory(String rootElementName) {
method getRootElementName (line 62) | protected String getRootElementName() {
method getWriterInstance (line 75) | public abstract T getWriterInstance(Writer out) throws WriterConfigura...
FILE: src/main/java/com/mucommander/commons/conf/DefaultConfigurationBuilder.java
class DefaultConfigurationBuilder (line 31) | public class DefaultConfigurationBuilder implements ConfigurationBuilder {
method startConfiguration (line 40) | public void startConfiguration() {}
method endConfiguration (line 49) | public void endConfiguration() {}
method startSection (line 60) | public void startSection(String name) {}
method endSection (line 71) | public void endSection(String name) {}
method addVariable (line 82) | public void addVariable(String name, String value) {}
FILE: src/main/java/com/mucommander/commons/conf/FileConfigurationSource.java
class FileConfigurationSource (line 28) | public class FileConfigurationSource implements ConfigurationSource {
method FileConfigurationSource (line 41) | @Deprecated
method FileConfigurationSource (line 51) | public FileConfigurationSource(File file, Charset charset) {
method FileConfigurationSource (line 61) | FileConfigurationSource(File file, String charset) {
method FileConfigurationSource (line 71) | @Deprecated
method FileConfigurationSource (line 81) | FileConfigurationSource(String path, String charset) {
method FileConfigurationSource (line 90) | public FileConfigurationSource(String path, Charset charset) {
method getFile (line 100) | public File getFile() {
method getCharset (line 108) | public Charset getCharset() {
method getReader (line 114) | @Override
method getWriter (line 120) | @Override
method isExists (line 125) | @Override
FILE: src/main/java/com/mucommander/commons/conf/ReaderConfigurationException.java
class ReaderConfigurationException (line 32) | public class ReaderConfigurationException extends ConfigurationException {
method ReaderConfigurationException (line 37) | public ReaderConfigurationException(String message) {super(message);}
method ReaderConfigurationException (line 47) | public ReaderConfigurationException(Throwable cause) {super(cause);}
method ReaderConfigurationException (line 57) | public ReaderConfigurationException(String message, Throwable cause) {...
FILE: src/main/java/com/mucommander/commons/conf/SourceConfigurationException.java
class SourceConfigurationException (line 32) | public class SourceConfigurationException extends ConfigurationException {
method SourceConfigurationException (line 37) | public SourceConfigurationException(String message) {super(message);}
method SourceConfigurationException (line 47) | public SourceConfigurationException(Throwable cause) {super(cause);}
method SourceConfigurationException (line 57) | public SourceConfigurationException(String message, Throwable cause) {...
FILE: src/main/java/com/mucommander/commons/conf/ValueIterator.java
class ValueIterator (line 31) | public class ValueIterator implements Iterator<String> {
method ValueIterator (line 40) | ValueIterator(Iterator<String> iterator) {
method hasNext (line 50) | @Override
method next (line 60) | @Override
method remove (line 68) | @Override
method nextValue (line 80) | public String nextValue() {
method nextIntegerValue (line 90) | public int nextIntegerValue() {
method nextFloatValue (line 100) | public float nextFloatValue() {
method nextLongValue (line 110) | public long nextLongValue() {
method nextDoubleValue (line 120) | public double nextDoubleValue() {
method nextBooleanValue (line 129) | public boolean nextBooleanValue() {
method nextListValue (line 139) | public ValueList nextListValue(String separator) {
FILE: src/main/java/com/mucommander/commons/conf/ValueList.java
class ValueList (line 37) | public class ValueList extends ArrayList<String> {
method ValueList (line 43) | public ValueList(String data, String separator) {
method valueAt (line 56) | public String valueAt(int index) {
method integerValueAt (line 66) | public int integerValueAt(int index) {
method floatValueAt (line 76) | public float floatValueAt(int index) {
method doubleValueAt (line 86) | public double doubleValueAt(int index) {
method longValueAt (line 96) | public long longValueAt(int index) {
method booleanValueAt (line 105) | public boolean booleanValueAt(int index) {
method listValueAt (line 115) | public ValueList listValueAt(int index, String separator) {
method valueIterator (line 123) | public ValueIterator valueIterator() {
method toString (line 135) | public static String toString(List<?> data, String separator) {
FILE: src/main/java/com/mucommander/commons/conf/WriterConfigurationException.java
class WriterConfigurationException (line 31) | public class WriterConfigurationException extends ConfigurationException {
method WriterConfigurationException (line 36) | public WriterConfigurationException(String message) {
method WriterConfigurationException (line 48) | public WriterConfigurationException(Throwable cause) {
method WriterConfigurationException (line 60) | public WriterConfigurationException(String message, Throwable cause) {
FILE: src/main/java/com/mucommander/commons/conf/XmlConfigurationReader.java
class XmlConfigurationReader (line 71) | public class XmlConfigurationReader extends DefaultHandler implements Co...
method XmlConfigurationReader (line 96) | public XmlConfigurationReader() {
method read (line 112) | public void read(Reader in, ConfigurationBuilder builder) throws IOExc...
method characters (line 133) | @Override
method startElement (line 139) | @Override
method endElement (line 161) | @Override
method startDocument (line 198) | @Override
method endDocument (line 210) | @Override
method setDocumentLocator (line 222) | @Override
FILE: src/main/java/com/mucommander/commons/conf/XmlConfigurationWriter.java
class XmlConfigurationWriter (line 40) | public class XmlConfigurationWriter implements ConfigurationBuilder {
method getWriterInstance (line 54) | public XmlConfigurationWriter getWriterInstance(Writer out) {
method XmlConfigurationWriter (line 65) | protected XmlConfigurationWriter(Writer out, String rootElementName) {
method createHandler (line 71) | private static ContentHandler createHandler(Writer out) {
method startElement (line 97) | protected void startElement(String name) throws ConfigurationException {
method endElement (line 105) | protected void endElement(String name) throws ConfigurationException {
method startSection (line 118) | public void startSection(String name) throws ConfigurationException {
method endSection (line 127) | public void endSection(String name) throws ConfigurationException {
method addVariable (line 137) | public void addVariable(String name, String value) throws Configuratio...
method startConfiguration (line 154) | public void startConfiguration() throws ConfigurationException {
method endConfiguration (line 167) | public void endConfiguration() throws ConfigurationException {
FILE: src/main/java/com/mucommander/commons/file/AbstractArchiveEntryFile.java
class AbstractArchiveEntryFile (line 57) | public abstract class AbstractArchiveEntryFile extends AbstractFile {
method AbstractArchiveEntryFile (line 76) | protected AbstractArchiveEntryFile(FileURL url, AbstractArchiveFile ar...
method getEntry (line 88) | public ArchiveEntry getEntry() {
method getArchiveFile (line 97) | AbstractArchiveFile getArchiveFile() {
method getRelativeEntryPath (line 109) | private String getRelativeEntryPath() {
method getLastModifiedDate (line 127) | @Override
method getSize (line 132) | @Override
method isDirectory (line 137) | @Override
method isArchive (line 142) | @Override
method ls (line 148) | @Override
method ls (line 153) | @Override
method ls (line 158) | @Override
method getParent (line 163) | @Override
method setParent (line 168) | @Override
method exists (line 178) | @Override
method getPermissions (line 183) | @Override
method changePermission (line 189) | @Override
method getOwner (line 194) | @Override
method canGetOwner (line 199) | @Override
method getGroup (line 204) | @Override
method canGetGroup (line 209) | @Override
method isSymlink (line 217) | @Override
method isSystem (line 225) | @Override
method getFreeSpace (line 237) | @Override
method getTotalSpace (line 249) | @Override
method getInputStream (line 261) | @Override
method getAppendOutputStream (line 271) | @Override
method getRandomAccessInputStream (line 283) | @Override
method getRandomAccessOutputStream (line 295) | @Override
method copyRemotelyTo (line 306) | @Override
method renameTo (line 318) | @Override
method getUnderlyingFileObject (line 328) | @Override
method getSeparator (line 344) | @Override
method getAbsolutePath (line 352) | @Override
method getCanonicalPath (line 361) | @Override
method getRoot (line 370) | @Override
method isRoot (line 380) | @Override
method getVolume (line 388) | @Override
method getReplication (line 393) | @Override
method getBlocksize (line 399) | @Override
method changeReplication (line 405) | @Override
FILE: src/main/java/com/mucommander/commons/file/AbstractArchiveFile.java
class AbstractArchiveFile (line 80) | public abstract class AbstractArchiveFile extends ProxyFile {
method AbstractArchiveFile (line 103) | protected AbstractArchiveFile(AbstractFile file) {
method createEntriesTree (line 115) | private void createEntriesTree() throws IOException {
method checkEntriesTree (line 150) | private void checkEntriesTree() throws IOException {
method declareEntriesTreeUpToDate (line 162) | protected void declareEntriesTreeUpToDate() {
method addToEntriesTree (line 175) | protected void addToEntriesTree(ArchiveEntry entry) throws IOException {
method removeFromEntriesTree (line 189) | protected void removeFromEntriesTree(ArchiveEntry entry) throws IOExce...
method getArchiveEntryTree (line 205) | ArchiveEntryTree getArchiveEntryTree() {
method ls (line 215) | protected AbstractFile[] ls(AbstractArchiveEntryFile entryFile, Filena...
method ls (line 237) | private AbstractFile[] ls(DefaultMutableTreeNode treeNode, AbstractFil...
method getArchiveEntryFile (line 274) | private AbstractFile getArchiveEntryFile(ArchiveEntry entry, AbstractF...
method getArchiveEntryFile (line 315) | public AbstractFile getArchiveEntryFile(ArchiveEntry entry) throws IOE...
method getArchiveEntryFile (line 335) | public AbstractFile getArchiveEntryFile(String entryPath) throws IOExc...
method getArchiveEntryFile (line 376) | private AbstractFile getArchiveEntryFile(DefaultMutableTreeNode entryN...
method getEntryIterator (line 399) | public abstract ArchiveEntryIterator getEntryIterator() throws IOExcep...
method getEntryInputStream (line 416) | public abstract InputStream getEntryInputStream(ArchiveEntry entry, Ar...
method isWritable (line 434) | public abstract boolean isWritable();
method isArchive (line 437) | @Override
method ls (line 452) | @Override
method ls (line 475) | @Override
method ls (line 497) | @Override
method getPassword (line 510) | public String getPassword() {
method setPassword (line 514) | public void setPassword(String password) {
method getLogger (line 521) | private static Logger getLogger() {
FILE: src/main/java/com/mucommander/commons/file/AbstractFile.java
class AbstractFile (line 56) | public abstract class AbstractFile implements FileAttributes, Permission...
method AbstractFile (line 81) | protected AbstractFile(FileURL url) {
method getURL (line 91) | public FileURL getURL() {
method getJavaNetURL (line 111) | public URL getJavaNetURL() throws MalformedURLException {
method getName (line 129) | public String getName() {
method getExtension (line 155) | public String getExtension() {
method getAbsolutePath (line 177) | public String getAbsolutePath() {
method getCanonicalPath (line 190) | public String getCanonicalPath() {
method getCanonicalFile (line 203) | public AbstractFile getCanonicalFile() {
method getSeparator (line 228) | public String getSeparator() {
method isHidden (line 242) | public boolean isHidden() {
method isExecutable (line 251) | public boolean isExecutable() {
method canRead (line 268) | public boolean canRead() {
method getRoot (line 282) | public AbstractFile getRoot() {
method isRoot (line 296) | public boolean isRoot() {
method getVolume (line 318) | public AbstractFile getVolume() {
method getInputStream (line 341) | public InputStream getInputStream(long offset) throws IOException {
method copyStream (line 385) | public void copyStream(InputStream in, boolean append, long length) th...
method copyTo (line 433) | public final void copyTo(AbstractFile destFile) throws IOException {
method moveTo (line 477) | public final void moveTo(AbstractFile destFile) throws IOException {
method mkfile (line 512) | public void mkfile() throws IOException {
method ls (line 536) | public AbstractFile[] ls(FileFilter filter) throws IOException {
method ls (line 555) | public AbstractFile[] ls(FilenameFilter filter) throws IOException {
method changePermissions (line 576) | public void changePermissions(int permissions) throws IOException {
method getPermissionsString (line 617) | public String getPermissionsString() {
method deleteRecursively (line 659) | public void deleteRecursively() throws IOException {
method isFileOperationSupported (line 677) | public boolean isFileOperationSupported(FileOperation op) {
method isBrowsable (line 690) | public final boolean isBrowsable() {
method getNameWithoutExtension (line 707) | public final String getNameWithoutExtension() {
method getPath (line 723) | public final String getPath() {
method getAbsolutePath (line 734) | public final String getAbsolutePath(boolean appendSeparator) {
method getCanonicalPath (line 747) | public final String getCanonicalPath(boolean appendSeparator) {
method getChild (line 764) | public final AbstractFile getChild(String relativePath) throws IOExcep...
method getChildSilently (line 778) | public final AbstractFile getChildSilently(String relativePath) {
method getDirectChild (line 802) | public final AbstractFile getDirectChild(String filename) throws IOExc...
method mkdir (line 826) | public final void mkdir(String name) throws IOException {
method mkdirs (line 840) | public final void mkdirs() throws IOException {
method mkfile (line 860) | public final void mkfile(String name) throws IOException {
method getAncestor (line 874) | public final AbstractFile getAncestor() {
method getAncestor (line 893) | public final <T extends AbstractFile> T getAncestor(Class<T> abstractF...
method getTopAncestor (line 914) | public final AbstractFile getTopAncestor() {
method hasAncestor (line 929) | public final boolean hasAncestor() {
method hasAncestor (line 944) | public final boolean hasAncestor(Class<? extends AbstractFile> abstrac...
method isParentOf (line 966) | public final boolean isParentOf(AbstractFile file) {
method getParentArchive (line 983) | public final AbstractArchiveFile getParentArchive() {
method getIcon (line 1007) | public final Icon getIcon(Dimension preferredResolution) {
method getIcon (line 1020) | public final Icon getIcon() {
method calculateChecksum (line 1045) | public final String calculateChecksum(String algorithm) throws IOExcep...
method calculateChecksum (line 1064) | public final String calculateChecksum(MessageDigest messageDigest) thr...
method addTrailingSeparator (line 1078) | public final String addTrailingSeparator(String path) {
method removeTrailingSeparator (line 1095) | protected final String removeTrailingSeparator(String path) {
method checkCopyPrerequisites (line 1121) | protected final void checkCopyPrerequisites(AbstractFile destFile, boo...
method checkCopyRemotelyPrerequisites (line 1172) | protected final void checkCopyRemotelyPrerequisites(AbstractFile destF...
method checkRenamePrerequisites (line 1200) | protected final void checkRenamePrerequisites(AbstractFile destFile, b...
method copyRecursively (line 1213) | protected final void copyRecursively(AbstractFile sourceFile, Abstract...
method deleteRecursively (line 1277) | private void deleteRecursively(AbstractFile file) throws IOException {
method changePermissions (line 1297) | public final void changePermissions(FilePermissions permissions) throw...
method importPermissions (line 1312) | public final void importPermissions(AbstractFile sourceFile) throws IO...
method importPermissions (line 1333) | public final void importPermissions(AbstractFile sourceFile, FilePermi...
method isFileOperationSupported (line 1353) | public static boolean isFileOperationSupported(FileOperation op, Class...
method getExtension (line 1373) | public static String getExtension(String filename) {
method getBaseName (line 1396) | public String getBaseName() {
method calculateChecksum (line 1419) | public static String calculateChecksum(InputStream in, MessageDigest m...
method equals (line 1448) | public boolean equals(Object o) {
method equalsCanonical (line 1471) | public boolean equalsCanonical(Object o) {
method hashCode (line 1484) | public int hashCode() {
method toString (line 1492) | public String toString() {
method getLastModifiedDate (line 1506) | public abstract long getLastModifiedDate();
method getCreationDate (line 1514) | public long getCreationDate() throws IOException {
method getLastAccessDate (line 1524) | public long getLastAccessDate() throws IOException {
method setLastModifiedDate (line 1542) | public abstract void setLastModifiedDate(long lastModified) throws IOE...
method changeReplication (line 1544) | public abstract void changeReplication(short replication) throws IOExc...
method getSize (line 1551) | public abstract long getSize();
method getParent (line 1558) | public abstract AbstractFile getParent();
method setParent (line 1565) | public abstract void setParent(AbstractFile parent);
method exists (line 1572) | public abstract boolean exists();
method getPermissions (line 1584) | public abstract FilePermissions getPermissions();
method getChangeablePermissions (line 1592) | public abstract PermissionBits getChangeablePermissions();
method changePermission (line 1610) | public abstract void changePermission(int access, int permission, bool...
method getOwner (line 1621) | public abstract String getOwner();
method getReplication (line 1635) | public abstract short getReplication() throws UnsupportedFileOperation...
method getBlocksize (line 1649) | public abstract long getBlocksize() throws UnsupportedFileOperationExc...
method canGetOwner (line 1659) | public abstract boolean canGetOwner();
method getGroup (line 1670) | public abstract String getGroup();
method canGetGroup (line 1680) | public abstract boolean canGetGroup();
method isDirectory (line 1692) | public abstract boolean isDirectory();
method isArchive (line 1702) | public abstract boolean isArchive();
method isSymlink (line 1710) | public abstract boolean isSymlink();
method isSystem (line 1720) | public abstract boolean isSystem();
method ls (line 1736) | public abstract AbstractFile[] ls() throws IOException;
method mkdir (line 1751) | public abstract void mkdir() throws IOException;
method getInputStream (line 1773) | public abstract InputStream getInputStream() throws IOException;
method getOutputStream (line 1796) | public abstract OutputStream getOutputStream() throws IOException;
method getAppendOutputStream (line 1819) | public abstract OutputStream getAppendOutputStream() throws IOException;
method getRandomAccessInputStream (line 1841) | public abstract RandomAccessInputStream getRandomAccessInputStream() t...
method getRandomAccessOutputStream (line 1863) | public abstract RandomAccessOutputStream getRandomAccessOutputStream()...
method delete (line 1883) | public abstract void delete() throws IOException;
method renameTo (line 1909) | public abstract void renameTo(AbstractFile destFile) throws IOException;
method copyRemotelyTo (line 1938) | public abstract void copyRemotelyTo(AbstractFile destFile) throws IOEx...
method getFreeSpace (line 1954) | public abstract long getFreeSpace() throws IOException;
method getTotalSpace (line 1968) | public abstract long getTotalSpace() throws IOException;
method getUnderlyingFileObject (line 1981) | public abstract Object getUnderlyingFileObject();
method getPushBackInputStream (line 1995) | public synchronized PushbackInputStream getPushBackInputStream(final i...
method closePushbackInputStream (line 2010) | public void closePushbackInputStream() throws IOException {
method isLocalFile (line 2016) | public boolean isLocalFile() {
class MuPushbackInputStream (line 2024) | private class MuPushbackInputStream extends PushbackInputStream implem...
method MuPushbackInputStream (line 2033) | MuPushbackInputStream(InputStream in, int size) {
method close (line 2038) | @Override
method getBufferSize (line 2047) | int getBufferSize() {
method getProgress (line 2051) | @Override
method hasProgress (line 2056) | @Override
FILE: src/main/java/com/mucommander/commons/file/AbstractFileClassLoader.java
class AbstractFileClassLoader (line 33) | public class AbstractFileClassLoader extends ClassLoader {
method AbstractFileClassLoader (line 46) | public AbstractFileClassLoader(ClassLoader parent) {
method AbstractFileClassLoader (line 54) | public AbstractFileClassLoader() {
method addFile (line 67) | public void addFile(AbstractFile file) {
method files (line 82) | public Iterator<AbstractFile> files() {
method contains (line 91) | public boolean contains(AbstractFile file) {
method findResourceAsFile (line 104) | private AbstractFile findResourceAsFile(String name) {
method getResourceAsStream (line 130) | @Override
method findResource (line 160) | @Override
method findResources (line 182) | @Override
method findLibrary (line 205) | @Override
method loadClass (line 222) | private Class<?> loadClass(String name, AbstractFile file) throws IOEx...
method findClass (line 242) | @Override
FILE: src/main/java/com/mucommander/commons/file/AbstractROArchiveFile.java
class AbstractROArchiveFile (line 36) | public abstract class AbstractROArchiveFile extends AbstractArchiveFile {
method AbstractROArchiveFile (line 43) | protected AbstractROArchiveFile(AbstractFile file) {
method isWritable (line 54) | @Override
FILE: src/main/java/com/mucommander/commons/file/AbstractRWArchiveFile.java
class AbstractRWArchiveFile (line 38) | public abstract class AbstractRWArchiveFile extends AbstractArchiveFile {
method AbstractRWArchiveFile (line 45) | protected AbstractRWArchiveFile(AbstractFile file) {
method isWritable (line 60) | @Override
method addEntry (line 77) | public abstract OutputStream addEntry(ArchiveEntry entry) throws IOExc...
method deleteEntry (line 88) | public abstract void deleteEntry(ArchiveEntry entry) throws IOExceptio...
method updateEntry (line 101) | public abstract void updateEntry(ArchiveEntry entry) throws IOExceptio...
method optimizeArchive (line 116) | public abstract void optimizeArchive() throws IOException, Unsupported...
FILE: src/main/java/com/mucommander/commons/file/ArchiveEntry.java
class ArchiveEntry (line 34) | public class ArchiveEntry extends SimpleFileAttributes {
method ArchiveEntry (line 49) | public ArchiveEntry() {
method ArchiveEntry (line 61) | public ArchiveEntry(String path, boolean directory, long date, long si...
method getDepth (line 76) | public int getDepth() {
method getDepth (line 87) | static int getDepth(String entryPath) {
method getName (line 96) | public String getName() {
method getEntryObject (line 114) | public Object getEntryObject() {
method setEntryObject (line 124) | public void setEntryObject(Object entryObject) {
method getPermissions (line 136) | @Override
method setPath (line 151) | @Override
method equals (line 166) | public boolean equals(Object o) {
method hashCode (line 175) | public int hashCode() {
method toString (line 188) | @Override
FILE: src/main/java/com/mucommander/commons/file/ArchiveEntryIterator.java
type ArchiveEntryIterator (line 39) | public interface ArchiveEntryIterator {
method nextEntry (line 48) | ArchiveEntry nextEntry() throws IOException;
method close (line 56) | void close() throws IOException;
FILE: src/main/java/com/mucommander/commons/file/ArchiveEntryTree.java
class ArchiveEntryTree (line 36) | class ArchiveEntryTree extends DefaultMutableTreeNode {
method ArchiveEntryTree (line 42) | ArchiveEntryTree() {
method addArchiveEntry (line 50) | void addArchiveEntry(ArchiveEntry entry) {
method findEntryNode (line 112) | DefaultMutableTreeNode findEntryNode(String entryPath) {
method getDefaultMutableTreeNode (line 131) | @Nullable
method getLogger (line 146) | private static Logger getLogger() {
FILE: src/main/java/com/mucommander/commons/file/ArchiveFormatProvider.java
type ArchiveFormatProvider (line 37) | public interface ArchiveFormatProvider {
method getFile (line 46) | AbstractArchiveFile getFile(AbstractFile file) throws IOException;
method getFilenameFilter (line 54) | FilenameFilter getFilenameFilter();
method getFileExtensions (line 56) | String[] getFileExtensions();
FILE: src/main/java/com/mucommander/commons/file/AuthException.java
class AuthException (line 33) | public class AuthException extends IOException {
method AuthException (line 43) | public AuthException(FileURL fileURL) {
method AuthException (line 53) | public AuthException(FileURL fileURL, String msg) {
method getURL (line 68) | public FileURL getURL() {
FILE: src/main/java/com/mucommander/commons/file/AuthenticationType.java
type AuthenticationType (line 28) | public enum AuthenticationType {
FILE: src/main/java/com/mucommander/commons/file/Authenticator.java
type Authenticator (line 43) | public interface Authenticator {
method authenticate (line 50) | void authenticate(FileURL fileURL);
FILE: src/main/java/com/mucommander/commons/file/Credentials.java
class Credentials (line 9) | public final class Credentials {
method Credentials (line 21) | public Credentials(String login, String password) {
method getLogin (line 31) | public String getLogin() {
method getPassword (line 40) | public String getPassword() {
method getMaskedPassword (line 49) | public String getMaskedPassword() {
method isEmpty (line 61) | public boolean isEmpty() {
method equals (line 74) | @Override
method equals (line 92) | public boolean equals(Object o, boolean passwordSensitive) {
method clone (line 110) | @Override
method toString (line 120) | public String toString() {
method hashCode (line 124) | public int hashCode() {
FILE: src/main/java/com/mucommander/commons/file/DefaultPathCanonizer.java
class DefaultPathCanonizer (line 8) | public class DefaultPathCanonizer implements PathCanonizer {
method DefaultPathCanonizer (line 22) | public DefaultPathCanonizer(String separator) {
method DefaultPathCanonizer (line 33) | public DefaultPathCanonizer(String separator, String tildeReplacement) {
method canonize (line 46) | @Override
FILE: src/main/java/com/mucommander/commons/file/DefaultSchemeHandler.java
class DefaultSchemeHandler (line 16) | public class DefaultSchemeHandler implements SchemeHandler {
method DefaultSchemeHandler (line 35) | public DefaultSchemeHandler() {
method DefaultSchemeHandler (line 48) | public DefaultSchemeHandler(SchemeParser parser, int standardPort, Str...
method getParser (line 66) | public SchemeParser getParser() {
method getAuthenticationType (line 75) | public AuthenticationType getAuthenticationType() {
method getGuestCredentials (line 84) | public Credentials getGuestCredentials() {
method getPathSeparator (line 93) | public String getPathSeparator() {
method getStandardPort (line 102) | public int getStandardPort() {
method getRealm (line 116) | public FileURL getRealm(FileURL location) {
FILE: src/main/java/com/mucommander/commons/file/DefaultSchemeParser.java
class DefaultSchemeParser (line 66) | @Slf4j
method DefaultSchemeParser (line 79) | DefaultSchemeParser() {
method DefaultSchemeParser (line 92) | DefaultSchemeParser(boolean parseQuery) {
method DefaultSchemeParser (line 105) | DefaultSchemeParser(PathCanonizer pathCanonizer, boolean parseQuery) {
method handleLocalFilePath (line 116) | private void handleLocalFilePath(String url, FileURL fileURL) {
method getPathCanonizer (line 131) | private PathCanonizer getPathCanonizer() {
method parse (line 136) | @Override
FILE: src/main/java/com/mucommander/commons/file/DummyFile.java
class DummyFile (line 20) | public class DummyFile extends AbstractFile {
method DummyFile (line 22) | public DummyFile(FileURL url) {
method getLastModifiedDate (line 29) | @Override
method setLastModifiedDate (line 39) | @Override
method getSize (line 48) | @Override
method getParent (line 56) | @Override
method setParent (line 64) | @Override
method exists (line 71) | @Override
method getPermissions (line 79) | @Override
method getChangeablePermissions (line 88) | @Override
method changePermission (line 96) | @Override
method getOwner (line 105) | @Override
method canGetOwner (line 113) | @Override
method getGroup (line 121) | @Override
method canGetGroup (line 129) | @Override
method isDirectory (line 137) | @Override
method isArchive (line 145) | @Override
method isSymlink (line 153) | @Override
method isSystem (line 161) | @Override
method ls (line 171) | @Override
method mkdir (line 182) | @Override
method getInputStream (line 193) | @Override
method getOutputStream (line 204) | @Override
method getAppendOutputStream (line 215) | @Override
method getRandomAccessInputStream (line 226) | @Override
method getRandomAccessOutputStream (line 237) | @Override
method delete (line 248) | @Override
method copyRemotelyTo (line 259) | @Override
method renameTo (line 270) | @Override
method getFreeSpace (line 281) | @Override
method getTotalSpace (line 292) | @Override
method getUnderlyingFileObject (line 301) | @Override
method getReplication (line 306) | @Override
method getBlocksize (line 312) | @Override
method changeReplication (line 318) | @Override
FILE: src/main/java/com/mucommander/commons/file/FileAccessDeniedException.java
class FileAccessDeniedException (line 26) | public class FileAccessDeniedException extends IOException {
FILE: src/main/java/com/mucommander/commons/file/FileAttributes.java
type FileAttributes (line 40) | public interface FileAttributes {
method getPath (line 49) | String getPath();
method exists (line 57) | boolean exists();
method getLastModifiedDate (line 64) | long getLastModifiedDate();
method getSize (line 71) | long getSize();
method isDirectory (line 79) | boolean isDirectory();
method getPermissions (line 86) | FilePermissions getPermissions();
method getOwner (line 93) | String getOwner();
method getGroup (line 100) | String getGroup();
FILE: src/main/java/com/mucommander/commons/file/FileFactory.java
class FileFactory (line 85) | public class FileFactory {
method registerProtocolNetworks (line 115) | public static void registerProtocolNetworks() {
method registerProtocolArchives (line 131) | public static void registerProtocolArchives() {
method registerProtocolOthers (line 162) | public static void registerProtocolOthers() {
method FileFactory (line 189) | private FileFactory() {
method registerProtocol (line 215) | public static ProtocolProvider registerProtocol(String protocol, Proto...
method unregisterProtocol (line 238) | public static ProtocolProvider unregisterProtocol(String protocol) {
method getProtocolProvider (line 261) | public static ProtocolProvider getProtocolProvider(String protocol) {
method isRegisteredProtocol (line 271) | public static boolean isRegisteredProtocol(String protocol) {
method protocols (line 284) | public static Iterator<String> protocols() {
method registerArchiveFormat (line 293) | public static void registerArchiveFormat(ArchiveFormatProvider provide...
method unregisterArchiveFormat (line 309) | public static void unregisterArchiveFormat(ArchiveFormatProvider provi...
method updateArchiveFormatProviderArray (line 321) | private static void updateArchiveFormatProviderArray() {
method getArchiveFormatProvider (line 334) | private static ArchiveFormatProvider getArchiveFormatProvider(String f...
method archiveFormats (line 352) | public static Iterator<ArchiveFormatProvider> archiveFormats() {
method getFile (line 366) | public static AbstractFile getFile(String absPath) {
method getFile (line 386) | public static AbstractFile getFile(String absPath, boolean throwExcept...
method getFile (line 410) | public static AbstractFile getFile(String absPath, AbstractFile parent...
method getFile (line 420) | public static AbstractFile getFile(FileURL fileURL) {
method getFile (line 437) | public static AbstractFile getFile(FileURL fileURL, boolean throwExcep...
method getFile (line 459) | public static AbstractFile getFile(FileURL fileURL, AbstractFile paren...
method getFile (line 478) | public static AbstractFile getFile(FileURL fileURL, AbstractFile paren...
method createRawFile (line 579) | private static AbstractFile createRawFile(FileURL fileURL, Authenticat...
method getFilenameVariation (line 618) | private static String getFilenameVariation(String filename) {
method getTemporaryFile (line 649) | public static AbstractFile getTemporaryFile(String desiredFilename, bo...
method getTemporaryFile (line 678) | public static AbstractFile getTemporaryFile(boolean deleteOnExit) thro...
method getTemporaryFolder (line 688) | public static AbstractFile getTemporaryFolder() {
method isArchiveFilename (line 699) | public static boolean isArchiveFilename(String filename) {
method wrapArchive (line 730) | public static AbstractFile wrapArchive(AbstractFile file) throws IOExc...
method wrapArchive (line 750) | public static AbstractFile wrapArchive(AbstractFile file, String exten...
method getDefaultFileIconProvider (line 766) | public static FileIconProvider getDefaultFileIconProvider() {
method setDefaultFileIconProvider (line 778) | public static void setDefaultFileIconProvider(FileIconProvider fip) {
method getDefaultAuthenticator (line 790) | public static Authenticator getDefaultAuthenticator() {
method setDefaultAuthenticator (line 801) | public static void setDefaultAuthenticator(Authenticator authenticator) {
method getLogger (line 805) | private static Logger getLogger() {
FILE: src/main/java/com/mucommander/commons/file/FileOperation.java
type FileOperation (line 13) | public enum FileOperation {
method getCorrespondingMethod (line 125) | public Method getCorrespondingMethod(Class<? extends AbstractFile> c) {
FILE: src/main/java/com/mucommander/commons/file/FilePermissions.java
type FilePermissions (line 18) | public interface FilePermissions extends PermissionBits {
method getMask (line 41) | PermissionBits getMask();
FILE: src/main/java/com/mucommander/commons/file/FileProtocols.java
type FileProtocols (line 8) | public interface FileProtocols {
FILE: src/main/java/com/mucommander/commons/file/FileURL.java
class FileURL (line 83) | public class FileURL implements Cloneable {
method getRealm (line 138) | @Override
method FileURL (line 166) | private FileURL(SchemeHandler handler) {
method urlModified (line 173) | private void urlModified() {
method getFileURL (line 188) | public static FileURL getFileURL(String location) throws MalformedURLE...
method getSchemeHandler (line 224) | private static SchemeHandler getSchemeHandler(String scheme) {
method getHandler (line 238) | public SchemeHandler getHandler() {
method setHandler (line 251) | public void setHandler(SchemeHandler handler) {
method registerHandler (line 262) | static void registerHandler(String scheme, SchemeHandler handler) {
method unregisterHandler (line 272) | static void unregisterHandler(String scheme) {
method getRegisteredHandler (line 282) | public static SchemeHandler getRegisteredHandler(String scheme) {
method getDefaultHandler (line 292) | static SchemeHandler getDefaultHandler() {
method getFilenameFromPath (line 304) | public static String getFilenameFromPath(String path, String separator) {
method getScheme (line 332) | public String getScheme() {
method setScheme (line 348) | public void setScheme(String scheme) {
method getHost (line 364) | public String getHost() {
method setHost (line 374) | public void setHost(String host) {
method getPort (line 387) | public int getPort() {
method setPort (line 398) | public void setPort(int port) {
method getStandardPort (line 416) | public int getStandardPort() {
method getLogin (line 427) | public String getLogin() {
method getPassword (line 437) | public String getPassword() {
method getAuthenticationType (line 449) | public AuthenticationType getAuthenticationType() {
method containsCredentials (line 459) | public boolean containsCredentials() {
method getCredentials (line 474) | public Credentials getCredentials() {
method setCredentials (line 489) | public void setCredentials(Credentials credentials) {
method getGuestCredentials (line 507) | public Credentials getGuestCredentials() {
method getPath (line 519) | public String getPath() {
method setPath (line 531) | public void setPath(String path) {
method getPathSeparator (line 555) | public String getPathSeparator() {
method getParent (line 571) | public FileURL getParent() {
method getRealm (line 618) | public FileURL getRealm() {
method getFilename (line 632) | public String getFilename() {
method getQuery (line 643) | public String getQuery() {
method setQuery (line 653) | public void setQuery(String query) {
method getProperty (line 667) | public String getProperty(String name) {
method setProperty (line 679) | public void setProperty(String name, String value) {
method getPropertyNames (line 700) | public Set<String> getPropertyNames() {
method importProperties (line 709) | public void importProperties(FileURL url) {
method toString (line 732) | public String toString(boolean includeCredentials, boolean maskPasswor...
method toString (line 788) | public String toString(boolean includeCredentials) {
method getJavaNetURL (line 808) | public URL getJavaNetURL() throws MalformedURLException {
method schemeEquals (line 819) | public boolean schemeEquals(FileURL url) {
method hostEquals (line 830) | public boolean hostEquals(FileURL url) {
method portEquals (line 844) | public boolean portEquals(FileURL url) {
method pathEquals (line 867) | public boolean pathEquals(FileURL url) {
method queryEquals (line 900) | public boolean queryEquals(FileURL url) {
method credentialsEquals (line 911) | public boolean credentialsEquals(FileURL url) {
method propertiesEquals (line 927) | private boolean propertiesEquals(FileURL url) {
method toString (line 941) | public String toString() {
method clone (line 950) | @Override
method equals (line 983) | public boolean equals(Object o) {
method equals (line 1015) | public boolean equals(Object o, boolean compareCredentials, boolean co...
method hashCode (line 1035) | public int hashCode() {
FILE: src/main/java/com/mucommander/commons/file/GroupedPermissionBits.java
class GroupedPermissionBits (line 11) | public class GroupedPermissionBits implements PermissionBits {
method GroupedPermissionBits (line 23) | public GroupedPermissionBits(int permissions) {
method getIntValue (line 27) | @Override
method getBitValue (line 32) | @Override
FILE: src/main/java/com/mucommander/commons/file/IndividualPermissionBits.java
class IndividualPermissionBits (line 11) | public abstract class IndividualPermissionBits implements PermissionBits {
method IndividualPermissionBits (line 13) | public IndividualPermissionBits() {
method getIntValue (line 17) | @Override
FILE: src/main/java/com/mucommander/commons/file/MacOsSystemFolder.java
type MacOsSystemFolder (line 17) | public enum MacOsSystemFolder {
method MacOsSystemFolder (line 67) | MacOsSystemFolder(String path) {
method isSystemFile (line 71) | public static boolean isSystemFile(AbstractFile file) {
FILE: src/main/java/com/mucommander/commons/file/MimeTypes.java
class MimeTypes (line 16) | public class MimeTypes extends Hashtable<String, String> {
method MimeTypes (line 23) | private MimeTypes() {
method getMimeType (line 51) | public static String getMimeType(AbstractFile file) {
FILE: src/main/java/com/mucommander/commons/file/MutableFileAttributes.java
type MutableFileAttributes (line 12) | public interface MutableFileAttributes extends FileAttributes {
method setPath (line 21) | void setPath(String path);
method setExists (line 28) | void setExists(boolean exists);
method setDate (line 35) | void setDate(long date);
method setSize (line 42) | void setSize(long size);
method setDirectory (line 49) | void setDirectory(boolean directory);
method setPermissions (line 56) | void setPermissions(FilePermissions permissions);
method setOwner (line 63) | void setOwner(String owner);
method setGroup (line 70) | void setGroup(String group);
FILE: src/main/java/com/mucommander/commons/file/PathCanonizer.java
type PathCanonizer (line 11) | public interface PathCanonizer {
method canonize (line 19) | String canonize(String path);
FILE: src/main/java/com/mucommander/commons/file/PermissionAccesses.java
type PermissionAccesses (line 14) | public interface PermissionAccesses {
FILE: src/main/java/com/mucommander/commons/file/PermissionBits.java
type PermissionBits (line 24) | public interface PermissionBits {
method getIntValue (line 46) | int getIntValue();
method getBitValue (line 56) | boolean getBitValue(int access, int type);
FILE: src/main/java/com/mucommander/commons/file/PermissionTypes.java
type PermissionTypes (line 12) | public interface PermissionTypes {
FILE: src/main/java/com/mucommander/commons/file/ProtocolFile.java
class ProtocolFile (line 10) | public abstract class ProtocolFile extends AbstractFile {
method ProtocolFile (line 12) | protected ProtocolFile(FileURL url) {
method isArchive (line 22) | @Override
FILE: src/main/java/com/mucommander/commons/file/ProtocolProvider.java
type ProtocolProvider (line 15) | public interface ProtocolProvider {
method getFile (line 25) | AbstractFile getFile(FileURL url, Object... instantiationParams) throw...
FILE: src/main/java/com/mucommander/commons/file/ROArchiveEntryFile.java
class ROArchiveEntryFile (line 13) | public class ROArchiveEntryFile extends AbstractArchiveEntryFile {
method ROArchiveEntryFile (line 15) | protected ROArchiveEntryFile(FileURL url, AbstractArchiveFile archiveF...
method setLastModifiedDate (line 24) | @Override
method getChangeablePermissions (line 33) | @Override
method delete (line 41) | @Override
method mkdir (line 50) | @Override
method getOutputStream (line 59) | @Override
method changePermissions (line 68) | @Override
method changePermission (line 77) | @Override
method getFreeSpace (line 86) | @Override
FILE: src/main/java/com/mucommander/commons/file/RWArchiveEntryFile.java
class RWArchiveEntryFile (line 18) | public class RWArchiveEntryFile extends AbstractArchiveEntryFile {
method RWArchiveEntryFile (line 20) | RWArchiveEntryFile(FileURL url, AbstractArchiveFile archiveFile, Archi...
method updateEntryAttributes (line 29) | private boolean updateEntryAttributes() {
method setLastModifiedDate (line 44) | @Override
method getChangeablePermissions (line 64) | @Override
method delete (line 84) | @Override
method mkdir (line 121) | @Override
method getOutputStream (line 148) | @Override
method changePermissions (line 172) | @Override
FILE: src/main/java/com/mucommander/commons/file/SchemeHandler.java
type SchemeHandler (line 36) | public interface SchemeHandler {
method getParser (line 43) | SchemeParser getParser();
method getRealm (line 56) | FileURL getRealm(FileURL location);
method getGuestCredentials (line 68) | Credentials getGuestCredentials();
method getAuthenticationType (line 76) | AuthenticationType getAuthenticationType();
method getPathSeparator (line 84) | String getPathSeparator();
method getStandardPort (line 93) | int getStandardPort();
FILE: src/main/java/com/mucommander/commons/file/SchemeParser.java
type SchemeParser (line 13) | public interface SchemeParser {
method parse (line 28) | void parse(String url, FileURL fileURL) throws MalformedURLException;
FILE: src/main/java/com/mucommander/commons/file/SevenZipArchiveFormatDetector.java
class SevenZipArchiveFormatDetector (line 28) | @Slf4j
method SevenZipArchiveFormatDetector (line 32) | public SevenZipArchiveFormatDetector(int maxLen) {
method detect (line 36) | protected abstract ArchiveFormat detect(byte[] bytes);
method detect (line 38) | public ArchiveFormat detect(AbstractFile file) {
method readFirst (line 48) | private byte[] readFirst(AbstractFile file) {
method checkSignature (line 68) | protected static boolean checkSignature(byte[] data, byte[] signature) {
method checkSignature (line 80) | protected static boolean checkSignature(byte[] data, int[] signature) {
FILE: src/main/java/com/mucommander/commons/file/SimpleFileAttributes.java
class SimpleFileAttributes (line 9) | public class SimpleFileAttributes implements MutableFileAttributes {
method SimpleFileAttributes (line 44) | public SimpleFileAttributes() {
method SimpleFileAttributes (line 54) | public SimpleFileAttributes(AbstractFile file) {
method getPath (line 66) | @Override
method setPath (line 71) | @Override
method exists (line 76) | @Override
method setExists (line 81) | @Override
method getLastModifiedDate (line 86) | @Override
method setDate (line 91) | @Override
method getSize (line 96) | @Override
method setSize (line 101) | @Override
method isDirectory (line 106) | @Override
method setDirectory (line 111) | @Override
method getPermissions (line 116) | @Override
method setPermissions (line 121) | @Override
method getOwner (line 126) | @Override
method setOwner (line 131) | @Override
method getGroup (line 136) | @Override
method setGroup (line 141) | @Override
method getReplication (line 146) | public short getReplication() {
method setReplication (line 150) | public void setReplication(short replication) {
method getBlockSize (line 154) | public long getBlockSize() {
method setBlockSize (line 158) | public void setBlockSize(long blockSize) {
FILE: src/main/java/com/mucommander/commons/file/SimpleFilePermissions.java
class SimpleFilePermissions (line 10) | public class SimpleFilePermissions extends GroupedPermissionBits impleme...
method SimpleFilePermissions (line 21) | public SimpleFilePermissions(int permissions) {
method SimpleFilePermissions (line 32) | public SimpleFilePermissions(int permissions, int mask) {
method SimpleFilePermissions (line 42) | public SimpleFilePermissions(int permissions, PermissionBits mask) {
method padPermissions (line 62) | public static FilePermissions padPermissions(FilePermissions permissio...
method padPermissions (line 84) | public static int padPermissions(int permissions, int supportedPermiss...
method getMask (line 89) | @Override
FILE: src/main/java/com/mucommander/commons/file/SingleArchiveEntryIterator.java
class SingleArchiveEntryIterator (line 10) | public class SingleArchiveEntryIterator implements ArchiveEntryIterator {
method SingleArchiveEntryIterator (line 15) | public SingleArchiveEntryIterator(ArchiveEntry entry) {
method nextEntry (line 19) | @Override
method close (line 34) | @Override
FILE: src/main/java/com/mucommander/commons/file/SyncedFileAttributes.java
class SyncedFileAttributes (line 19) | public abstract class SyncedFileAttributes extends SimpleFileAttributes {
method SyncedFileAttributes (line 37) | public SyncedFileAttributes(long ttl, boolean updateAttributesNow) {
method getTtl (line 51) | public long getTtl() {
method setTtl (line 62) | public void setTtl(long ttl) {
method getExpirationDate (line 75) | public long getExpirationDate() {
method setExpirationDate (line 85) | public void setExpirationDate(long expirationDate) {
method updateExpirationDate (line 94) | public void updateExpirationDate() {
method hasExpired (line 106) | public boolean hasExpired() {
method isUpdating (line 117) | private synchronized boolean isUpdating() {
method setUpdating (line 126) | private synchronized void setUpdating(boolean isUpdating) {
method checkForExpiration (line 136) | protected void checkForExpiration(boolean forceUpdate) {
method getPath (line 162) | @Override
method exists (line 172) | @Override
method getLastModifiedDate (line 182) | @Override
method getSize (line 192) | @Override
method isDirectory (line 202) | @Override
method getPermissions (line 212) | @Override
method getOwner (line 222) | @Override
method getGroup (line 232) | @Override
method getReplication (line 242) | @Override
method getBlockSize (line 252) | @Override
method updateAttributes (line 269) | public abstract void updateAttributes();
FILE: src/main/java/com/mucommander/commons/file/UnsupportedFileOperationException.java
class UnsupportedFileOperationException (line 23) | public class UnsupportedFileOperationException extends IOException {
method UnsupportedFileOperationException (line 33) | public UnsupportedFileOperationException(FileOperation op) {
method UnsupportedFileOperationException (line 46) | public UnsupportedFileOperationException(FileOperation op, String mess...
method getFileOperation (line 57) | public FileOperation getFileOperation() {
FILE: src/main/java/com/mucommander/commons/file/WrapperArchiveEntryIterator.java
class WrapperArchiveEntryIterator (line 12) | public class WrapperArchiveEntryIterator implements ArchiveEntryIterator {
method WrapperArchiveEntryIterator (line 23) | public WrapperArchiveEntryIterator(Iterator<? extends ArchiveEntry> it...
method nextEntry (line 28) | @Override
method close (line 36) | @Override
FILE: src/main/java/com/mucommander/commons/file/archiver/ArchiveFormat.java
type ArchiveFormat (line 24) | public enum ArchiveFormat {
method ArchiveFormat (line 47) | ArchiveFormat(String name, String ext, boolean supportManyEntries) {
FILE: src/main/java/com/mucommander/commons/file/archiver/Archiver.java
class Archiver (line 52) | public abstract class Archiver {
method Archiver (line 67) | Archiver(OutputStream out) {
method getOutputStream (line 77) | public OutputStream getOutputStream() {
method getFormat (line 86) | public ArchiveFormat getFormat() {
method setFormat (line 93) | private void setFormat(ArchiveFormat format) {
method supportsComment (line 102) | public boolean supportsComment() {
method supportsStream (line 109) | public boolean supportsStream() {
method setComment (line 122) | public void setComment(String comment) {
method normalizePath (line 139) | String normalizePath(String entryPath, boolean isDirectory) {
method getArchiver (line 170) | public static Archiver getArchiver(AbstractFile file, ArchiveFormat fo...
method getArchiver (line 209) | private static Archiver getArchiver(OutputStream out, ArchiveFormat fo...
method createBzip2OutputStream (line 251) | private static OutputStream createBzip2OutputStream(OutputStream out) ...
method getFormats (line 270) | public static ArchiveFormat[] getFormats(boolean manyEntries) {
method formatSupportsComment (line 297) | public static boolean formatSupportsComment(ArchiveFormat format) {
method createEntry (line 328) | public abstract OutputStream createEntry(String entryPath, FileAttribu...
method getProcessingFile (line 334) | public String getProcessingFile() {
method totalWrittenBytes (line 342) | public long totalWrittenBytes() {
method writtenBytesCurrentFile (line 351) | public long writtenBytesCurrentFile() {
method currentFileLength (line 358) | public long currentFileLength() {
method postProcess (line 365) | public abstract void postProcess() throws IOException;
method close (line 371) | public abstract void close() throws IOException;
FILE: src/main/java/com/mucommander/commons/file/archiver/ISOArchiver.java
class ISOArchiver (line 29) | public class ISOArchiver extends Archiver {
method ISOArchiver (line 41) | ISOArchiver(AbstractFile file) {
method createEntry (line 70) | @Override
method getParentDirectory (line 104) | private ISO9660Directory getParentDirectory(String isoPath){
method containsDirectory (line 127) | private ISO9660Directory containsDirectory(ISO9660Directory parentDire...
method getProcessingFile (line 136) | @Override
method totalWrittenBytes (line 141) | @Override
method writtenBytesCurrentFile (line 146) | @Override
method currentFileLength (line 151) | @Override
method postProcess (line 156) | @Override
method close (line 215) | @Override
FILE: src/main/java/com/mucommander/commons/file/archiver/SingleFileArchiver.java
class SingleFileArchiver (line 14) | class SingleFileArchiver extends Archiver {
method SingleFileArchiver (line 19) | SingleFileArchiver(OutputStream outputStream) {
method createEntry (line 28) | @Override
method close (line 40) | @Override
method postProcess (line 45) | @Override
FILE: src/main/java/com/mucommander/commons/file/archiver/TarArchiver.java
class TarArchiver (line 18) | class TarArchiver extends Archiver {
method TarArchiver (line 23) | TarArchiver(OutputStream outputStream) {
method createEntry (line 33) | @Override
method close (line 67) | @Override
method postProcess (line 77) | @Override
FILE: src/main/java/com/mucommander/commons/file/archiver/ZipArchiver.java
class ZipArchiver (line 17) | class ZipArchiver extends Archiver {
method ZipArchiver (line 24) | ZipArchiver(OutputStream outputStream) {
method setComment (line 34) | @Override
method createEntry (line 41) | @Override
method close (line 75) | @Override
method postProcess (line 80) | @Override
FILE: src/main/java/com/mucommander/commons/file/compat/CompatURLConnection.java
class CompatURLConnection (line 15) | class CompatURLConnection extends URLConnection {
method CompatURLConnection (line 19) | public CompatURLConnection(URL url) {
method CompatURLConnection (line 25) | public CompatURLConnection(URL url, AbstractFile file) {
method checkConnected (line 39) | private void checkConnected() throws IOException {
method connect (line 51) | @Override
method getInputStream (line 60) | @Override
method getOutputStream (line 66) | @Override
method getLastModified (line 72) | @Override
method getDate (line 82) | @Override
method getContentLength (line 87) | @Override
FILE: src/main/java/com/mucommander/commons/file/compat/CompatURLStreamHandler.java
class CompatURLStreamHandler (line 14) | public class CompatURLStreamHandler extends URLStreamHandler {
method CompatURLStreamHandler (line 18) | public CompatURLStreamHandler() {
method CompatURLStreamHandler (line 21) | public CompatURLStreamHandler(AbstractFile file) {
method openConnection (line 26) | @Override
FILE: src/main/java/com/mucommander/commons/file/connection/ConnectionHandler.java
class ConnectionHandler (line 18) | public abstract class ConnectionHandler {
method ConnectionHandler (line 55) | public ConnectionHandler(FileURL serverURL) {
method getRealm (line 66) | public FileURL getRealm() {
method getCredentials (line 76) | public Credentials getCredentials() {
method checkConnection (line 89) | public boolean checkConnection() throws IOException {
method acquireLock (line 105) | synchronized boolean acquireLock() {
method releaseLock (line 121) | public boolean releaseLock() {
method isLocked (line 141) | public synchronized boolean isLocked() {
method updateLastActivityTimestamp (line 149) | void updateLastActivityTimestamp() {
method getLastActivityTimestamp (line 158) | long getLastActivityTimestamp() {
method updateLastKeepAliveTimestamp (line 166) | void updateLastKeepAliveTimestamp() {
method getLastKeepAliveTimestamp (line 175) | long getLastKeepAliveTimestamp() {
method getCloseOnInactivityPeriod (line 190) | long getCloseOnInactivityPeriod() {
method setCloseOnInactivityPeriod (line 203) | public void setCloseOnInactivityPeriod(long nbSeconds) {
method getKeepAlivePeriod (line 217) | long getKeepAlivePeriod() {
method setKeepAlivePeriod (line 230) | protected void setKeepAlivePeriod(long nbSeconds) {
method equals (line 242) | public boolean equals(Object o) {
method equals (line 260) | public boolean equals(FileURL realm, Credentials credentials) {
method throwAuthException (line 282) | protected void throwAuthException(String message) throws AuthException {
method startConnection (line 302) | public abstract void startConnection() throws IOException, AuthException;
method isConnected (line 312) | public abstract boolean isConnected();
method closeConnection (line 320) | public abstract void closeConnection();
method keepAlive (line 328) | public abstract void keepAlive();
FILE: src/main/java/com/mucommander/commons/file/connection/ConnectionHandlerFactory.java
type ConnectionHandlerFactory (line 14) | public interface ConnectionHandlerFactory {
method createConnectionHandler (line 19) | ConnectionHandler createConnectionHandler(FileURL location);
FILE: src/main/java/com/mucommander/commons/file/connection/ConnectionPool.java
class ConnectionPool (line 19) | public class ConnectionPool implements Runnable {
method getConnectionHandler (line 38) | public static ConnectionHandler getConnectionHandler(ConnectionHandler...
method getConnectionHandlersSnapshot (line 131) | public static List<ConnectionHandler> getConnectionHandlersSnapshot() {
method notifyConnectionHandlerLockReleased (line 149) | static void notifyConnectionHandlerLockReleased() {
method run (line 163) | public void run() {
class CloseConnectionThread (line 242) | private static class CloseConnectionThread extends Thread {
method CloseConnectionThread (line 246) | private CloseConnectionThread(ConnectionHandler connHandler) {
method run (line 250) | @Override
class KeepAliveConnectionThread (line 265) | private static class KeepAliveConnectionThread extends Thread {
method KeepAliveConnectionThread (line 269) | private KeepAliveConnectionThread(ConnectionHandler connHandler) {
method run (line 273) | @Override
FILE: src/main/java/com/mucommander/commons/file/filter/AbstractContainsFilter.java
class AbstractContainsFilter (line 27) | public class AbstractContainsFilter extends AbstractStringCriterionFilter {
method AbstractContainsFilter (line 41) | public AbstractContainsFilter(CriterionValueGenerator<String> generato...
method accept (line 47) | @Override
FILE: src/main/java/com/mucommander/commons/file/filter/AbstractCriterionFilter.java
class AbstractCriterionFilter (line 33) | public abstract class AbstractCriterionFilter<C> extends AbstractFileFil...
method AbstractCriterionFilter (line 43) | public AbstractCriterionFilter(CriterionValueGenerator<C> generator) {
method AbstractCriterionFilter (line 54) | AbstractCriterionFilter(CriterionValueGenerator<C> generator, boolean ...
method match (line 73) | public boolean match(C value) {
method reject (line 85) | public boolean reject(C value) {
method filter (line 96) | public C[] filter(C[] values) {
method match (line 116) | public boolean match(C[] values) {
method accept (line 132) | public boolean accept(C[] values) {
method reject (line 148) | public boolean reject(C[] values) {
method accept (line 158) | @Override
FILE: src/main/java/com/mucommander/commons/file/filter/AbstractEndsWithFilter.java
class AbstractEndsWithFilter (line 28) | public class AbstractEndsWithFilter extends AbstractStringCriterionFilter {
method AbstractEndsWithFilter (line 42) | public AbstractEndsWithFilter(CriterionValueGenerator<String> generato...
method accept (line 48) | @Override
FILE: src/main/java/com/mucommander/commons/file/filter/AbstractEqualsFilter.java
class AbstractEqualsFilter (line 26) | public class AbstractEqualsFilter extends AbstractStringCriterionFilter {
method AbstractEqualsFilter (line 40) | public AbstractEqualsFilter(CriterionValueGenerator<String> generator,...
method accept (line 47) | @Override
FILE: src/main/java/com/mucommander/commons/file/filter/AbstractExtensionFilter.java
class AbstractExtensionFilter (line 31) | public class AbstractExtensionFilter extends AbstractStringCriterionFilt...
method AbstractExtensionFilter (line 45) | AbstractExtensionFilter(CriterionValueGenerator<String> generator, Str...
method accept (line 55) | @Override
method containsIgnoreCase (line 60) | private boolean containsIgnoreCase(String value) {
method containsCaseSensitive (line 70) | private boolean containsCaseSensitive(String value) {
FILE: src/main/java/com/mucommander/commons/file/filter/AbstractFileFilter.java
class AbstractFileFilter (line 35) | public abstract class AbstractFileFilter implements FileFilter {
method AbstractFileFilter (line 43) | public AbstractFileFilter() {
method AbstractFileFilter (line 52) | public AbstractFileFilter(boolean inverted) {
method isInverted (line 61) | public boolean isInverted() {
method setInverted (line 65) | public void setInverted(boolean inverted) {
method match (line 69) | public boolean match(AbstractFile file) {
method reject (line 73) | public boolean reject(AbstractFile file) {
method filter (line 77) | public AbstractFile[] filter(AbstractFile[] files) {
method filter (line 90) | public void filter(FileSet files) {
method match (line 100) | public boolean match(AbstractFile[] files) {
method match (line 109) | public boolean match(FileSet files) {
method accept (line 119) | public boolean accept(AbstractFile[] files) {
method accept (line 128) | public boolean accept(FileSet files) {
method reject (line 138) | public boolean reject(AbstractFile[] files) {
method reject (line 147) | public boolean reject(FileSet files) {
FILE: src/main/java/com/mucommander/commons/file/filter/AbstractFilenameFilter.java
class AbstractFilenameFilter (line 28) | public abstract class AbstractFilenameFilter extends AbstractStringCrite...
method AbstractFilenameFilter (line 33) | public AbstractFilenameFilter() {
method AbstractFilenameFilter (line 42) | public AbstractFilenameFilter(boolean caseSensitive) {
method AbstractFilenameFilter (line 52) | public AbstractFilenameFilter(boolean caseSensitive, boolean inverted) {
FILE: src/main/java/com/mucommander/commons/file/filter/AbstractPathFilter.java
class AbstractPathFilter (line 28) | public abstract class AbstractPathFilter extends AbstractStringCriterion...
method AbstractPathFilter (line 33) | public AbstractPathFilter() {
method AbstractPathFilter (line 42) | public AbstractPathFilter(boolean caseSensitive) {
method AbstractPathFilter (line 52) | public AbstractPathFilter(boolean caseSensitive, boolean inverted) {
FILE: src/main/java/com/mucommander/commons/file/filter/AbstractRegexpFilter.java
class AbstractRegexpFilter (line 30) | public abstract class AbstractRegexpFilter extends AbstractStringCriteri...
method AbstractRegexpFilter (line 45) | public AbstractRegexpFilter(CriterionValueGenerator<String> generator,...
method getRegularExpression (line 56) | public String getRegularExpression() {
method accept (line 68) | @Override
FILE: src/main/java/com/mucommander/commons/file/filter/AbstractStartsWithFilter.java
class AbstractStartsWithFilter (line 28) | public class AbstractStartsWithFilter extends AbstractStringCriterionFil...
method AbstractStartsWithFilter (line 42) | public AbstractStartsWithFilter(CriterionValueGenerator<String> genera...
method accept (line 49) | @Override
FILE: src/main/java/com/mucommander/commons/file/filter/AbstractStringCriterionFilter.java
class AbstractStringCriterionFilter (line 31) | public abstract class AbstractStringCriterionFilter extends AbstractCrit...
method AbstractStringCriterionFilter (line 41) | public AbstractStringCriterionFilter(CriterionValueGenerator<String> g...
method AbstractStringCriterionFilter (line 51) | public AbstractStringCriterionFilter(CriterionValueGenerator<String> g...
method AbstractStringCriterionFilter (line 62) | public AbstractStringCriterionFilter(CriterionValueGenerator<String> g...
method isCaseSensitive (line 68) | @Override
method setCaseSensitive (line 73) | @Override
FILE: src/main/java/com/mucommander/commons/file/filter/AndFileFilter.java
class AndFileFilter (line 28) | public class AndFileFilter extends ChainedFileFilter {
method AndFileFilter (line 36) | public AndFileFilter(FileFilter... filters) {
method AndFileFilter (line 47) | public AndFileFilter(boolean inverted, FileFilter... filters) {
method accept (line 62) | @Override
FILE: src/main/java/com/mucommander/commons/file/filter/AttributeFileFilter.java
class AttributeFileFilter (line 41) | public class AttributeFileFilter extends AbstractFileFilter {
type FileAttribute (line 43) | public enum FileAttribute {
method AttributeFileFilter (line 72) | public AttributeFileFilter(FileAttribute attribute) {
method AttributeFileFilter (line 83) | public AttributeFileFilter(FileAttribute attribute, boolean inverted) {
method getAttribute (line 94) | public FileAttribute getAttribute() {
method setAttribute (line 103) | public void setAttribute(FileAttribute attribute) {
method accept (line 108) | @Override
FILE: src/main/java/com/mucommander/commons/file/filter/ChainedFileFilter.java
class ChainedFileFilter (line 20) | public abstract class ChainedFileFilter extends AbstractFileFilter {
method ChainedFileFilter (line 31) | public ChainedFileFilter(FileFilter... filters) {
method ChainedFileFilter (line 42) | public ChainedFileFilter(boolean inverted, FileFilter... filters) {
method addFileFilter (line 54) | public void addFileFilter(FileFilter filter) {
method removeFileFilter (line 64) | public void removeFileFilter(FileFilter filter) {
method getFileFilterIterator (line 73) | public Iterator<FileFilter> getFileFilterIterator() {
method isEmpty (line 82) | public boolean isEmpty() {
FILE: src/main/java/com/mucommander/commons/file/filter/ContainsFilenameFilter.java
class ContainsFilenameFilter (line 9) | public class ContainsFilenameFilter extends AbstractContainsFilter imple...
method ContainsFilenameFilter (line 16) | public ContainsFilenameFilter(String s) {
method ContainsFilenameFilter (line 26) | public ContainsFilenameFilter(String s, boolean caseSensitive) {
method ContainsFilenameFilter (line 37) | public ContainsFilenameFilter(String s, boolean caseSensitive, boolean...
FILE: src/main/java/com/mucommander/commons/file/filter/ContainsPathFilter.java
class ContainsPathFilter (line 9) | public class ContainsPathFilter extends AbstractContainsFilter implement...
method ContainsPathFilter (line 16) | public ContainsPathFilter(String s) {
method ContainsPathFilter (line 26) | public ContainsPathFilter(String s, boolean caseSensitive) {
method ContainsPathFilter (line 37) | public ContainsPathFilter(String s, boolean caseSensitive, boolean inv...
FILE: src/main/java/com/mucommander/commons/file/filter/CriterionFilter.java
type CriterionFilter (line 16) | public interface CriterionFilter<C> extends FileFilter {
method match (line 29) | boolean match(C value);
method reject (line 39) | boolean reject(C value);
method filter (line 48) | C[] filter(C[] value);
method match (line 57) | boolean match(C[] value);
method accept (line 66) | boolean accept(C[] value);
method reject (line 75) | boolean reject(C[] value);
method accept (line 83) | boolean accept(C value);
FILE: src/main/java/com/mucommander/commons/file/filter/CriterionValueGenerator.java
type CriterionValueGenerator (line 13) | public interface CriterionValueGenerator<C> {
method getCriterionValue (line 15) | C getCriterionValue(AbstractFile file);
FILE: src/main/java/com/mucommander/commons/file/filter/EmptyFileFilter.java
class EmptyFileFilter (line 22) | public class EmptyFileFilter extends AbstractFileFilter {
method accept (line 23) | @Override
FILE: src/main/java/com/mucommander/commons/file/filter/EndsWithFilenameFilter.java
class EndsWithFilenameFilter (line 8) | public class EndsWithFilenameFilter extends AbstractEndsWithFilter imple...
method EndsWithFilenameFilter (line 15) | public EndsWithFilenameFilter(String s) {
method EndsWithFilenameFilter (line 25) | public EndsWithFilenameFilter(String s, boolean caseSensitive) {
method EndsWithFilenameFilter (line 36) | public EndsWithFilenameFilter(String s, boolean caseSensitive, boolean...
FILE: src/main/java/com/mucommander/commons/file/filter/EndsWithPathFilter.java
class EndsWithPathFilter (line 8) | public class EndsWithPathFilter extends AbstractEndsWithFilter implement...
method EndsWithPathFilter (line 15) | public EndsWithPathFilter(String s) {
method EndsWithPathFilter (line 25) | public EndsWithPathFilter(String s, boolean caseSensitive) {
method EndsWithPathFilter (line 36) | public EndsWithPathFilter(String s, boolean caseSensitive, boolean inv...
FILE: src/main/java/com/mucommander/commons/file/filter/EqualsFilenameFilter.java
class EqualsFilenameFilter (line 8) | public class EqualsFilenameFilter extends AbstractEqualsFilter implement...
method EqualsFilenameFilter (line 15) | public EqualsFilenameFilter(String s) {
method EqualsFilenameFilter (line 25) | public EqualsFilenameFilter(String s, boolean caseSensitive) {
method EqualsFilenameFilter (line 36) | public EqualsFilenameFilter(String s, boolean caseSensitive, boolean i...
FILE: src/main/java/com/mucommander/commons/file/filter/EqualsPathFilter.java
class EqualsPathFilter (line 8) | public class EqualsPathFilter extends AbstractEqualsFilter implements Pa...
method EqualsPathFilter (line 15) | public EqualsPathFilter(String s) {
method EqualsPathFilter (line 25) | public EqualsPathFilter(String s, boolean caseSensitive) {
method EqualsPathFilter (line 36) | public EqualsPathFilter(String s, boolean caseSensitive, boolean inver...
FILE: src/main/java/com/mucommander/commons/file/filter/ExtensionFilenameFilter.java
class ExtensionFilenameFilter (line 11) | public class ExtensionFilenameFilter extends AbstractExtensionFilter imp...
method ExtensionFilenameFilter (line 19) | public ExtensionFilenameFilter(String extension) {
method ExtensionFilenameFilter (line 31) | public ExtensionFilenameFilter(String extension, boolean caseSensitive...
method ExtensionFilenameFilter (line 41) | public ExtensionFilenameFilter(String[] ext) {
method ExtensionFilenameFilter (line 53) | public ExtensionFilenameFilter(String[] ext, boolean caseSensitive, bo...
FILE: src/main/java/com/mucommander/commons/file/filter/ExtensionPathFilter.java
class ExtensionPathFilter (line 29) | public class ExtensionPathFilter extends AbstractExtensionFilter impleme...
method ExtensionPathFilter (line 37) | public ExtensionPathFilter(String extension) {
method ExtensionPathFilter (line 49) | private ExtensionPathFilter(String extension, boolean caseSensitive, b...
method ExtensionPathFilter (line 59) | public ExtensionPathFilter(String[] ext) {
method ExtensionPathFilter (line 71) | public ExtensionPathFilter(String[] ext, boolean caseSensitive, boolea...
FILE: src/main/java/com/mucommander/commons/file/filter/FileFilter.java
type FileFilter (line 25) | public interface FileFilter {
method isInverted (line 32) | boolean isInverted();
method setInverted (line 43) | void setInverted(boolean inverted);
method match (line 56) | boolean match(AbstractFile file);
method reject (line 66) | boolean reject(AbstractFile file);
method filter (line 75) | AbstractFile[] filter(AbstractFile files[]);
method filter (line 83) | void filter(FileSet files);
method match (line 92) | boolean match(AbstractFile files[]);
method match (line 101) | boolean match(FileSet files);
method accept (line 110) | boolean accept(AbstractFile files[]);
method accept (line 119) | boolean accept(FileSet files);
method reject (line 128) | boolean reject(AbstractFile files[]);
method reject (line 137) | boolean reject(FileSet files);
method accept (line 147) | boolean accept(AbstractFile file);
FILE: src/main/java/com/mucommander/commons/file/filter/FileOperationFilter.java
class FileOperationFilter (line 15) | public class FileOperationFilter extends AbstractFileFilter {
method FileOperationFilter (line 21) | public FileOperationFilter(FileOperation op) {
method FileOperationFilter (line 25) | public FileOperationFilter(FileOperation op, boolean inverted) {
method getFileOperation (line 35) | public FileOperation getFileOperation() {
method setFileOperation (line 44) | public void setFileOperation(FileOperation op) {
method accept (line 49) | @Override
FILE: src/main/java/com/mucommander/commons/file/filter/FilenameFilter.java
type FilenameFilter (line 14) | public interface FilenameFilter extends StringCriterionFilter {
FILE: src/main/java/com/mucommander/commons/file/filter/FilenameGenerator.java
class FilenameGenerator (line 11) | public class FilenameGenerator implements CriterionValueGenerator<String> {
method getCriterionValue (line 14) | public String getCriterionValue(AbstractFile file) {
FILE: src/main/java/com/mucommander/commons/file/filter/MountedDriveFilter.java
class MountedDriveFilter (line 28) | public class MountedDriveFilter extends AbstractFileFilter {
method accept (line 29) | @Override
FILE: src/main/java/com/mucommander/commons/file/filter/OrFileFilter.java
class OrFileFilter (line 11) | public class OrFileFilter extends ChainedFileFilter {
method OrFileFilter (line 19) | public OrFileFilter(FileFilter... filters) {
method OrFileFilter (line 30) | public OrFileFilter(boolean inverted, FileFilter... filters) {
method accept (line 45) | @Override
FILE: src/main/java/com/mucommander/commons/file/filter/PassThroughFileFilter.java
class PassThroughFileFilter (line 11) | public class PassThroughFileFilter extends AbstractFileFilter {
method PassThroughFileFilter (line 16) | public PassThroughFileFilter() {
method PassThroughFileFilter (line 25) | public PassThroughFileFilter(boolean inverted) {
method accept (line 30) | @Override
FILE: src/main/java/com/mucommander/commons/file/filter/PathFilter.java
type PathFilter (line 9) | public interface PathFilter extends StringCriterionFilter {
FILE: src/main/java/com/mucommander/commons/file/filter/PathGenerator.java
class PathGenerator (line 11) | public class PathGenerator implements CriterionValueGenerator<String> {
method getCriterionValue (line 13) | @Override
FILE: src/main/java/com/mucommander/commons/file/filter/RegexpFilenameFilter.java
class RegexpFilenameFilter (line 10) | public class RegexpFilenameFilter extends AbstractRegexpFilter implement...
method RegexpFilenameFilter (line 20) | public RegexpFilenameFilter(String regexp, boolean caseSensitive) thro...
method RegexpFilenameFilter (line 33) | public RegexpFilenameFilter(String regexp, boolean caseSensitive, bool...
FILE: src/main/java/com/mucommander/commons/file/filter/RegexpPathFilter.java
class RegexpPathFilter (line 10) | public class RegexpPathFilter extends AbstractRegexpFilter implements Pa...
method RegexpPathFilter (line 20) | public RegexpPathFilter(String regexp, boolean caseSensitive) throws P...
method RegexpPathFilter (line 33) | public RegexpPathFilter(String regexp, boolean caseSensitive, boolean ...
FILE: src/main/java/com/mucommander/commons/file/filter/StartsWithFilenameFilter.java
class StartsWithFilenameFilter (line 8) | public class StartsWithFilenameFilter extends AbstractStartsWithFilter i...
method StartsWithFilenameFilter (line 16) | public StartsWithFilenameFilter(String s) {
method StartsWithFilenameFilter (line 27) | public StartsWithFilenameFilter(String s, boolean caseSensitive) {
method StartsWithFilenameFilter (line 39) | public StartsWithFilenameFilter(String s, boolean caseSensitive, boole...
FILE: src/main/java/com/mucommander/commons/file/filter/StartsWithPathFilter.java
class StartsWithPathFilter (line 8) | public class StartsWithPathFilter extends AbstractStartsWithFilter imple...
method StartsWithPathFilter (line 16) | public StartsWithPathFilter(String s) {
method StartsWithPathFilter (line 27) | public StartsWithPathFilter(String s, boolean caseSensitive) {
method StartsWithPathFilter (line 39) | public StartsWithPathFilter(String s, boolean caseSensitive, boolean i...
FILE: src/main/java/com/mucommander/commons/file/filter/StringCriterionFilter.java
type StringCriterionFilter (line 6) | public interface StringCriterionFilter extends CriterionFilter<String> {
method isCaseSensitive (line 13) | boolean isCaseSensitive();
method setCaseSensitive (line 20) | void setCaseSensitive(boolean caseSensitive);
FILE: src/main/java/com/mucommander/commons/file/filter/WildcardFileFilter.java
class WildcardFileFilter (line 29) | public class WildcardFileFilter extends AbstractStringCriterionFilter {
method WildcardFileFilter (line 37) | public WildcardFileFilter(String s) {
method WildcardFileFilter (line 47) | public WildcardFileFilter(String s, boolean caseSensitive) {
method WildcardFileFilter (line 58) | public WildcardFileFilter(String s, boolean caseSensitive, boolean inv...
method accept (line 64) | @Override
FILE: src/main/java/com/mucommander/commons/file/icon/CacheableFileIconProvider.java
type CacheableFileIconProvider (line 15) | public interface CacheableFileIconProvider extends FileIconProvider {
method isCacheable (line 33) | boolean isCacheable(AbstractFile file, Dimension preferredResolution);
method lookupCache (line 51) | Icon lookupCache(AbstractFile file, Dimension preferredResolution);
method addToCache (line 68) | void addToCache(AbstractFile file, Icon icon, Dimension preferredResol...
method cleanCache (line 70) | void cleanCache();
FILE: src/main/java/com/mucommander/commons/file/icon/CachedFileIconProvider.java
class CachedFileIconProvider (line 23) | public class CachedFileIconProvider implements FileIconProvider {
method CachedFileIconProvider (line 35) | public CachedFileIconProvider(CacheableFileIconProvider cacheableFip) {
method createCache (line 44) | public static IconCache createCache() {
method getFileIcon (line 62) | @Override
FILE: src/main/java/com/mucommander/commons/file/icon/FileIconProvider.java
type FileIconProvider (line 19) | public interface FileIconProvider {
method getFileIcon (line 38) | Icon getFileIcon(AbstractFile file, Dimension preferredResolution);
FILE: src/main/java/com/mucommander/commons/file/icon/IconCache.java
class IconCache (line 39) | public class IconCache {
method IconCache (line 47) | IconCache() {
method put (line 59) | public synchronized Icon put(Object key, Icon value) {
method get (line 71) | public synchronized Icon get(Object key) {
method containsKey (line 83) | public synchronized boolean containsKey(Object key) {
method containsValue (line 95) | public synchronized boolean containsValue(Icon icon) {
method clear (line 103) | public synchronized void clear() {
method size (line 112) | public synchronized int size() {
FILE: src/main/java/com/mucommander/commons/file/icon/LocalFileIconProvider.java
class LocalFileIconProvider (line 23) | public abstract class LocalFileIconProvider implements FileIconProvider {
method createTempLocalFile (line 33) | private LocalFile createTempLocalFile(AbstractFile nonLocalFile) {
method getFileIcon (line 58) | public Icon getFileIcon(AbstractFile originalFile, Dimension preferred...
method getLocalFileIcon (line 115) | public abstract Icon getLocalFileIcon(LocalFile localFile, AbstractFil...
FILE: src/main/java/com/mucommander/commons/file/icon/impl/SwingFileIconProvider.java
class SwingFileIconProvider (line 25) | public class SwingFileIconProvider extends CachedFileIconProvider {
method SwingFileIconProvider (line 27) | public SwingFileIconProvider() {
method forceInit (line 38) | public static void forceInit() {
FILE: src/main/java/com/mucommander/commons/file/icon/impl/SwingFileIconProviderImpl.java
class SwingFileIconProviderImpl (line 52) | @Slf4j
method prepareQuaquaLibraries (line 80) | private static void prepareQuaquaLibraries() {
method checkInit (line 100) | synchronized static void checkInit() {
method getSwingIcon (line 139) | private static Icon getSwingIcon(File javaIoFile, int preferredSize) {
method getSymlinkIcon (line 184) | private static ImageIcon getSymlinkIcon(Icon targetFileIcon) {
method getCheckedExtension (line 202) | private static String getCheckedExtension(AbstractFile file) {
method isCacheable (line 217) | @Override
method lookupCache (line 222) | @Override
method addToCache (line 232) | @Override
method getLocalFileIcon (line 242) | @Override
method cleanCache (line 266) | public void cleanCache() {
FILE: src/main/java/com/mucommander/commons/file/impl/CachedFile.java
class CachedFile (line 36) | @Slf4j
method CachedFile (line 200) | public CachedFile(AbstractFile file, boolean recursiveInstances) {
method createCachedFiles (line 211) | private AbstractFile[] createCachedFiles(AbstractFile[] files) {
method getFileAttributes (line 227) | private void getFileAttributes(AbstractFile file) {
method initAttributesReflectionCall (line 239) | private void initAttributesReflectionCall(AbstractFile file) {
method initAttributesNativeCall (line 264) | private void initAttributesNativeCall(AbstractFile file) {
method getSize (line 289) | @Override
method getLastModifiedDate (line 298) | @Override
method getCreationDate (line 307) | @Override
method getLastAccessDate (line 316) | @Override
method isSymlink (line 325) | @Override
method isDirectory (line 338) | @Override
method isFileAttributesSupported (line 357) | private boolean isFileAttributesSupported() {
method isArchive (line 361) | @Override
method isHidden (line 374) | @Override
method isExecutable (line 393) | @Override
method getAbsolutePath (line 406) | @Override
method getCanonicalPath (line 415) | @Override
method getExtension (line 424) | @Override
method getName (line 433) | @Override
method getFreeSpace (line 442) | @Override
method getTotalSpace (line 451) | @Override
method exists (line 460) | @Override
method getPermissions (line 479) | @Override
method getPermissionsString (line 488) | @Override
method getOwner (line 497) | @Override
method getGroup (line 506) | @Override
method isRoot (line 515) | @Override
method getParent (line 529) | @Override
method getRoot (line 542) | @Override
method getCanonicalFile (line 555) | @Override
method ls (line 575) | @Override
method ls (line 587) | @Override
method ls (line 599) | @Override
method isFileOperationSupported (line 612) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/DebugFile.java
class DebugFile (line 17) | public class DebugFile extends ProxyFile {
method DebugFile (line 32) | public DebugFile(AbstractFile file) {
method DebugFile (line 43) | public DebugFile(AbstractFile file, int maxLatency) {
method setMaxLatency (line 58) | public void setMaxLatency(int maxLatency) {
method lag (line 66) | private void lag() {
method getDebugString (line 77) | private String getDebugString() {
method getLastModifiedDate (line 82) | @Override
method getSize (line 90) | @Override
method exists (line 98) | @Override
method isDirectory (line 106) | @Override
method isSymlink (line 114) | @Override
method getFreeSpace (line 122) | @Override
method getTotalSpace (line 130) | @Override
method getName (line 138) | @Override
method getExtension (line 146) | @Override
method getAbsolutePath (line 154) | @Override
method getCanonicalPath (line 162) | @Override
method getCanonicalFile (line 170) | @Override
method isArchive (line 178) | @Override
method isHidden (line 186) | @Override
method getPermissions (line 194) | @Override
method getOwner (line 202) | @Override
method getGroup (line 210) | @Override
method getRoot (line 218) | @Override
method isRoot (line 226) | @Override
method equalsCanonical (line 234) | @Override
method toString (line 242) | public String toString() {
method getParent (line 249) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/ProxyFile.java
class ProxyFile (line 39) | public abstract class ProxyFile extends AbstractFile {
method ProxyFile (line 51) | public ProxyFile(AbstractFile file) {
method getProxiedFile (line 61) | public AbstractFile getProxiedFile() {
method getLastModifiedDate (line 66) | @Override
method setLastModifiedDate (line 71) | @Override
method getSize (line 76) | @Override
method getParent (line 81) | @Override
method setParent (line 86) | @Override
method exists (line 91) | @Override
method changePermission (line 96) | @Override
method getOwner (line 101) | @Override
method canGetOwner (line 106) | @Override
method getGroup (line 111) | @Override
method canGetGroup (line 116) | @Override
method isDirectory (line 121) | @Override
method isSymlink (line 126) | @Override
method isSystem (line 131) | @Override
method ls (line 136) | @Override
method mkdir (line 141) | @Override
method getInputStream (line 146) | @Override
method getOutputStream (line 151) | @Override
method getAppendOutputStream (line 156) | @Override
method getRandomAccessInputStream (line 161) | @Override
method getRandomAccessOutputStream (line 166) | @Override
method delete (line 171) | @Override
method copyRemotelyTo (line 176) | @Override
method renameTo (line 181) | @Override
method getFreeSpace (line 186) | @Override
method getTotalSpace (line 191) | @Override
method getUnderlyingFileObject (line 196) | @Override
method isFileOperationSupported (line 206) | @Override
method getURL (line 225) | @Override
method getJavaNetURL (line 230) | @Override
method getName (line 235) | @Override
method getExtension (line 240) | @Override
method getBaseName (line 245) | @Override
method getAbsolutePath (line 250) | @Override
method getCanonicalPath (line 255) | @Override
method getCanonicalFile (line 260) | @Override
method getSeparator (line 265) | @Override
method isArchive (line 270) | @Override
method isHidden (line 275) | @Override
method getPermissions (line 280) | @Override
method changePermissions (line 285) | @Override
method getChangeablePermissions (line 290) | @Override
method getPermissionsString (line 295) | @Override
method getRoot (line 300) | @Override
method isRoot (line 305) | @Override
method getVolume (line 310) | @Override
method getInputStream (line 315) | @Override
method copyStream (line 320) | @Override
method ls (line 325) | @Override
method ls (line 330) | @Override
method mkfile (line 335) | @Override
method deleteRecursively (line 340) | @Override
method equals (line 345) | @Override
method equalsCanonical (line 350) | @Override
method hashCode (line 355) | public int hashCode() {
method toString (line 359) | public String toString() {
method getReplication (line 363) | @Override
method getBlocksize (line 368) | @Override
method changeReplication (line 373) | @Override
method isExecutable (line 378) | @Override
method getPushBackInputStream (line 383) | @Override
method closePushbackInputStream (line 388) | @Override
method isLocalFile (line 393) | @Override
method getCreationDate (line 398) | @Override
method getLastAccessDate (line 403) | @Override
method canRead (line 408) | @Override
method getLogger (line 413) | private static Logger getLogger() {
FILE: src/main/java/com/mucommander/commons/file/impl/SevenZipJBindingROArchiveFile.java
class SevenZipJBindingROArchiveFile (line 24) | public class SevenZipJBindingROArchiveFile extends AbstractROArchiveFile {
method SevenZipJBindingROArchiveFile (line 46) | public SevenZipJBindingROArchiveFile(AbstractFile file, ArchiveFormat ...
method SevenZipJBindingROArchiveFile (line 54) | public SevenZipJBindingROArchiveFile(AbstractFile file, SevenZipArchiv...
method initSevenZipBindings (line 63) | private static void initSevenZipBindings() {
method check (line 103) | public SevenZipJBindingROArchiveFile check() throws IOException {
method openInArchive (line 108) | private IInArchive openInArchive() throws IOException {
method isEnc (line 142) | private boolean isEnc(IInArchive archive) {
method getEntryIterator (line 159) | @Override
method getEntryInputStream (line 183) | @Override
method createArchiveEntry (line 222) | private ArchiveEntry createArchiveEntry(int i) throws IOException {
FILE: src/main/java/com/mucommander/commons/file/impl/adb/AdbFile.java
class AdbFile (line 38) | public class AdbFile extends ProtocolFile {
method AdbFile (line 53) | private AdbFile(FileURL url, RemoteFile remoteFile) throws IOException {
method tryLs (line 91) | private RemoteFile tryLs(JadbDevice device, String path) throws IOExce...
method rebuildChildrenList (line 109) | private void rebuildChildrenList(FileURL url) throws IOException {
method getDevice (line 125) | JadbDevice getDevice(FileURL url) throws IOException {
method closeConnection (line 144) | private void closeConnection() {
method AdbFile (line 151) | AdbFile(FileURL url) throws IOException {
method getLastModifiedDate (line 156) | @Override
method setLastModifiedDate (line 164) | @Override
method changeReplication (line 168) | @Override
method getSize (line 173) | @Override
method getParent (line 181) | @Override
method setParent (line 193) | @Override
method exists (line 198) | @Override
method getPermissions (line 213) | @Override
method getChangeablePermissions (line 219) | @Override
method changePermission (line 224) | @Override
method getOwner (line 229) | @Override
method getReplication (line 234) | @Override
method getBlocksize (line 239) | @Override
method canGetOwner (line 244) | @Override
method getGroup (line 249) | @Override
method canGetGroup (line 254) | @Override
method isDirectory (line 259) | @Override
method isSymlink (line 264) | @Override
method isSystem (line 269) | @Override
method ls (line 274) | @Override
method mkdir (line 298) | @Override
method getInputStream (line 324) | @Override
method getOutputStream (line 329) | @Override
method getAppendOutputStream (line 334) | @Override
method getRandomAccessInputStream (line 339) | @Override
method getRandomAccessOutputStream (line 344) | @Override
method finishFileOperation (line 349) | private void finishFileOperation() throws IOException {
method delete (line 365) | @Override
method renameTo (line 386) | @Override
method copyRemotelyTo (line 401) | @Override
method getFreeSpace (line 406) | @Override
method getTotalSpace (line 411) | @Override
method getUnderlyingFileObject (line 416) | @Override
method isFileOperationSupported (line 422) | @Override
method pushTo (line 427) | public void pushTo(AbstractFile destFile) throws IOException {
method pullFrom (line 441) | public void pullFrom(AbstractFile sourceFile) throws IOException {
FILE: src/main/java/com/mucommander/commons/file/impl/adb/AdbInputStream.java
class AdbInputStream (line 31) | public class AdbInputStream extends InputStream {
method AdbInputStream (line 39) | AdbInputStream(AdbFile file) throws IOException {
method read (line 64) | @Override
method reset (line 72) | @Override
method close (line 80) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/adb/AdbProtocolProvider.java
class AdbProtocolProvider (line 30) | public class AdbProtocolProvider implements ProtocolProvider {
method getFile (line 31) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/ar/ArArchiveEntryIterator.java
class ArArchiveEntryIterator (line 35) | class ArArchiveEntryIterator implements ArchiveEntryIterator {
method ArArchiveEntryIterator (line 55) | ArArchiveEntryIterator(InputStream in) throws IOException {
method getNextEntry (line 69) | ArchiveEntry getNextEntry() throws IOException {
method nextEntry (line 148) | public ArchiveEntry nextEntry() throws IOException {
method close (line 161) | public void close() throws IOException {
FILE: src/main/java/com/mucommander/commons/file/impl/ar/ArArchiveFile.java
class ArArchiveFile (line 37) | public class ArArchiveFile extends AbstractROArchiveFile {
method ArArchiveFile (line 45) | public ArArchiveFile(AbstractFile file) {
method getEntryIterator (line 54) | @Override
method getEntryInputStream (line 59) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/ar/ArFormatProvider.java
class ArFormatProvider (line 36) | public class ArFormatProvider implements ArchiveFormatProvider {
method getFile (line 45) | @Override
method getFilenameFilter (line 50) | @Override
method getFileExtensions (line 55) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/arj/ArjFormatProvider.java
class ArjFormatProvider (line 14) | public class ArjFormatProvider implements ArchiveFormatProvider {
method getFile (line 25) | @Override
method getFilenameFilter (line 30) | @Override
method getFileExtensions (line 35) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/avrdude/AvrConfigFileUtils.java
class AvrConfigFileUtils (line 28) | public class AvrConfigFileUtils {
method load (line 44) | public static AvrdudeConfiguration load(String filePath) throws IOExce...
method load (line 54) | public static AvrdudeConfiguration load(InputStream is) throws IOExcep...
method load (line 63) | private static AvrdudeConfiguration load(Properties properties) {
method getPropertyInt (line 85) | private static Integer getPropertyInt(Properties properties, String ke...
method getPropertyBool (line 94) | private static boolean getPropertyBool(Properties properties, String k...
method save (line 108) | public static void save(AvrdudeConfiguration config, String filePath) ...
method build (line 115) | private static String build(AvrdudeConfiguration config) {
method addRequiredParam (line 160) | private static void addRequiredParam(StringBuilder sb, String name, Ob...
method addOptionalParam (line 167) | private static void addOptionalParam(StringBuilder sb, String name, Ob...
FILE: src/main/java/com/mucommander/commons/file/impl/avrdude/AvrDudeInputStream.java
class AvrDudeInputStream (line 30) | public class AvrDudeInputStream extends InputStream implements HasProgre...
method AvrDudeInputStream (line 39) | public AvrDudeInputStream(StreamType type, AvrdudeConfiguration config...
method read (line 47) | @Override
method available (line 55) | @Override
method reset (line 60) | @Override
method markSupported (line 65) | @Override
method mark (line 70) | @Override
method getProgress (line 75) | @Override
method hasProgress (line 80) | @Override
method readAll (line 85) | void readAll() throws IOException {
FILE: src/main/java/com/mucommander/commons/file/impl/avrdude/Avrdude.java
class Avrdude (line 34) | public class Avrdude {
type Status (line 36) | enum Status {
type Operation (line 42) | public enum Operation {
method Operation (line 55) | Operation(boolean isWriteOperation) {
method Avrdude (line 67) | public Avrdude() {
method Avrdude (line 72) | public Avrdude(InputStream inputStream) {
method buildCommandLine (line 77) | private static String buildCommandLine(AvrdudeConfiguration config, Op...
method execute (line 153) | public void execute(AvrdudeConfiguration config, Operation operation, ...
method waitFor (line 236) | public void waitFor() throws IOException, InterruptedException {
method getHexOutput (line 244) | public String getHexOutput() {
method getProgress (line 260) | public int getProgress() {
method getStatus (line 264) | public Status getStatus() {
method main (line 270) | public static void main(String args[]) throws IOException {
FILE: src/main/java/com/mucommander/commons/file/impl/avrdude/AvrdudeConfiguration.java
class AvrdudeConfiguration (line 24) | public class AvrdudeConfiguration {
method AvrdudeConfiguration (line 83) | public AvrdudeConfiguration(String deviceName, Integer baudrate, Integ...
method AvrdudeConfiguration (line 100) | public AvrdudeConfiguration() {
method isValid (line 115) | public boolean isValid() {
FILE: src/main/java/com/mucommander/commons/file/impl/avrdude/AvrdudeDevice.java
class AvrdudeDevice (line 33) | public class AvrdudeDevice {
method AvrdudeDevice (line 43) | private AvrdudeDevice(String id, String name, int signature, Map<Strin...
method getDevice (line 50) | public static AvrdudeDevice getDevice(String id) {
method getDevices (line 55) | private static Map<String, AvrdudeDevice> getDevices() {
method load (line 65) | private static Map<String, AvrdudeDevice> load() {
FILE: src/main/java/com/mucommander/commons/file/impl/avrdude/AvrdudeOutputStream.java
class AvrdudeOutputStream (line 31) | public class AvrdudeOutputStream extends OutputStream implements HasProg...
method AvrdudeOutputStream (line 39) | public AvrdudeOutputStream(StreamType type, AvrdudeConfiguration confi...
method write (line 46) | @Override
method close (line 54) | @Override
method writeToDevice (line 64) | private void writeToDevice() throws IOException {
method getProgress (line 75) | @Override
method hasProgress (line 80) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/avrdude/AvrdudeProtocolProvider.java
class AvrdudeProtocolProvider (line 31) | public class AvrdudeProtocolProvider implements ProtocolProvider {
method getFile (line 35) | @Override
method getUrlPath (line 51) | private static String getUrlPath(FileURL url) {
method isRootUrl (line 63) | private static boolean isRootUrl(FileURL url) {
FILE: src/main/java/com/mucommander/commons/file/impl/avrdude/StreamType.java
type StreamType (line 7) | public enum StreamType {
method StreamType (line 13) | StreamType(char avrdudeName) {
method getAvrdudeName (line 17) | public char getAvrdudeName() {
FILE: src/main/java/com/mucommander/commons/file/impl/avrdude/files/AvrConfigFile.java
class AvrConfigFile (line 33) | public class AvrConfigFile extends AvrdudeFile {
class ConfigInputStream (line 37) | private static class ConfigInputStream extends ByteArrayInputStream {
method ConfigInputStream (line 39) | public ConfigInputStream(String s) {
class ConfigOutputStream (line 44) | private class ConfigOutputStream extends ByteArrayOutputStream {
method close (line 45) | @Override
method AvrConfigFile (line 61) | public AvrConfigFile(FileURL url) throws IOException {
method extractPathFromUrl (line 65) | private static String extractPathFromUrl(FileURL url) {
method getPermissions (line 69) | @Override
method isDirectory (line 74) | @Override
method ls (line 79) | @Override
method mkdir (line 84) | @Override
method exists (line 89) | @Override
method getInputStream (line 94) | @Override
method getSize (line 100) | @Override
method getOutputStream (line 110) | @Override
method copyRemotelyTo (line 116) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/avrdude/files/AvrDeviceDir.java
class AvrDeviceDir (line 34) | public class AvrDeviceDir extends AvrdudeFile {
method AvrDeviceDir (line 39) | public AvrDeviceDir(FileURL url) throws IOException {
method getPermissions (line 43) | @Override
method isDirectory (line 48) | @Override
method ls (line 53) | @Override
method mkdir (line 85) | @Override
method exists (line 95) | @Override
method getParent (line 111) | @Override
method delete (line 124) | @Override
method renameTo (line 129) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/avrdude/files/AvrMemoryDir.java
class AvrMemoryDir (line 30) | public class AvrMemoryDir extends AvrdudeFile {
method AvrMemoryDir (line 34) | public AvrMemoryDir(FileURL url) throws IOException {
method getPermissions (line 39) | @Override
method isDirectory (line 44) | @Override
method ls (line 49) | @Override
method mkdir (line 57) | @Override
method exists (line 62) | @Override
method getParent (line 67) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/avrdude/files/AvrMemoryFile.java
class AvrMemoryFile (line 33) | public class AvrMemoryFile extends AvrdudeFile {
type Type (line 35) | public enum Type {
method Type (line 43) | Type(String name) {
method fromFileName (line 47) | static Type fromFileName(String fileName) {
method AvrMemoryFile (line 61) | public AvrMemoryFile(FileURL url) throws IOException {
method getPermissions (line 66) | @Override
method isDirectory (line 71) | @Override
method ls (line 76) | @Override
method mkdir (line 81) | @Override
method exists (line 86) | @Override
method getSize (line 92) | @Override
method getInputStream (line 113) | @Override
method getOutputStream (line 136) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/avrdude/files/AvrRootDir.java
class AvrRootDir (line 30) | public class AvrRootDir extends AvrdudeFile {
method AvrRootDir (line 32) | public AvrRootDir(FileURL url, String path) throws IOException {
method isDirectory (line 36) | @Override
method ls (line 41) | @Override
method mkdir (line 51) | @Override
method exists (line 56) | @Override
method getPermissions (line 61) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/avrdude/files/AvrdudeFile.java
class AvrdudeFile (line 51) | public abstract class AvrdudeFile extends ProtocolFile {
method AvrdudeFile (line 60) | AvrdudeFile(FileURL url) throws IOException {
method getBaseFolder (line 73) | static AbstractFile getBaseFolder() throws IOException {
method getConfigFiles (line 81) | static AbstractFile[] getConfigFiles() throws IOException {
method getLocalConfigFile (line 86) | AbstractFile getLocalConfigFile() throws IOException {
method getDevice (line 95) | public AvrdudeDevice getDevice() {
method getConfiguration (line 107) | public AvrdudeConfiguration getConfiguration() throws IOException {
method isFileOperationSupported (line 114) | @Override
method getLastModifiedDate (line 122) | @Override
method setLastModifiedDate (line 133) | @Override
method changeReplication (line 138) | @Override
method getSize (line 143) | @Override
method getParent (line 148) | @Override
method setParent (line 153) | @Override
method exists (line 158) | @Override
method getChangeablePermissions (line 164) | @Override
method changePermission (line 169) | @Override
method getOwner (line 174) | @Override
method getReplication (line 179) | @Override
method getBlocksize (line 184) | @Override
method canGetOwner (line 189) | @Override
method getGroup (line 194) | @Override
method canGetGroup (line 199) | @Override
method isSymlink (line 209) | @Override
method isSystem (line 214) | @Override
method getInputStream (line 220) | @Override
method getOutputStream (line 225) | @Override
method getAppendOutputStream (line 230) | @Override
method getRandomAccessInputStream (line 235) | @Override
method getRandomAccessOutputStream (line 240) | @Override
method delete (line 245) | @Override
method renameTo (line 250) | @Override
method copyRemotelyTo (line 255) | @Override
method getFreeSpace (line 260) | @Override
method getTotalSpace (line 265) | @Override
method getUnderlyingFileObject (line 270) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/bzip2/Bzip2FormatProvider.java
class Bzip2FormatProvider (line 18) | public class Bzip2FormatProvider implements ArchiveFormatProvider {
method getFile (line 29) | @Override
method getFilenameFilter (line 35) | @Override
method getFileExtensions (line 40) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/cab/CabFormatProvider.java
class CabFormatProvider (line 14) | public class CabFormatProvider implements ArchiveFormatProvider {
method getFile (line 21) | @Override
method getFilenameFilter (line 26) | @Override
method getFileExtensions (line 31) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/cpio/CpioFormatProvider.java
class CpioFormatProvider (line 14) | public class CpioFormatProvider implements ArchiveFormatProvider {
method getFile (line 23) | @Override
method getFilenameFilter (line 28) | @Override
method getFileExtensions (line 33) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/deb/DebFormatProvider.java
class DebFormatProvider (line 14) | public class DebFormatProvider implements ArchiveFormatProvider {
method getFile (line 21) | @Override
method getFilenameFilter (line 26) | @Override
method getFileExtensions (line 31) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/ftp/FTPFile.java
class FTPFile (line 62) | public class FTPFile extends ProtocolFile implements ConnectionHandlerFa...
method FTPFile (line 106) | FTPFile(FileURL fileURL) throws IOException {
method FTPFile (line 110) | FTPFile(FileURL fileURL, org.apache.commons.net.ftp.FTPFile file) thro...
method getFTPFile (line 133) | private org.apache.commons.net.ftp.FTPFile getFTPFile(FileURL fileURL)...
method createFTPFile (line 178) | private org.apache.commons.net.ftp.FTPFile createFTPFile(String name, ...
method listFiles (line 200) | private static org.apache.commons.net.ftp.FTPFile[] listFiles(FTPConne...
method createConnectionHandler (line 250) | public ConnectionHandler createConnectionHandler(FileURL location) {
method isSymlink (line 259) | @Override
method isSystem (line 264) | @Override
method getLastModifiedDate (line 269) | @Override
method setLastModifiedDate (line 283) | @Override
method getSize (line 338) | @Override
method getParent (line 347) | @Override
method setParent (line 366) | @Override
method exists (line 373) | @Override
method getPermissions (line 378) | @Override
method changePermission (line 388) | @Override
method getChangeablePermissions (line 400) | @Override
method getOwner (line 413) | @Override
method canGetOwner (line 418) | @Override
method getGroup (line 423) | @Override
method canGetGroup (line 428) | @Override
method isDirectory (line 433) | @Override
method getInputStream (line 454) | @Override
method getOutputStream (line 459) | @Override
method getAppendOutputStream (line 464) | @Override
method getRandomAccessInputStream (line 474) | @Override
method getRandomAccessOutputStream (line 489) | @Override
method delete (line 495) | @Override
method ls (line 525) | @Override
method mkdir (line 586) | @Override
method getFreeSpace (line 616) | @Override
method getTotalSpace (line 627) | @Override
method getUnderlyingFileObject (line 636) | @Override
method getReplication (line 641) | @Override
method getBlocksize (line 647) | @Override
method changeReplication (line 653) | @Override
method changePermissions (line 668) | @Override
method copyRemotelyTo (line 721) | @Override
method renameTo (line 731) | @Override
method getInputStream (line 760) | @Override
method getCanonicalFile (line 765) | @Override
method getLink (line 797) | public String getLink() {
class FTPInputStream (line 901) | private class FTPInputStream extends FilterInputStream {
method FTPInputStream (line 906) | private FTPInputStream(long skipBytes) throws IOException {
method close (line 939) | @Override
class FTPRandomAccessInputStream (line 983) | private class FTPRandomAccessInputStream extends RandomAccessInputStre...
method FTPRandomAccessInputStream (line 988) | private FTPRandomAccessInputStream() throws IOException {
method read (line 992) | @Override
method read (line 1003) | @Override
method getOffset (line 1014) | public long getOffset() {
method getLength (line 1018) | public long getLength() {
method seek (line 1022) | public void seek(final long offset) throws IOException {
method close (line 1031) | @Override
class FTPOutputStream (line 1038) | private class FTPOutputStream extends FilteredOutputStream {
method FTPOutputStream (line 1043) | private FTPOutputStream(boolean append) throws IOException {
method close (line 1075) | @Override
class FTPConnectionHandler (line 1120) | private static class FTPConnectionHandler extends ConnectionHandler {
method FTPConnectionHandler (line 1157) | private FTPConnectionHandler(FileURL location) {
method checkServerReply (line 1214) | private void checkServerReply() throws IOException {
method checkSocketException (line 1240) | private void checkSocketException(IOException e) {
method startConnection (line 1252) | @Override
method isConnected (line 1368) | @Override
method closeConnection (line 1389) | @Override
method keepAlive (line 1411) | @Override
class FTPFilePermissions (line 1429) | private static class FTPFilePermissions extends IndividualPermissionBi...
method FTPFilePermissions (line 1433) | FTPFilePermissions(org.apache.commons.net.ftp.FTPFile file) {
method getBitValue (line 1437) | public boolean getBitValue(int access, int type) {
method getMask (line 1463) | public PermissionBits getMask() {
FILE: src/main/java/com/mucommander/commons/file/impl/ftp/FTPProtocolProvider.java
class FTPProtocolProvider (line 15) | public class FTPProtocolProvider implements ProtocolProvider {
method setForceHiddenFilesListing (line 34) | public static void setForceHiddenFilesListing(boolean value) {
method getForceHiddenFilesListing (line 46) | public static boolean getForceHiddenFilesListing() {
method getFile (line 50) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/gzip/GzipArchiveFile.java
class GzipArchiveFile (line 17) | public class GzipArchiveFile extends AbstractROArchiveFile {
method GzipArchiveFile (line 24) | public GzipArchiveFile(AbstractFile file) {
method getEntryIterator (line 33) | @Override
method getEntryInputStream (line 53) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/gzip/GzipFormatProvider.java
class GzipFormatProvider (line 19) | public class GzipFormatProvider implements ArchiveFormatProvider {
method getFile (line 28) | @Override
method getFilenameFilter (line 33) | @Override
method getFileExtensions (line 38) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/hadoop/HDFSFile.java
class HDFSFile (line 18) | public class HDFSFile extends HadoopFile {
method HDFSFile (line 51) | protected HDFSFile(FileURL url) throws IOException {
method HDFSFile (line 55) | protected HDFSFile(FileURL url, FileSystem fs, FileStatus fileStatus) ...
method getDefaultUsername (line 59) | public static String getDefaultUsername() {
method getDefaultGroup (line 63) | public static String getDefaultGroup() {
method getUsername (line 67) | private static String getUsername(FileURL url) {
method getGroup (line 76) | private static String getGroup(FileURL url) {
method getHadoopFileSystem (line 89) | @Override
method setDefaultFileAttributes (line 111) | @Override
method getFreeSpace (line 118) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/hadoop/HDFSProtocolProvider.java
class HDFSProtocolProvider (line 16) | public class HDFSProtocolProvider implements ProtocolProvider {
method getFile (line 18) | public AbstractFile getFile(FileURL url, Object... instantiationParams...
FILE: src/main/java/com/mucommander/commons/file/impl/hadoop/HadoopFile.java
class HadoopFile (line 26) | public abstract class HadoopFile extends ProtocolFile {
method HadoopFile (line 49) | HadoopFile(FileURL url) throws IOException {
method HadoopFile (line 53) | HadoopFile(FileURL url, FileSystem fs, FileStatus fileStatus) throws I...
method getOutputStream (line 80) | private OutputStream getOutputStream(boolean append) throws IOException {
method getParent (line 113) | @Override
method setParent (line 126) | @Override
method getUnderlyingFileObject (line 132) | @Override
method exists (line 139) | @Override
method isDirectory (line 144) | @Override
method isSymlink (line 154) | @Override
method isSystem (line 160) | @Override
method getLastModifiedDate (line 165) | @Override
method getSize (line 170) | @Override
method getChangeablePermissions (line 175) | @Override
method getPermissions (line 180) | @Override
method getOwner (line 185) | @Override
method canGetOwner (line 190) | @Override
method getGroup (line 195) | @Override
method canGetGroup (line 200) | @Override
method getReplication (line 205) | @Override
method getBlocksize (line 210) | @Override
method mkdir (line 217) | @Override
method delete (line 229) | @Override
method renameTo (line 240) | @Override
method setLastModifiedDate (line 262) | @Override
method changeReplication (line 271) | @Override
method changePermission (line 280) | @Override
method getInputStream (line 285) | @Override
method getOutputStream (line 290) | @Override
method getRandomAccessInputStream (line 295) | @Override
method ls (line 300) | @Override
method getAppendOutputStream (line 308) | @Override
method getRandomAccessOutputStream (line 315) | @Override
method copyRemotelyTo (line 326) | @Override
method getFreeSpace (line 338) | @Override
method getTotalSpace (line 348) | @Override
method ls (line 355) | @Override
method changePermissions (line 386) | @Override
method getHadoopFileSystem (line 406) | protected abstract FileSystem getHadoopFileSystem(FileURL realm) throw...
method setDefaultFileAttributes (line 415) | protected abstract void setDefaultFileAttributes(FileURL url, HadoopFi...
class HadoopFileAttributes (line 423) | class HadoopFileAttributes extends SyncedFileAttributes {
method HadoopFileAttributes (line 428) | private HadoopFileAttributes() throws AuthException {
method HadoopFileAttributes (line 436) | private HadoopFileAttributes(FileStatus fileStatus) {
method fetchAttributes (line 445) | private void fetchAttributes() throws AuthException {
method setAttributes (line 471) | private void setAttributes(FileStatus fileStatus) {
method addToSize (line 489) | private void addToSize(long increment) {
method updateAttributes (line 498) | @Override
class HadoopRandomAccessInputStream (line 511) | private static class HadoopRandomAccessInputStream extends RandomAcces...
method HadoopRandomAccessInputStream (line 516) | private HadoopRandomAccessInputStream(FSDataInputStream in, long len...
method getOffset (line 521) | public long getOffset() throws IOException {
method getLength (line 525) | public long getLength() {
method seek (line 529) | public void seek(long offset) throws IOException {
method read (line 533) | @Override
method read (line 538) | @Override
method close (line 543) | @Override
class HadoopFilenameFilter (line 551) | private static class HadoopFilenameFilter implements PathFilter {
method HadoopFilenameFilter (line 555) | private HadoopFilenameFilter(FilenameFilter filenameFilter) {
method accept (line 564) | public boolean accept(Path path) {
FILE: src/main/java/com/mucommander/commons/file/impl/hadoop/S3File.java
class S3File (line 23) | public class S3File extends HadoopFile {
method S3File (line 25) | protected S3File(FileURL url) throws IOException {
method S3File (line 29) | protected S3File(FileURL url, FileSystem fs, FileStatus fileStatus) th...
method getHadoopFileSystem (line 34) | @Override
method setDefaultFileAttributes (line 55) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/hadoop/S3ProtocolProvider.java
class S3ProtocolProvider (line 20) | public class S3ProtocolProvider implements ProtocolProvider {
method getFile (line 22) | public AbstractFile getFile(FileURL url, Object... instantiationParams...
FILE: src/main/java/com/mucommander/commons/file/impl/http/HTTPFile.java
class HTTPFile (line 57) | public class HTTPFile extends ProtocolFile {
method HTTPFile (line 92) | HTTPFile(FileURL fileURL) throws IOException {
method HTTPFile (line 98) | HTTPFile(FileURL fileURL, URL url) throws IOException {
method getDefaultAttributes (line 126) | private static SimpleFileAttributes getDefaultAttributes() {
method isParsableMimeType (line 145) | private boolean isParsableMimeType(String mimeType) {
method resolveFile (line 157) | private void resolveFile() throws IOException {
method getHttpURLConnection (line 212) | private HttpURLConnection getHttpURLConnection(URL url) throws IOExcep...
method checkHTTPResponse (line 242) | private void checkHTTPResponse(HttpURLConnection conn) throws IOExcept...
method checkResolveFile (line 256) | private void checkResolveFile() {
method getLastModifiedDate (line 272) | @Override
method setLastModifiedDate (line 284) | @Override
method getSize (line 290) | @Override
method getParent (line 297) | @Override
method setParent (line 309) | @Override
method exists (line 315) | @Override
method getPermissions (line 327) | @Override
method getChangeablePermissions (line 332) | @Override
method changePermission (line 337) | @Override
method getOwner (line 343) | @Override
method canGetOwner (line 348) | @Override
method getGroup (line 353) | @Override
method canGetGroup (line 358) | @Override
method getReplication (line 363) | @Override
method getBlocksize (line 369) | @Override
method changeReplication (line 375) | @Override
method isDirectory (line 381) | @Override
method isSymlink (line 388) | @Override
method isSystem (line 393) | @Override
method getInputStream (line 398) | @Override
method getOutputStream (line 416) | @Override
method getAppendOutputStream (line 427) | @Override
method getRandomAccessInputStream (line 433) | @Override
method getRandomAccessOutputStream (line 443) | @Override
method delete (line 454) | @Override
method copyRemotelyTo (line 465) | @Override
method renameTo (line 476) | @Override
method mkdir (line 487) | @Override
method getFreeSpace (line 498) | @Override
method getTotalSpace (line 509) | @Override
method getUnderlyingFileObject (line 518) | @Override
method ls (line 523) | @Override
method resolveAndConnect (line 544) | private HttpURLConnection resolveAndConnect(URL url) throws IOException {
method findChildren (line 578) | private AbstractFile[] findChildren(BufferedReader br, URL contextURL)...
method linkCanBeDownloaded (line 646) | private boolean linkCanBeDownloaded(String link) {
method getContentEncoding (line 651) | private String getContentEncoding(HttpURLConnection conn) throws IOExc...
method createReader (line 667) | private BufferedReader createReader(HttpURLConnection conn) throws IOE...
method isHidden (line 687) | @Override
method getName (line 692) | @Override
method getInputStream (line 705) | @Override
class HTTPRandomAccessInputStream (line 732) | private class HTTPRandomAccessInputStream extends BlockRandomInputStre...
method HTTPRandomAccessInputStream (line 741) | private HTTPRandomAccessInputStream() throws IOException {
method readBlock (line 759) | @Override
method getLength (line 785) | public long getLength() {
method close (line 789) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/http/HTTPProtocolProvider.java
class HTTPProtocolProvider (line 21) | public class HTTPProtocolProvider implements ProtocolProvider {
method disableCertificateVerifications (line 48) | private static void disableCertificateVerifications() throws Exception {
method getFile (line 73) | public AbstractFile getFile(FileURL url, Object... instantiationParams...
FILE: src/main/java/com/mucommander/commons/file/impl/iso/IsoArchiveEntry.java
class IsoArchiveEntry (line 10) | class IsoArchiveEntry extends ArchiveEntry {
method IsoArchiveEntry (line 17) | IsoArchiveEntry(String path, boolean directory, long date, long size, ...
method getIndex (line 26) | long getIndex() {
method getSectSize (line 30) | public int getSectSize() {
method getShiftOffset (line 34) | public long getShiftOffset() {
method getAudio (line 38) | public boolean getAudio() {
FILE: src/main/java/com/mucommander/commons/file/impl/iso/IsoArchiveFile.java
class IsoArchiveFile (line 16) | public class IsoArchiveFile extends AbstractROArchiveFile {
method IsoArchiveFile (line 18) | public IsoArchiveFile(AbstractFile file) {
method getEntryIterator (line 23) | @Override
method getEntryInputStream (line 30) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/iso/IsoEntryInputStream.java
class IsoEntryInputStream (line 14) | class IsoEntryInputStream extends InputStream {
method IsoEntryInputStream (line 22) | IsoEntryInputStream(RandomAccessInputStream rais, IsoArchiveEntry entr...
method read (line 36) | @Override
method read (line 46) | @Override
method read (line 51) | @Override
method available (line 129) | @Override
method close (line 135) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/iso/IsoEntryIterator.java
class IsoEntryIterator (line 17) | class IsoEntryIterator extends WrapperArchiveEntryIterator {
method IsoEntryIterator (line 24) | public IsoEntryIterator(Iterator<? extends ArchiveEntry> iterator, Ran...
method getRandomAccessInputStream (line 35) | RandomAccessInputStream getRandomAccessInputStream() {
method close (line 44) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/iso/IsoFormatProvider.java
class IsoFormatProvider (line 20) | public class IsoFormatProvider implements ArchiveFormatProvider {
method detect (line 35) | @Override
method getFile (line 44) | @Override
method getFilenameFilter (line 52) | @Override
method getFileExtensions (line 57) | @Override
FILE: src/main/java/com/mucommander/commons/file/impl/iso/IsoParser.java
class IsoParser (line 30) | class IsoParser {
method getEntries (line 32) | public static List<IsoArchiveEntry> getEntries(byte[] buffer, RandomAc...
method getEntries (line 81) | static List<IsoArchiveEntry> getEntries(AbstractFile file, RandomAcces...
method newString (line 127) | private static void newString(byte[] b, int len, int level, StringBuff...
method parse_dir (line 131) | public static todo parse_dir(todo todo_idr, String rootname, int exten...
method ISODCL (line 226) | private static int ISODCL(int start, int end) {
method isonum_731 (line 230) | private static int isonum_731(byte[] p) {
method isonum_733 (line 234) | public static int isonum_733(byte[] p) {
method S_ISDIR (line 238) | private static boolean S_ISDIR(int m) {
class stat (line 246) | private static class stat {
class todo (line 251) | public static class todo {
class isoDr (line 258) | public static class isoDr {
method isoDr (line 277) | public isoDr(byte[] src, int pos) {
class isoPvd (line 288) | public static class isoPvd {
method isoPvd (line 333) | public i
Condensed preview — 1617 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (9,522K chars).
[
{
"path": ".gitignore",
"chars": 1270,
"preview": "*-ide-plugin.xml\r\n*.class\r\n*.ear\r\n*.ec\r\n*.egg-info\r\n*.iml\r\n*.ipr\r\n*.iws\r\n*.MainThread-*\r\n*.pid\r\n*.pid.lock\r\n*.pyc\r\n*.sql"
},
{
"path": "LICENSE",
"chars": 35121,
"preview": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation,"
},
{
"path": "README.md",
"chars": 412,
"preview": "trolCommander\n=============\n\nFork of muCommander file manager\n\nSee a full description at https://trolsoft.ru/en/soft/tro"
},
{
"path": "build.gradle",
"chars": 14465,
"preview": "plugins {\n id 'java'\n id 'application'\n id \"idea\"\n id 'com.gradleup.shadow' version '9.2.0'\n id 'org.jetb"
},
{
"path": "build.properties",
"chars": 3502,
"preview": "# - Build configuration ------------------------------------------------------------------------------------------------"
},
{
"path": "build_template.properties",
"chars": 3264,
"preview": "# - Build configuration ------------------------------------------------------------------------------------------------"
},
{
"path": "gradle/wrapper/gradle-wrapper.properties",
"chars": 253,
"preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributi"
},
{
"path": "gradle.properties",
"chars": 307,
"preview": "# Настройки сборки\norg.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8\norg.gradle.parallel=true\norg.gradle.caching=true\n\n"
},
{
"path": "gradlew",
"chars": 8710,
"preview": "#!/bin/sh\n\n#\n# Copyright © 2015-2021 the original authors.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lice"
},
{
"path": "gradlew.bat",
"chars": 2937,
"preview": "@rem\r\n@rem Copyright 2015 the original author or authors.\r\n@rem\r\n@rem Licensed under the Apache License, Version 2.0 (th"
},
{
"path": "jni/Makefile",
"chars": 18,
"preview": "all: \n\t./build.sh\n"
},
{
"path": "jni/build.sh",
"chars": 291,
"preview": "export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/\ngcc -I\"$JAVA_HOME/include\" -I\"$JAVA_H"
},
{
"path": "jni/ru_trolsoft_jni_NativeFileUtils.c",
"chars": 3440,
"preview": "#include <stdio.h>\n\n#include \"ru_trolsoft_jni_NativeFileUtils.h\"\n\n#include <stdbool.h>\n#include <unistd.h>\n#include <sys"
},
{
"path": "jni/ru_trolsoft_jni_NativeFileUtils.h",
"chars": 974,
"preview": "/* DO NOT EDIT THIS FILE - it is machine generated */\n#include <jni.h>\n/* Header for class ru_trolsoft_jni_FileUtils */\n"
},
{
"path": "lib/tools/version.txt",
"chars": 329,
"preview": "proguard.jar -> 4.11\njdeb.jar -> 1.2\nantdoclet.jar -> 1.1 (patched to disable Velocity logging).\nvelocity.jar "
},
{
"path": "readme.txt",
"chars": 11464,
"preview": "\n████████╗██████╗ ██████╗ ██╗\n╚══██╔══╝██╔══██╗██╔═══██╗██║\n ██║ ██████╔╝██║ ██║██║\n ██║ ██╔══██╗██║ ██║██║"
},
{
"path": "release-linux.sh",
"chars": 2479,
"preview": "VERSION='1.0.0'\n\n\nTMP_OUT_PATH=dist\n#TMP_RES_PATH=dist/resources\nOUT_PATH=dist\nARCH=$(uname -m)\n\nset -e\n\n./gradlew clean"
},
{
"path": "release.sh",
"chars": 6246,
"preview": "VERSION='1.0.0'\n\nJAVA_HOME_MAC_X64=./tools/jdk21-macos-x64/Contents/Home/bin/\nJAVA_HOME_WINDOWS=./tools/jdk21-windows/bi"
},
{
"path": "res/jar/services/services/org.apache.hadoop.crypto.key.KeyProviderFactory",
"chars": 949,
"preview": "# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE f"
},
{
"path": "res/jar/services/services/org.apache.hadoop.fs.FileSystem",
"chars": 1157,
"preview": "# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE f"
},
{
"path": "res/jar/services/services/org.apache.hadoop.io.compress.CompressionCodec",
"chars": 815,
"preview": "#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance"
},
{
"path": "res/jar/services/services/org.apache.hadoop.security.SecurityInfo",
"chars": 615,
"preview": "#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance"
},
{
"path": "res/jar/services/services/org.apache.hadoop.security.alias.CredentialProviderFactory",
"chars": 898,
"preview": "# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE f"
},
{
"path": "res/jar/services/services/org.apache.hadoop.security.token.TokenIdentifier",
"chars": 923,
"preview": "#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance"
},
{
"path": "res/jar/services/services/org.apache.hadoop.security.token.TokenRenewer",
"chars": 732,
"preview": "#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance"
},
{
"path": "res/jar/servicesCOMMON/org.apache.hadoop.crypto.key.KeyProviderFactory",
"chars": 949,
"preview": "# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE f"
},
{
"path": "res/jar/servicesCOMMON/org.apache.hadoop.fs.FileSystem",
"chars": 936,
"preview": "# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE f"
},
{
"path": "res/jar/servicesCOMMON/org.apache.hadoop.io.compress.CompressionCodec",
"chars": 815,
"preview": "#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance"
},
{
"path": "res/jar/servicesCOMMON/org.apache.hadoop.security.SecurityInfo",
"chars": 615,
"preview": "#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance"
},
{
"path": "res/jar/servicesCOMMON/org.apache.hadoop.security.alias.CredentialProviderFactory",
"chars": 898,
"preview": "# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE f"
},
{
"path": "res/jar/servicesHDFS/org.apache.hadoop.fs.FileSystem",
"chars": 1003,
"preview": "# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE f"
},
{
"path": "res/jar/servicesHDFS/org.apache.hadoop.security.token.TokenIdentifier",
"chars": 923,
"preview": "#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance"
},
{
"path": "res/jar/servicesHDFS/org.apache.hadoop.security.token.TokenRenewer",
"chars": 732,
"preview": "#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance"
},
{
"path": "res/package/unix/deb/control",
"chars": 905,
"preview": "Package: mucommander\nVersion: @VERSION@\nSection: utils\nPriority: optional\nRecommends: java-virtual-machine, java2-runtim"
},
{
"path": "res/package/unix/deb/postinst",
"chars": 82,
"preview": "#! /bin/sh\nln -s /usr/share/trolcommander/trolcommander.sh /usr/bin/trolcommander\n"
},
{
"path": "res/package/unix/deb/postrm",
"chars": 82,
"preview": "#! /bin/sh\nif [ -h /usr/bin/trolcommander ] ; then\n rm /usr/bin/trolcommander\nfi\n"
},
{
"path": "res/package/unix/trolcommander.desktop",
"chars": 214,
"preview": "[Desktop Entry]\nName=muCommander\nComment=A lightweight, cross-platform file manager\nExec=mucommander\nIcon=mucommander\nTe"
},
{
"path": "res/package/unix/trolcommander.sh",
"chars": 1827,
"preview": "#! /bin/sh\n\nTROLCOMMANDER_ARGS=\"@ARGS@\"\nJAVA_ARGS=\"@JAVA_ARGS@\"\n\n# Locates the java executable.\nif [ \"$JAVA_HOME\" != \"\" "
},
{
"path": "res/package/version.xml",
"chars": 233,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<mucommander>\n <latest_version>@VERSION@</latest_version>\n <release_date>@DATE@"
},
{
"path": "res/package/windows/trolcommander.nsi",
"chars": 4722,
"preview": "; -*- coding: utf-8 -*-\n; trolcommander install script\n;\n\n; Include Modern UI\n!include MUI2.nsh\n\n; The name of the insta"
},
{
"path": "settings.gradle",
"chars": 176,
"preview": "rootProject.name = 'trolcommander'\n\n// Включение локальных модулей (если нужно)\n// include ':libs:local-lib1'\n// project"
},
{
"path": "src/main/java/com/ibm/icu/text/CharsetDetector.java",
"chars": 21976,
"preview": "/*\n*******************************************************************************\n* Copyright (C) 2005-2013, Internatio"
},
{
"path": "src/main/java/com/ibm/icu/text/CharsetMatch.java",
"chars": 8665,
"preview": "/*\n*******************************************************************************\n* Copyright (C) 2005-2012, Internatio"
},
{
"path": "src/main/java/com/ibm/icu/text/CharsetRecog_2022.java",
"chars": 5767,
"preview": "/*\n *******************************************************************************\n * Copyright (C) 2005 - 2012, Intern"
},
{
"path": "src/main/java/com/ibm/icu/text/CharsetRecog_UTF8.java",
"chars": 3090,
"preview": "/*\n *******************************************************************************\n * Copyright (C) 2005 - 2012, Intern"
},
{
"path": "src/main/java/com/ibm/icu/text/CharsetRecog_Unicode.java",
"chars": 4484,
"preview": "/*\n *******************************************************************************\n * Copyright (C) 1996-2012, Internat"
},
{
"path": "src/main/java/com/ibm/icu/text/CharsetRecog_mbcs.java",
"chars": 23352,
"preview": "/*\n ****************************************************************************\n * Copyright (C) 2005-2012, Internation"
},
{
"path": "src/main/java/com/ibm/icu/text/CharsetRecog_sbcs.java",
"chars": 95166,
"preview": "/*\n ****************************************************************************\n * Copyright (C) 2005-2013, Internation"
},
{
"path": "src/main/java/com/ibm/icu/text/CharsetRecognizer.java",
"chars": 1830,
"preview": "/*\n*******************************************************************************\n* Copyright (C) 2005-2012, Internatio"
},
{
"path": "src/main/java/com/mucommander/PlatformManager.java",
"chars": 6629,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/RuntimeConstants.java",
"chars": 6517,
"preview": "/*\r\n * This file is part of trolCommander, http://www.trolsoft.ru/en/soft/trolcommander\r\n * Copyright (C) 2013-2020 Oleg"
},
{
"path": "src/main/java/com/mucommander/StressTester.java",
"chars": 4466,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/TrolCommander.java",
"chars": 8538,
"preview": "/*\r\n * This file is part of trolCommander, http://www.trolsoft.ru/en/soft/trolcommander\r\n * Copyright (C) 2013-2020 Oleg"
},
{
"path": "src/main/java/com/mucommander/adb/AdbUtils.java",
"chars": 6090,
"preview": "/*\n * This file is part of trolCommander, http://www.trolsoft.ru/en/soft/trolcommander\n * Copyright (C) 2013-2016 Oleg T"
},
{
"path": "src/main/java/com/mucommander/adb/AndroidMenu.java",
"chars": 3223,
"preview": "/*\n * This file is part of trolCommander, http://www.trolsoft.ru/en/soft/trolcommander\n * Copyright (C) 2013-2016 Oleg T"
},
{
"path": "src/main/java/com/mucommander/auth/CredentialsConstants.java",
"chars": 2129,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/auth/CredentialsManager.java",
"chars": 21919,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/auth/CredentialsMapping.java",
"chars": 3726,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/auth/CredentialsParser.java",
"chars": 6333,
"preview": "/*\r\n * This file is part of muCommander, http://www.mucommander.com\r\n * Copyright (C) 2002-2012 Maxence Bernard\r\n *\r\n * "
},
{
"path": "src/main/java/com/mucommander/auth/CredentialsWriter.java",
"chars": 3826,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/auth/package.html",
"chars": 75,
"preview": "<body>\n API for dealing with authentication and user credentials.\n</body>\n"
},
{
"path": "src/main/java/com/mucommander/bonjour/BonjourDirectory.java",
"chars": 9463,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/bonjour/BonjourMenu.java",
"chars": 3762,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/bonjour/BonjourService.java",
"chars": 3004,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/bonjour/package.html",
"chars": 83,
"preview": "<body>\n Wrapper for the JmDNS library, provides Bonjour/Zeroconf support.\n</body>\n"
},
{
"path": "src/main/java/com/mucommander/bookmark/Bookmark.java",
"chars": 4218,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/bookmark/BookmarkBuilder.java",
"chars": 1690,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/bookmark/BookmarkConstants.java",
"chars": 1646,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/bookmark/BookmarkException.java",
"chars": 1586,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/bookmark/BookmarkListener.java",
"chars": 1276,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/bookmark/BookmarkManager.java",
"chars": 16872,
"preview": "/*\r\n * This file is part of muCommander, http://www.mucommander.com\r\n * Copyright (C) 2002-2012 Maxence Bernard\r\n *\r\n * "
},
{
"path": "src/main/java/com/mucommander/bookmark/BookmarkParser.java",
"chars": 6542,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/bookmark/BookmarkWriter.java",
"chars": 2754,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/bookmark/XORCipher.java",
"chars": 4637,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/bookmark/file/BookmarkFile.java",
"chars": 15310,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/bookmark/file/BookmarkOutputStream.java",
"chars": 2931,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/bookmark/file/BookmarkProtocolProvider.java",
"chars": 2988,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/bookmark/file/BookmarkRoot.java",
"chars": 7124,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/bookmark/file/package.html",
"chars": 85,
"preview": "<body>\n Provides an implementation of the bookmarks:// virtual file system.\n</body>\n"
},
{
"path": "src/main/java/com/mucommander/bookmark/package.html",
"chars": 46,
"preview": "<body>\n API for bookmark management.\n</body>\n"
},
{
"path": "src/main/java/com/mucommander/cache/FastLRUCache.java",
"chars": 8314,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/cache/LRUCache.java",
"chars": 9059,
"preview": "/*\r\n * This file is part of muCommander, http://www.mucommander.com\r\n * Copyright (C) 2002-2012 Maxence Bernard\r\n *\r\n * "
},
{
"path": "src/main/java/com/mucommander/cache/TextHistory.java",
"chars": 4847,
"preview": "/*\n * This file is part of trolCommander, http://www.trolsoft.ru/en/soft/trolcommander\n * Copyright (C) 2013-2016 Oleg T"
},
{
"path": "src/main/java/com/mucommander/cache/WindowsStorage.java",
"chars": 8136,
"preview": "/*\n * This file is part of trolCommander, http://www.trolsoft.ru/en/soft/trolcommander\n * Copyright (C) 2013-2016 Oleg T"
},
{
"path": "src/main/java/com/mucommander/cache/package.html",
"chars": 57,
"preview": "<body>\n Provides various cache implementations.\n</body>\n"
},
{
"path": "src/main/java/com/mucommander/command/AssociationBuilder.java",
"chars": 3765,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/command/AssociationFactory.java",
"chars": 2807,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/command/AssociationReader.java",
"chars": 7097,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/command/AssociationWriter.java",
"chars": 4903,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/command/AssociationsXmlConstants.java",
"chars": 2936,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/command/Command.java",
"chars": 19802,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/command/CommandAssociation.java",
"chars": 2286,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/command/CommandBuilder.java",
"chars": 3107,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/command/CommandException.java",
"chars": 1649,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/command/CommandManager.java",
"chars": 32069,
"preview": "/*\r\n * This file is part of muCommander, http://www.mucommander.com\r\n * Copyright (C) 2002-2012 Maxence Bernard\r\n *\r\n * "
},
{
"path": "src/main/java/com/mucommander/command/CommandReader.java",
"chars": 4538,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/command/CommandType.java",
"chars": 2357,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/command/CommandWriter.java",
"chars": 3274,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/command/CommandsXmlConstants.java",
"chars": 2871,
"preview": "/*\r\n * This file is part of muCommander, http://www.mucommander.com\r\n * Copyright (C) 2002-2012 Maxence Bernard\r\n *\r\n * "
},
{
"path": "src/main/java/com/mucommander/command/PermissionsFileFilter.java",
"chars": 2407,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2012 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/command/package.html",
"chars": 89,
"preview": "<body>\n Framework used to run system commands and associate them to file types.\n</body>\n"
},
{
"path": "src/main/java/com/mucommander/commons/DummyDecoratedFile.java",
"chars": 1751,
"preview": "/*\n * This file is part of trolCommander, http://www.trolsoft.ru/en/soft/trolcommander\n * Copyright (C) 2013-2018 Oleg T"
},
{
"path": "src/main/java/com/mucommander/commons/HasProgress.java",
"chars": 956,
"preview": "/*\n * This file is part of trolCommander, http://www.trolsoft.ru/en/soft/trolcommander\n * Copyright (C) 2013-2016 Oleg T"
},
{
"path": "src/main/java/com/mucommander/commons/collections/AlteredVector.java",
"chars": 6397,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/collections/Enumerator.java",
"chars": 2401,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/collections/VectorChangeListener.java",
"chars": 2003,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/BufferedConfigurationExplorer.java",
"chars": 2567,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/Configuration.java",
"chars": 53253,
"preview": "package com.mucommander.commons.conf;\n\nimport java.io.*;\nimport java.nio.charset.StandardCharsets;\nimport java.util.*;\n\n"
},
{
"path": "src/main/java/com/mucommander/commons/conf/ConfigurationBuilder.java",
"chars": 4575,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/ConfigurationEvent.java",
"chars": 6088,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/ConfigurationException.java",
"chars": 2541,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/ConfigurationExplorer.java",
"chars": 2342,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/ConfigurationFormatException.java",
"chars": 7344,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/ConfigurationListener.java",
"chars": 1422,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/ConfigurationReader.java",
"chars": 2848,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/ConfigurationReaderFactory.java",
"chars": 1825,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/ConfigurationSection.java",
"chars": 11508,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/ConfigurationSource.java",
"chars": 2574,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/ConfigurationStructureException.java",
"chars": 2714,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/ConfigurationWriterFactory.java",
"chars": 2681,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/DefaultConfigurationBuilder.java",
"chars": 3385,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/FileConfigurationSource.java",
"chars": 4330,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/ReaderConfigurationException.java",
"chars": 2437,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/SourceConfigurationException.java",
"chars": 2408,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/ValueIterator.java",
"chars": 5080,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/ValueList.java",
"chars": 6024,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/WriterConfigurationException.java",
"chars": 2449,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/XmlConfigurationReader.java",
"chars": 8154,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/XmlConfigurationWriter.java",
"chars": 6257,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/conf/package-info.java",
"chars": 3906,
"preview": "/**\n * Provides classes to deal with software configuration.\n * <h3>Configuration variables</h3>\n * <p>\n * Configuration"
},
{
"path": "src/main/java/com/mucommander/commons/file/AbstractArchiveEntryFile.java",
"chars": 13514,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/AbstractArchiveFile.java",
"chars": 25155,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/AbstractFile.java",
"chars": 99557,
"preview": "/*\r\n * This file is part of muCommander, http://www.mucommander.com\r\n * Copyright (C) 2002-2010 Maxence Bernard\r\n *\r\n * "
},
{
"path": "src/main/java/com/mucommander/commons/file/AbstractFileClassLoader.java",
"chars": 9388,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/AbstractROArchiveFile.java",
"chars": 2043,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/AbstractRWArchiveFile.java",
"chars": 5759,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/ArchiveEntry.java",
"chars": 6810,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/ArchiveEntryIterator.java",
"chars": 2322,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/ArchiveEntryTree.java",
"chars": 6037,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/ArchiveFormatProvider.java",
"chars": 2174,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/AuthException.java",
"chars": 2378,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/AuthenticationType.java",
"chars": 1339,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/Authenticator.java",
"chars": 2326,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/Credentials.java",
"chars": 4236,
"preview": "package com.mucommander.commons.file;\n\n/**\n * This class is a container for a login and password pair, used to authentic"
},
{
"path": "src/main/java/com/mucommander/commons/file/DefaultPathCanonizer.java",
"chars": 3930,
"preview": "package com.mucommander.commons.file;\n\nimport java.util.Vector;\n\n/**\n * @author Maxence Bernard\n */\npublic class Default"
},
{
"path": "src/main/java/com/mucommander/commons/file/DefaultSchemeHandler.java",
"chars": 5088,
"preview": "package com.mucommander.commons.file;\n\n/**\n * This class provides a default {@link SchemeHandler} implementation. The no"
},
{
"path": "src/main/java/com/mucommander/commons/file/DefaultSchemeParser.java",
"chars": 13713,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/DummyFile.java",
"chars": 9638,
"preview": "package com.mucommander.commons.file;\n\nimport com.mucommander.commons.io.RandomAccessInputStream;\nimport com.mucommander"
},
{
"path": "src/main/java/com/mucommander/commons/file/FileAccessDeniedException.java",
"chars": 967,
"preview": "/*\n * This file is part of trolCommander, http://www.trolsoft.ru/en/soft/trolcommander\n * Copyright (C) 2013-2016 Oleg T"
},
{
"path": "src/main/java/com/mucommander/commons/file/FileAttributes.java",
"chars": 3276,
"preview": "package com.mucommander.commons.file;\n\n/**\n * This interface defines getters for the following file attributes:\n * <dl>\n"
},
{
"path": "src/main/java/com/mucommander/commons/file/FileFactory.java",
"chars": 38501,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/FileOperation.java",
"chars": 5863,
"preview": "package com.mucommander.commons.file;\n\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.lang.reflec"
},
{
"path": "src/main/java/com/mucommander/commons/file/FilePermissions.java",
"chars": 2525,
"preview": "package com.mucommander.commons.file;\n\n/**\n * FilePermissions is an interface that represents the permissions of an {@li"
},
{
"path": "src/main/java/com/mucommander/commons/file/FileProtocols.java",
"chars": 1614,
"preview": "package com.mucommander.commons.file;\n\n/**\n * This interface contains a set of known protocol names, that can be found i"
},
{
"path": "src/main/java/com/mucommander/commons/file/FileURL.java",
"chars": 44700,
"preview": "package com.mucommander.commons.file;\r\n\r\nimport com.mucommander.commons.file.compat.CompatURLStreamHandler;\r\nimport com."
},
{
"path": "src/main/java/com/mucommander/commons/file/GroupedPermissionBits.java",
"chars": 1219,
"preview": "package com.mucommander.commons.file;\n\n/**\n * GroupedPermissionBits is an implementation of {@link com.mucommander.commo"
},
{
"path": "src/main/java/com/mucommander/commons/file/IndividualPermissionBits.java",
"chars": 1016,
"preview": "package com.mucommander.commons.file;\n\n/**\n * IndividualPermissionBits is a partial implementation of {@link com.mucomma"
},
{
"path": "src/main/java/com/mucommander/commons/file/MacOsSystemFolder.java",
"chars": 2255,
"preview": "package com.mucommander.commons.file;\n\n\nimport com.mucommander.commons.file.util.PathUtils;\nimport com.mucommander.commo"
},
{
"path": "src/main/java/com/mucommander/commons/file/MimeTypes.java",
"chars": 1766,
"preview": "package com.mucommander.commons.file;\n\nimport com.mucommander.commons.file.util.ResourceLoader;\n\nimport java.io.Buffered"
},
{
"path": "src/main/java/com/mucommander/commons/file/MutableFileAttributes.java",
"chars": 1897,
"preview": "package com.mucommander.commons.file;\n\n/**\n * This interface extends <code>FileAttributes</code> to add attribute getter"
},
{
"path": "src/main/java/com/mucommander/commons/file/PathCanonizer.java",
"chars": 659,
"preview": "package com.mucommander.commons.file;\n\n/**\n * PathCanonizer is an interface that defines a single {@link #canonize(Strin"
},
{
"path": "src/main/java/com/mucommander/commons/file/PermissionAccesses.java",
"chars": 999,
"preview": "package com.mucommander.commons.file;\n\n/**\n * This interface defines constants fields used for designating the three dif"
},
{
"path": "src/main/java/com/mucommander/commons/file/PermissionBits.java",
"chars": 2768,
"preview": "package com.mucommander.commons.file;\n\n/**\n * This interface provides methods to access file permissions, for every comb"
},
{
"path": "src/main/java/com/mucommander/commons/file/PermissionTypes.java",
"chars": 757,
"preview": "package com.mucommander.commons.file;\n\n/**\n * This interface defines constants fields used for designating the three dif"
},
{
"path": "src/main/java/com/mucommander/commons/file/ProtocolFile.java",
"chars": 986,
"preview": "package com.mucommander.commons.file;\n\n/**\n * Super class of all file protocol implementations (by opposition to {@link "
},
{
"path": "src/main/java/com/mucommander/commons/file/ProtocolProvider.java",
"chars": 1181,
"preview": "package com.mucommander.commons.file;\n\nimport java.io.IOException;\n\n/**\n * This interface allows {@link FileFactory} to "
},
{
"path": "src/main/java/com/mucommander/commons/file/ROArchiveEntryFile.java",
"chars": 2831,
"preview": "package com.mucommander.commons.file;\n\nimport java.io.OutputStream;\n\n/**\n * Represents a file entry inside a read-only a"
},
{
"path": "src/main/java/com/mucommander/commons/file/RWArchiveEntryFile.java",
"chars": 6459,
"preview": "package com.mucommander.commons.file;\n\nimport com.mucommander.commons.io.ByteCounter;\nimport com.mucommander.commons.io."
},
{
"path": "src/main/java/com/mucommander/commons/file/SchemeHandler.java",
"chars": 4707,
"preview": "package com.mucommander.commons.file;\n\n/**\n * <code>SchemeHandler</code> is an interface that allows {@link FileURL} to "
},
{
"path": "src/main/java/com/mucommander/commons/file/SchemeParser.java",
"chars": 1334,
"preview": "package com.mucommander.commons.file;\n\nimport java.net.MalformedURLException;\n\n/**\n * SchemeParser is an interface that "
},
{
"path": "src/main/java/com/mucommander/commons/file/SevenZipArchiveFormatDetector.java",
"chars": 2965,
"preview": "/*\n * This file is part of trolCommander, http://www.trolsoft.ru/en/soft/trolcommander\n * Copyright (C) 2014-2026 Oleg T"
},
{
"path": "src/main/java/com/mucommander/commons/file/SimpleFileAttributes.java",
"chars": 3498,
"preview": "package com.mucommander.commons.file;\n\n/**\n * This class is a simple implementation of the {@link com.mucommander.common"
},
{
"path": "src/main/java/com/mucommander/commons/file/SimpleFilePermissions.java",
"chars": 4442,
"preview": "package com.mucommander.commons.file;\n\n/**\n * SimpleFilePermissions is a FilePermissions implementation that takes int v"
},
{
"path": "src/main/java/com/mucommander/commons/file/SingleArchiveEntryIterator.java",
"chars": 949,
"preview": "package com.mucommander.commons.file;\n\n/**\n * This class is an implementation of {@link ArchiveEntryIterator} that itera"
},
{
"path": "src/main/java/com/mucommander/commons/file/SyncedFileAttributes.java",
"chars": 9141,
"preview": "package com.mucommander.commons.file;\n\n/**\n * SyncedFileAttributes is a FileAttributes implementation which allows attri"
},
{
"path": "src/main/java/com/mucommander/commons/file/UnsupportedFileOperation.java",
"chars": 229,
"preview": "package com.mucommander.commons.file;\n\nimport java.lang.annotation.*;\n\n/**\n * @author Maxence Bernard\n */\n@Target(Elemen"
},
{
"path": "src/main/java/com/mucommander/commons/file/UnsupportedFileOperationException.java",
"chars": 2105,
"preview": "package com.mucommander.commons.file;\n\nimport java.io.IOException;\n\n/**\n * This exception can be thrown by certain {@lin"
},
{
"path": "src/main/java/com/mucommander/commons/file/WrapperArchiveEntryIterator.java",
"chars": 1110,
"preview": "package com.mucommander.commons.file;\n\nimport java.io.IOException;\nimport java.util.Iterator;\n\n/**\n * This class wraps a"
},
{
"path": "src/main/java/com/mucommander/commons/file/archiver/ArchiveFormat.java",
"chars": 1819,
"preview": "/*\n * This file is part of trolCommander, http://www.trolsoft.ru/en/soft/trolcommander\n * Copyright (C) 2013-2017 Oleg T"
},
{
"path": "src/main/java/com/mucommander/commons/file/archiver/Archiver.java",
"chars": 14037,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/archiver/ISOArchiver.java",
"chars": 9047,
"preview": "package com.mucommander.commons.file.archiver;\n\nimport com.github.stephenc.javaisotools.eltorito.impl.ElToritoConfig;\nim"
},
{
"path": "src/main/java/com/mucommander/commons/file/archiver/SingleFileArchiver.java",
"chars": 1021,
"preview": "package com.mucommander.commons.file.archiver;\n\nimport com.mucommander.commons.file.FileAttributes;\n\nimport java.io.IOEx"
},
{
"path": "src/main/java/com/mucommander/commons/file/archiver/TarArchiver.java",
"chars": 2437,
"preview": "package com.mucommander.commons.file.archiver;\n\nimport com.mucommander.commons.file.FileAttributes;\nimport com.mucommand"
},
{
"path": "src/main/java/com/mucommander/commons/file/archiver/ZipArchiver.java",
"chars": 2354,
"preview": "package com.mucommander.commons.file.archiver;\n\nimport com.mucommander.commons.file.FileAttributes;\nimport com.mucommand"
},
{
"path": "src/main/java/com/mucommander/commons/file/compat/CompatURLConnection.java",
"chars": 2328,
"preview": "package com.mucommander.commons.file.compat;\n\nimport com.mucommander.commons.file.AbstractFile;\nimport com.mucommander.c"
},
{
"path": "src/main/java/com/mucommander/commons/file/compat/CompatURLStreamHandler.java",
"chars": 657,
"preview": "package com.mucommander.commons.file.compat;\n\nimport com.mucommander.commons.file.AbstractFile;\n\nimport java.io.IOExcept"
},
{
"path": "src/main/java/com/mucommander/commons/file/connection/ConnectionHandler.java",
"chars": 12823,
"preview": "package com.mucommander.commons.file.connection;\n\nimport com.mucommander.commons.file.AuthException;\nimport com.mucomman"
},
{
"path": "src/main/java/com/mucommander/commons/file/connection/ConnectionHandlerFactory.java",
"chars": 729,
"preview": "package com.mucommander.commons.file.connection;\n\nimport com.mucommander.commons.file.FileURL;\n\n/**\n * This interface sh"
},
{
"path": "src/main/java/com/mucommander/commons/file/connection/ConnectionPool.java",
"chars": 12794,
"preview": "package com.mucommander.commons.file.connection;\n\nimport java.io.InterruptedIOException;\nimport java.util.ArrayList;\nimp"
},
{
"path": "src/main/java/com/mucommander/commons/file/filter/AbstractContainsFilter.java",
"chars": 1981,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/filter/AbstractCriterionFilter.java",
"chars": 5834,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/filter/AbstractEndsWithFilter.java",
"chars": 2031,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/filter/AbstractEqualsFilter.java",
"chars": 1963,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/filter/AbstractExtensionFilter.java",
"chars": 3091,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/filter/AbstractFileFilter.java",
"chars": 4327,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/filter/AbstractFilenameFilter.java",
"chars": 2066,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/filter/AbstractPathFilter.java",
"chars": 2022,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/filter/AbstractRegexpFilter.java",
"chars": 2819,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/filter/AbstractStartsWithFilter.java",
"chars": 2034,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
},
{
"path": "src/main/java/com/mucommander/commons/file/filter/AbstractStringCriterionFilter.java",
"chars": 3000,
"preview": "/*\n * This file is part of muCommander, http://www.mucommander.com\n * Copyright (C) 2002-2010 Maxence Bernard\n *\n * muCo"
}
]
// ... and 1417 more files (download for full content)
About this extraction
This page contains the full source code of the trol73/mucommander GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1617 files (23.1 MB), approximately 2.3M tokens, and a symbol index with 13517 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.