Builder class

Пакет: com.hypixel.hytale.server.core.ui.browser

Файл: com/hypixel/hytale/server/core/ui/browser/FileBrowserConfig.java

Поля (15)

МодификаторыТипИмя
private Set<String> allowedExtensions
private boolean assetPackMode
private String assetPackSubPath
private String currentPathId
private FileListProvider customProvider
private boolean enableDirectoryNav
private boolean enableMultiSelect
private boolean enableRootSelector
private boolean enableSearch
private String listElementId
private int maxResults
private String rootSelectorId
private List<FileBrowserConfig.RootEntry> roots
private String searchInputId
private Predicate<Path> terminalDirectoryPredicate

Методы (19)

МодификаторыВозвратСигнатура
abstract return new FileBrowserConfigreturn new FileBrowserConfig(this.listElementId, this.rootSelectorId, this.searchInputId, this.currentPathId, this.roots, this.allowedExtensions, this.enableRootSelector, this.enableSearch, this.enableDirectoryNav, this.enableMultiSelect, this.maxResults, this.customProvider, this.assetPackMode, this.assetPackSubPath, this.terminalDirectoryPredicate)
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("assetPackSubPath cannot be null when assetPackMode is enabled")
public FileBrowserConfig.Builder allowedExtensionspublic FileBrowserConfig.Builder allowedExtensions(@Nonnull String... var1)
public FileBrowserConfig.Builder allowedExtensionspublic FileBrowserConfig.Builder allowedExtensions(@Nonnull Set<String> var1)
public FileBrowserConfig.Builder assetPackModepublic FileBrowserConfig.Builder assetPackMode(boolean var1, @Nullable String var2)
public FileBrowserConfig buildpublic FileBrowserConfig build()
public FileBrowserConfig.Builder currentPathIdpublic FileBrowserConfig.Builder currentPathId(@Nullable String var1)
public FileBrowserConfig.Builder customProviderpublic FileBrowserConfig.Builder customProvider(@Nullable FileListProvider var1)
public FileBrowserConfig.Builder enableDirectoryNavpublic FileBrowserConfig.Builder enableDirectoryNav(boolean var1)
public FileBrowserConfig.Builder enableMultiSelectpublic FileBrowserConfig.Builder enableMultiSelect(boolean var1)
public FileBrowserConfig.Builder enableRootSelectorpublic FileBrowserConfig.Builder enableRootSelector(boolean var1)
public FileBrowserConfig.Builder enableSearchpublic FileBrowserConfig.Builder enableSearch(boolean var1)
if if(var1 && var2 == null)
public FileBrowserConfig.Builder listElementIdpublic FileBrowserConfig.Builder listElementId(@Nonnull String var1)
public FileBrowserConfig.Builder maxResultspublic FileBrowserConfig.Builder maxResults(int var1)
public FileBrowserConfig.Builder rootSelectorIdpublic FileBrowserConfig.Builder rootSelectorId(@Nullable String var1)
public FileBrowserConfig.Builder rootspublic FileBrowserConfig.Builder roots(@Nonnull List<FileBrowserConfig.RootEntry> var1)
public FileBrowserConfig.Builder searchInputIdpublic FileBrowserConfig.Builder searchInputId(@Nullable String var1)
public FileBrowserConfig.Builder terminalDirectoryPredicatepublic FileBrowserConfig.Builder terminalDirectoryPredicate(@Nullable Predicate<Path> var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.ui.browser;

class="kw">import com.hypixel.hytale.server.core.ui.LocalizableString;
class="kw">import java.nio.file.Path;
class="kw">import java.util.List;
class="kw">import java.util.Set;
class="kw">import java.util.function.Predicate;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public record FileBrowserConfig(
   @Nonnull String listElementId,
   @Nullable String rootSelectorId,
   @Nullable String searchInputId,
   @Nullable String currentPathId,
   @Nonnull List<FileBrowserConfig.RootEntry> roots,
   @Nonnull Set<String> allowedExtensions,
   boolean enableRootSelector,
   boolean enableSearch,
   boolean enableDirectoryNav,
   boolean enableMultiSelect,
   int maxResults,
   @Nullable FileListProvider customProvider,
   boolean assetPackMode,
   @Nullable String assetPackSubPath,
   @Nullable Predicate<Path> terminalDirectoryPredicate
) {
   class="kw">public FileBrowserConfig {
   }

   class="kw">public class="kw">static FileBrowserConfig.Builder builder() {
      class="kw">return new FileBrowserConfig.Builder();
   }

   class="kw">public class="kw">static class Builder {
      class="kw">private String listElementId = "#FileList";
      class="kw">private String rootSelectorId = "#RootSelector";
      class="kw">private String searchInputId = "#SearchInput";
      class="kw">private String currentPathId = null;
      class="kw">private List<FileBrowserConfig.RootEntry> roots = List.of();
      class="kw">private Set<String> allowedExtensions = Set.of();
      class="kw">private boolean enableRootSelector = true;
      class="kw">private boolean enableSearch = true;
      class="kw">private boolean enableDirectoryNav = true;
      class="kw">private boolean enableMultiSelect = false;
      class="kw">private int maxResults = 50;
      class="kw">private FileListProvider customProvider = null;
      class="kw">private boolean assetPackMode = false;
      class="kw">private String assetPackSubPath = null;
      class="kw">private Predicate<Path> terminalDirectoryPredicate = null;

      class="kw">public Builder() {
      }

      class="kw">public FileBrowserConfig.Builder listElementId(@Nonnull String var1) {
         this.listElementId = var1;
         class="kw">return this;
      }

      class="kw">public FileBrowserConfig.Builder rootSelectorId(@Nullable String var1) {
         this.rootSelectorId = var1;
         class="kw">return this;
      }

      class="kw">public FileBrowserConfig.Builder searchInputId(@Nullable String var1) {
         this.searchInputId = var1;
         class="kw">return this;
      }

      class="kw">public FileBrowserConfig.Builder currentPathId(@Nullable String var1) {
         this.currentPathId = var1;
         class="kw">return this;
      }

      class="kw">public FileBrowserConfig.Builder roots(@Nonnull List<FileBrowserConfig.RootEntry> var1) {
         this.roots = var1;
         class="kw">return this;
      }

      class="kw">public FileBrowserConfig.Builder allowedExtensions(@Nonnull String... var1) {
         this.allowedExtensions = Set.of(var1);
         class="kw">return this;
      }

      class="kw">public FileBrowserConfig.Builder allowedExtensions(@Nonnull Set<String> var1) {
         this.allowedExtensions = var1;
         class="kw">return this;
      }

      class="kw">public FileBrowserConfig.Builder enableRootSelector(boolean var1) {
         this.enableRootSelector = var1;
         class="kw">return this;
      }

      class="kw">public FileBrowserConfig.Builder enableSearch(boolean var1) {
         this.enableSearch = var1;
         class="kw">return this;
      }

      class="kw">public FileBrowserConfig.Builder enableDirectoryNav(boolean var1) {
         this.enableDirectoryNav = var1;
         class="kw">return this;
      }

      class="kw">public FileBrowserConfig.Builder enableMultiSelect(boolean var1) {
         this.enableMultiSelect = var1;
         class="kw">return this;
      }

      class="kw">public FileBrowserConfig.Builder maxResults(int var1) {
         this.maxResults = var1;
         class="kw">return this;
      }

      class="kw">public FileBrowserConfig.Builder customProvider(@Nullable FileListProvider var1) {
         this.customProvider = var1;
         class="kw">return this;
      }

      class="kw">public FileBrowserConfig.Builder assetPackMode(boolean var1, @Nullable String var2) {
         if (var1 && var2 == null) {
            throw new IllegalArgumentException("assetPackSubPath cannot be null when assetPackMode is enabled");
         }

         this.assetPackMode = var1;
         this.assetPackSubPath = var2;
         class="kw">return this;
      }

      class="kw">public FileBrowserConfig.Builder terminalDirectoryPredicate(@Nullable Predicate<Path> var1) {
         this.terminalDirectoryPredicate = var1;
         class="kw">return this;
      }

      class="kw">public FileBrowserConfig build() {
         class="kw">return new FileBrowserConfig(
            this.listElementId,
            this.rootSelectorId,
            this.searchInputId,
            this.currentPathId,
            this.roots,
            this.allowedExtensions,
            this.enableRootSelector,
            this.enableSearch,
            this.enableDirectoryNav,
            this.enableMultiSelect,
            this.maxResults,
            this.customProvider,
            this.assetPackMode,
            this.assetPackSubPath,
            this.terminalDirectoryPredicate
         );
      }
   }

   class="kw">public record RootEntry(@Nonnull LocalizableString displayName, @Nonnull Path path) {
      class="kw">public RootEntry(@Nonnull String var1, @Nonnull Path var2) {
         this(LocalizableString.fromString(var1), var2);
      }

      class="kw">public RootEntry {
      }
   }
}