Package org.hl7.fhir.utilities
Class Utilities
- java.lang.Object
-
- org.hl7.fhir.utilities.Utilities
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classUtilities.DecimalStatusstatic interfaceUtilities.FileVisitor
-
Constructor Summary
Constructors Constructor Description Utilities()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidanalyseStringDiffs(Set<String> source, Set<String> target, Set<String> missed, Set<String> extra)static StringappendDerivedTextToBase(String baseText, String derivedText)Appends a text from a derived element to its base element.static StringappendForwardSlash(String definitions)static StringappendPeriod(String s)static StringappendSlash(String definitions)static StringasCSV(List<String> strings)static StringasHtmlBr(String prefix, List<String> strings)static voidbytesToFile(byte[] content, String filename)static StringcamelCase(String value)static Stringcapitalize(String s)static StringchangeFileExt(String name, String ext)static intcharCount(String s, char c)static booleancharInRange(char ch, char a, char z)static booleancharInSet(char value, char... array)static Utilities.DecimalStatuscheckDecimal(String value, boolean allowExponent, boolean allowLeadingZero)static booleancheckFile(String purpose, String dir, String file, List<String> errors)static booleancheckFolder(String dir, List<String> errors)static StringcleanFileName(String badFileName)static StringcleanupTextString(String contents)static voidclearDirectory(String folder, String... exemptions)static booleancompareIgnoreWhitespace(File f1, File f2)static booleancompareIgnoreWhitespace(String fn1, String fn2)static voidcopyDirectory(String sourceFolder, String destFolder, FileNotifier notifier)static voidcopyDirectory2(String sourceFolder, String destFolder, FileNotifier.FileNotifier2 notifier)static voidcopyFile(File sourceFile, File destFile)static voidcopyFile(String source, String dest)static voidcopyFileToDirectory(File source, File destDir)static intcountFilesInDirectory(String dirName)static FilecreateDirectory(String path)static FilecreateTempFile(String prefix, String suffix)static voiddeleteAllFiles(String folder, String type)static voiddeleteEmptyFolders(File df)static voiddeleteTempFiles()static StringdescribeDuration(Duration d)static StringdescribeSize(int length)static StringdescribeSize(long length)static StringencodeUri(String v)static booleanendsWithInList(String s, String... list)static booleanendsWithInList(String s, Collection<String> list)static booleanequals(String one, String two)static booleanequivalent(String l, String r)static booleanequivalentNumber(String l, String r)static StringescapeJava(String doco)static StringescapeJson(String value)static StringescapeXml(String doco)static booleanexistsInList(int value, int... array)static booleanexistsInList(String value, String... array)static booleanexistsInList(String value, List<String> array)static booleanexistsInListNC(String value, String... array)static StringextractBaseUrl(String url)static StringfhirPathToXPath(String path)Only handles simple FHIRPath expressions of the type produced by the validatorstatic StringfileTitle(String file)static intfindinList(String[] list, String val)static IntegergetDatePrecision(String value)static IntegergetDecimalPrecision(String value)static StringgetDirectoryForFile(String filepath)static StringgetFileExtension(String fn)static StringgetFileNameForName(String name)static StringgetRelativePath(String root, String path)static IntegergetTimePrecision(String value)static StringhighBoundaryForDate(String value, int precision)static StringhighBoundaryForDecimal(String value, int precision)static StringhighBoundaryForTime(String value, int precision)static Stringhumanize(String code)static booleanisAbsoluteFileName(String source)static booleanisAbsoluteUrl(String ref)static booleanisAbsoluteUrlLinkable(String ref)static booleanisAlphabetic(char c)static booleanisAsciiChar(char ch)static booleanisDecimal(String value, boolean allowExponent)static booleanisDecimal(String value, boolean allowExponent, boolean allowLeadingZero)static booleanisDigit(char c)static booleanisHex(String string)static booleanisInteger(String string)static booleanisLong(String string)static booleanisOid(String cc)static booleanisPlural(String word)static booleanisToken(String tail)static booleanisTokenChar(char ch)static booleanisURL(String s)static booleanisValidId(String id)static booleanisValidOID(String oid)static booleanisValidUUID(String uuid)static booleanisWhitespace(String s)static booleanisWindows()static List<String>listAllFiles(String path, List<String> ignoreList)static StringlistCanonicalUrls(Set<String> keys)static StringlowBoundaryForDate(String value, int precision)static StringlowBoundaryForDecimal(String value, int precision)static StringlowBoundaryForTime(String value, int precision)static StringmakeId(String name)static ObjectmakeSingleLine(String text)static StringmakeUuidLC()static StringmakeUuidUrn()static Stringnmtokenize(String cs)static StringnormaliseEolns(String value)static Stringnormalize(String s)static StringnormalizeSameCase(String s)static booleannoString(String v)static StringoidRoot(String id)static StringoidTail(String id)static StringpadInt(int i, int len)static StringpadInt(long i, int len)static StringpadLeft(String src, char c, int len)static StringpadRight(String src, char c, int len)static intparseInt(String value, int def)static Stringpath(String... args)static StringpathURL(String... args)static Stringpluralize(String word, int count)static StringpluralizeMe(String word)Returns the plural form of the word in the string.static StringremovePeriod(String s)static List<String>sorted(Set<String> set)static String[]splitByCamelCase(String name)static List<byte[]>splitBytes(byte[] array, byte[] delimiter)static StringsplitLineForLength(String line, int prefixLength, int indent, int allowedLength)static booleanstartsWithInList(String s, String... list)static booleanstartsWithInList(String s, Collection<String> list)static StringstringJoin(String sep, String... array)static StringstripBOM(String string)static StringsystemEol()static Stringtitleize(String s)static StringtoString(String[] expected)static StringunCamelCase(String name)static Stringuncapitalize(String s)static StringunescapeJson(String json)static StringunescapeXml(String xml)static voidunzip(InputStream zip, String target)static voidunzip(InputStream zip, Path target)static StringupperCamelCase(String value)static StringURLDecode(String ref)static StringURLEncode(String string)static voidvisitFiles(File folder, String extension, Utilities.FileVisitor visitor)static voidvisitFiles(String folder, String extension, Utilities.FileVisitor visitor)static PathzipSlipProtect(ZipEntry zipEntry, Path targetDir)
-
-
-
Field Detail
-
ONE_MB
public static final int ONE_MB
- See Also:
- Constant Field Values
-
GB
public static final String GB
- See Also:
- Constant Field Values
-
MB
public static final String MB
- See Also:
- Constant Field Values
-
KB
public static final String KB
- See Also:
- Constant Field Values
-
BT
public static final String BT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Utilities
public Utilities()
-
-
Method Detail
-
pluralizeMe
public static String pluralizeMe(String word)
Returns the plural form of the word in the string.Examples:
inflector.pluralize("post") #=> "posts" inflector.pluralize("octopus") #=> "octopi" inflector.pluralize("sheep") #=> "sheep" inflector.pluralize("words") #=> "words" inflector.pluralize("the blue mailman") #=> "the blue mailmen" inflector.pluralize("CamelOctopus") #=> "CamelOctopi"Note that if the
Object.toString()is called on the supplied object, so this method works for non-strings, too.- Parameters:
word- the word that is to be pluralized.- Returns:
- the pluralized form of the word, or the word itself if it could not be pluralized
- See Also:
Inflector.singularize(Object)
-
isDecimal
public static boolean isDecimal(String value, boolean allowExponent, boolean allowLeadingZero)
-
checkDecimal
public static Utilities.DecimalStatus checkDecimal(String value, boolean allowExponent, boolean allowLeadingZero)
-
upperCamelCase
public static String upperCamelCase(String value)
-
capitalize
public static String capitalize(String s)
-
copyDirectory
public static void copyDirectory(String sourceFolder, String destFolder, FileNotifier notifier) throws IOException, FHIRException
- Throws:
IOExceptionFHIRException
-
copyDirectory2
public static void copyDirectory2(String sourceFolder, String destFolder, FileNotifier.FileNotifier2 notifier) throws IOException, FHIRException
- Throws:
IOExceptionFHIRException
-
copyFile
public static void copyFile(String source, String dest) throws IOException
- Throws:
IOException
-
copyFile
public static void copyFile(File sourceFile, File destFile) throws IOException
- Throws:
IOException
-
checkFolder
public static boolean checkFolder(String dir, List<String> errors) throws IOException
- Throws:
IOException
-
checkFile
public static boolean checkFile(String purpose, String dir, String file, List<String> errors) throws IOException
- Throws:
IOException
-
clearDirectory
public static void clearDirectory(String folder, String... exemptions) throws IOException
- Throws:
IOException
-
createDirectory
public static File createDirectory(String path) throws IOException
- Throws:
IOException
-
changeFileExt
public static String changeFileExt(String name, String ext)
-
cleanupTextString
public static String cleanupTextString(String contents)
-
bytesToFile
public static void bytesToFile(byte[] content, String filename) throws IOException
- Throws:
IOException
-
appendSlash
public static String appendSlash(String definitions)
-
appendForwardSlash
public static String appendForwardSlash(String definitions)
-
normaliseEolns
public static String normaliseEolns(String value)
-
unescapeXml
public static String unescapeXml(String xml) throws FHIRException
- Throws:
FHIRException
-
unescapeJson
public static String unescapeJson(String json) throws FHIRException
- Throws:
FHIRException
-
path
public static String path(String... args) throws IOException
- Throws:
IOException
-
nmtokenize
public static String nmtokenize(String cs)
-
isTokenChar
public static boolean isTokenChar(char ch)
-
isDigit
public static boolean isDigit(char c)
-
isAlphabetic
public static boolean isAlphabetic(char c)
-
getDirectoryForFile
public static String getDirectoryForFile(String filepath)
-
appendPeriod
public static String appendPeriod(String s)
-
removePeriod
public static String removePeriod(String s)
-
escapeJava
public static String escapeJava(String doco)
-
splitByCamelCase
public static String[] splitByCamelCase(String name)
-
normalizeSameCase
public static String normalizeSameCase(String s)
-
copyFileToDirectory
public static void copyFileToDirectory(File source, File destDir) throws IOException
- Throws:
IOException
-
isWhitespace
public static boolean isWhitespace(String s)
-
charInSet
public static boolean charInSet(char value, char... array)
-
charInRange
public static boolean charInRange(char ch, char a, char z)
-
existsInList
public static boolean existsInList(String value, List<String> array)
-
existsInList
public static boolean existsInList(String value, String... array)
-
existsInList
public static boolean existsInList(int value, int... array)
-
existsInListNC
public static boolean existsInListNC(String value, String... array)
-
stringJoin
public static String stringJoin(String sep, String... array)
-
getFileNameForName
public static String getFileNameForName(String name)
-
deleteTempFiles
public static void deleteTempFiles() throws IOException
- Throws:
IOException
-
createTempFile
public static File createTempFile(String prefix, String suffix) throws IOException
- Throws:
IOException
-
isAsciiChar
public static boolean isAsciiChar(char ch)
-
makeUuidLC
public static String makeUuidLC()
-
makeUuidUrn
public static String makeUuidUrn()
-
escapeJson
public static String escapeJson(String value)
-
uncapitalize
public static String uncapitalize(String s)
-
deleteAllFiles
public static void deleteAllFiles(String folder, String type)
-
compareIgnoreWhitespace
public static boolean compareIgnoreWhitespace(File f1, File f2) throws IOException
- Throws:
IOException
-
compareIgnoreWhitespace
public static boolean compareIgnoreWhitespace(String fn1, String fn2) throws IOException
- Throws:
IOException
-
isAbsoluteUrl
public static boolean isAbsoluteUrl(String ref)
-
isAbsoluteUrlLinkable
public static boolean isAbsoluteUrlLinkable(String ref)
-
equivalent
public static boolean equivalent(String l, String r)
-
equivalentNumber
public static boolean equivalentNumber(String l, String r)
-
getFileExtension
public static String getFileExtension(String fn)
-
unCamelCase
public static String unCamelCase(String name)
-
isAbsoluteFileName
public static boolean isAbsoluteFileName(String source)
-
isWindows
public static boolean isWindows()
-
splitLineForLength
public static String splitLineForLength(String line, int prefixLength, int indent, int allowedLength)
-
countFilesInDirectory
public static int countFilesInDirectory(String dirName)
-
visitFiles
public static void visitFiles(String folder, String extension, Utilities.FileVisitor visitor) throws FileNotFoundException, IOException
- Throws:
FileNotFoundExceptionIOException
-
visitFiles
public static void visitFiles(File folder, String extension, Utilities.FileVisitor visitor) throws FileNotFoundException, IOException
- Throws:
FileNotFoundExceptionIOException
-
extractBaseUrl
public static String extractBaseUrl(String url)
-
listCanonicalUrls
public static String listCanonicalUrls(Set<String> keys)
-
analyseStringDiffs
public static void analyseStringDiffs(Set<String> source, Set<String> target, Set<String> missed, Set<String> extra)
-
fhirPathToXPath
public static String fhirPathToXPath(String path)
Only handles simple FHIRPath expressions of the type produced by the validator- Parameters:
path-- Returns:
-
describeDuration
public static String describeDuration(Duration d)
-
startsWithInList
public static boolean startsWithInList(String s, String... list)
-
startsWithInList
public static boolean startsWithInList(String s, Collection<String> list)
-
endsWithInList
public static boolean endsWithInList(String s, String... list)
-
endsWithInList
public static boolean endsWithInList(String s, Collection<String> list)
-
describeSize
public static String describeSize(int length)
-
describeSize
public static String describeSize(long length)
-
splitBytes
public static List<byte[]> splitBytes(byte[] array, byte[] delimiter)
-
unzip
public static void unzip(InputStream zip, String target) throws IOException
- Throws:
IOException
-
unzip
public static void unzip(InputStream zip, Path target) throws IOException
- Throws:
IOException
-
zipSlipProtect
public static Path zipSlipProtect(ZipEntry zipEntry, Path targetDir) throws IOException
- Throws:
IOException
-
cleanFileName
public static String cleanFileName(String badFileName)
-
isValidUUID
public static boolean isValidUUID(String uuid)
-
isValidOID
public static boolean isValidOID(String oid)
-
findinList
public static int findinList(String[] list, String val)
-
lowBoundaryForDecimal
public static String lowBoundaryForDecimal(String value, int precision)
-
lowBoundaryForDate
public static String lowBoundaryForDate(String value, int precision)
-
lowBoundaryForTime
public static String lowBoundaryForTime(String value, int precision)
-
highBoundaryForTime
public static String highBoundaryForTime(String value, int precision)
-
highBoundaryForDecimal
public static String highBoundaryForDecimal(String value, int precision)
-
highBoundaryForDate
public static String highBoundaryForDate(String value, int precision)
-
getDecimalPrecision
public static Integer getDecimalPrecision(String value)
-
getDatePrecision
public static Integer getDatePrecision(String value)
-
getTimePrecision
public static Integer getTimePrecision(String value)
-
makeSingleLine
public static Object makeSingleLine(String text)
-
appendDerivedTextToBase
public static String appendDerivedTextToBase(@Nullable String baseText, String derivedText)
Appends a text from a derived element to its base element.- Parameters:
baseText- The text set in the base element, ornull.derivedText- The text set in the derived element, starting with "...".- Returns:
- The resulting text.
-
deleteEmptyFolders
public static void deleteEmptyFolders(File df)
-
getRelativePath
public static String getRelativePath(String root, String path)
-
-