/** * @param request * parameters used to generate the name. It cannot be null. * @return generates a new name from the given request */ public String generate(NameGenerationRequest request) { if (request == null) { throw new IllegalArgumentException("Unable to generate a name for a null request."); } String result = toSafeFilename(prefixTypesChain.process(prefix, preProcessRequest(request))); String osName = System.getProperty("os.name").toLowerCase(); if(osName.contains("win") || osName.contains("mac")) { // char based max length result = shortenFilenameCharLength(result, 255); } else { // bytes based max length result = shortenFilenameBytesLength(result, 255, StandardCharsets.UTF_8); } return result; }
/** * @param request * parameters used to generate the name. It cannot be null. * @return generates a new name from the given request */ public String generate(NameGenerationRequest request) { if (request == null) { throw new IllegalArgumentException("Unable to generate a name for a null request."); } String result = toSafeFilename(prefixTypesChain.process(prefix, preProcessRequest(request))); String osName = System.getProperty("os.name").toLowerCase(); if(osName.contains("win") || osName.contains("mac")) { // char based max length result = shortenFilenameCharLength(result, 255); } else { // bytes based max length result = shortenFilenameBytesLength(result, 255, StandardCharsets.UTF_8); } return result; }