/** * Adds name pattern describing the file type * * @deprecated FileType can contain a few name patterns, so use {@link #addNamePattern(String)} * instead */ public void setNamePattern(String namePattern) { addNamePattern(namePattern); }
public FileType(SVGResource image, String extension, String namePattern) { this.image = image; this.extension = extension; this.namePatterns = new HashSet<>(); addNamePattern(namePattern); }
public Set<FileType> getByNamePattern(@Nullable SVGResource image, @NotNull String namePattern) { checkArgument(!isNullOrEmpty(namePattern), "Can not register File Type without name pattern"); Set<FileType> result = fileTypeRegistry .getFileTypes() .stream() .filter(candidate -> canBeMergedByNamePattern(namePattern, candidate)) .peek(candidate -> candidate.addNamePattern(namePattern)) .collect(toSet()); if (result.isEmpty()) { result.add(registerNewFileType(image, null, namePattern)); } return result; }
public FileType get( @Nullable SVGResource image, @NotNull String extension, @Nullable String namePattern) { if (isNullOrEmpty(namePattern)) { return getByExtension(image, extension); } checkArgument(!isNullOrEmpty(extension), "Can not register File Type without extension"); Optional<FileType> fileTypeOptional = fileTypeRegistry .getFileTypes() .stream() .filter(candidate -> extension.equals(candidate.getExtension())) .filter(candidate -> canBeMergedByNamePattern(namePattern, candidate)) .findAny(); FileType fileType = fileTypeOptional.orElseGet(() -> registerNewFileType(image, extension, null)); fileType.addNamePattern(namePattern); return fileType; }