Index
All Classes and Interfaces|All Packages|Serialized Form
A
- AARCH64 - Enum constant in enum class dev.hydraulic.types.machines.CPUArchitectures
-
64 bit ARM as used in modern phones, Apple Silicon etc.
- ALIAS_MAP - Static variable in enum class dev.hydraulic.types.machines.CLibraries
-
An unmodifiable map of lower case names and aliases of well known operating systems.
- ALIAS_MAP - Static variable in enum class dev.hydraulic.types.machines.CPUArchitectures
-
An unmodifiable map of lower case names and aliases of well known operating systems.
- ALIAS_MAP - Static variable in enum class dev.hydraulic.types.machines.OperatingSystems
-
An unmodifiable map of lower case names and aliases of well known operating systems.
- AMD64 - Enum constant in enum class dev.hydraulic.types.machines.CPUArchitectures
-
The modern 64 bit version of the x86 architecture.
- Android - Enum constant in enum class dev.hydraulic.types.machines.OperatingSystems
-
Any OS that is able to legally use the Android trademark, meaning it either has passed the compliance tests or would definitely do if it were allowed.
- apple() - Static method in class dev.hydraulic.types.machines.OperatingSystems.Families
-
Returns a set containing all the known operating systems that are created by Apple.
- application(T, String) - Static method in class dev.hydraulic.types.mimetyped.MimeTypedObject
-
application/subtype
- ARM7 - Enum constant in enum class dev.hydraulic.types.machines.CPUArchitectures
-
32 bit ARM as used in older devices.
C
- charAt(int) - Method in class dev.hydraulic.types.mimetyped.MimeTypedString
- chars() - Method in class dev.hydraulic.types.mimetyped.MimeTypedString
- ChromeOS - Enum constant in enum class dev.hydraulic.types.machines.OperatingSystems
-
Google ChromeOS.
- CLibraries - Enum Class in dev.hydraulic.types.machines
-
Enumerates glibc and muslc, the two C libraries that matter on Linux.
- CLibrary - Interface in dev.hydraulic.types.machines
-
Models a C library for platforms that have multiple competing implementations.
- codePoints() - Method in class dev.hydraulic.types.mimetyped.MimeTypedString
- compareTo(MimeTypedString) - Method in class dev.hydraulic.types.mimetyped.MimeTypedString
- content() - Method in interface dev.hydraulic.types.mimetyped.MimeTyped
-
The wrapped content.
- content() - Method in class dev.hydraulic.types.mimetyped.MimeTypedObject
-
The wrapped content.
- content() - Method in class dev.hydraulic.types.mimetyped.MimeTypedString
-
The wrapped content.
- CPUArchitecture - Interface in dev.hydraulic.types.machines
-
A type that models a coarse-grained CPU architecture.
- CPUArchitectures - Enum Class in dev.hydraulic.types.machines
-
Major CPU architecture families and common names for them.
- csv(String) - Static method in class dev.hydraulic.types.mimetyped.MimeTypedString
-
text/csv - current() - Static method in interface dev.hydraulic.types.machines.Machine
-
Returns a machine representing the currently executing JVM's environment, based on reading system properties and file paths.
D
- dev.hydraulic.types - module dev.hydraulic.types
-
Defines a collection of general types that are useful for defining APIs.
- dev.hydraulic.types.machines - package dev.hydraulic.types.machines
-
Types for modelling aspects of a computer relevant to the execution of native code, such as the operating system, CPU architecture and C library.
- dev.hydraulic.types.mimetyped - package dev.hydraulic.types.mimetyped
E
- equals(Object) - Method in class dev.hydraulic.types.mimetyped.MimeTypedObject
- equals(Object) - Method in class dev.hydraulic.types.mimetyped.MimeTypedString
F
- FreeBSD - Enum constant in enum class dev.hydraulic.types.machines.OperatingSystems
-
FreeBSD.
- from(String) - Static method in interface dev.hydraulic.types.machines.CLibrary
-
Returns a C library from the
alias mapor throwsUnrecognizedAliasException. - from(String) - Static method in interface dev.hydraulic.types.machines.CPUArchitecture
-
Returns a C library from the
alias mapor throwsUnrecognizedAliasException. - from(String) - Static method in interface dev.hydraulic.types.machines.OperatingSystem
-
Looks up an operating system in the
OperatingSystems.ALIAS_MAPor throwsUnrecognizedAliasException. - fromOrNull(String) - Static method in interface dev.hydraulic.types.machines.CLibrary
-
Lower-cases the name parameter and then looks it up in the
alias map. - fromOrNull(String) - Static method in interface dev.hydraulic.types.machines.CPUArchitecture
-
Lower-cases the name parameter and then looks it up in the
alias map. - fromOrNull(String) - Static method in interface dev.hydraulic.types.machines.OperatingSystem
-
Lower-cases the name parameter and then looks it up in the
OperatingSystems.ALIAS_MAP. - fromOrUnknown(String) - Static method in interface dev.hydraulic.types.machines.CPUArchitecture
-
Same as
CPUArchitecture.from(java.lang.String)but returnsOperatingSystems.UNKNOWNinstead of throwing an exception if the name isn't recognized. - fromOrUnknown(String) - Static method in interface dev.hydraulic.types.machines.OperatingSystem
-
Same as
OperatingSystem.from(java.lang.String)but returnsOperatingSystems.UNKNOWNinstead of throwing an exception if the name isn't recognized.
G
- getAliases() - Method in enum class dev.hydraulic.types.machines.CLibraries
- getAliases() - Method in enum class dev.hydraulic.types.machines.CPUArchitectures
- getAliases() - Method in interface dev.hydraulic.types.machines.MachineCompatibilityAspect
-
A set containing the
identifierand any other strings that are widely used in the industry to identify this OS, all in lower case. - getAliases() - Method in enum class dev.hydraulic.types.machines.OperatingSystems
- getCLibrary() - Method in interface dev.hydraulic.types.machines.LinuxMachine
-
Which type of C Library (glibc or muslc) this machine uses.
- getCPU() - Method in interface dev.hydraulic.types.machines.Machine
-
The CPU architecture.
- getDisplayName() - Method in enum class dev.hydraulic.types.machines.CLibraries
- getDisplayName() - Method in enum class dev.hydraulic.types.machines.CPUArchitectures
- getDisplayName() - Method in interface dev.hydraulic.types.machines.MachineCompatibilityAspect
-
Should return the display name of an operating system, suitable for presentation to humans.
- getDisplayName() - Method in enum class dev.hydraulic.types.machines.OperatingSystems
- getDistributionReverseDNSName() - Method in interface dev.hydraulic.types.machines.LinuxMachine
-
The reversed domain name of the primary website used by this Linux distribution project, or null if unknown/irrelevant.
- getIdentifier() - Method in enum class dev.hydraulic.types.machines.CLibraries
- getIdentifier() - Method in enum class dev.hydraulic.types.machines.CPUArchitectures
- getIdentifier() - Method in interface dev.hydraulic.types.machines.MachineCompatibilityAspect
-
The operating system name in a form suitable for use as an identifier in code or filing systems, i.e.
- getIdentifier() - Method in enum class dev.hydraulic.types.machines.OperatingSystems
- getOS() - Method in interface dev.hydraulic.types.machines.Machine
-
The operating system, without version information.
- getVendor() - Method in enum class dev.hydraulic.types.machines.CLibraries
- getVendor() - Method in enum class dev.hydraulic.types.machines.CPUArchitectures
- getVendor() - Method in interface dev.hydraulic.types.machines.MachineCompatibilityAspect
-
Returns the display name of the organization that makes this OS, or "Open source".
- getVendor() - Method in enum class dev.hydraulic.types.machines.OperatingSystems
- GLIBC - Enum constant in enum class dev.hydraulic.types.machines.CLibraries
-
The GNU C Library, also known just as "gnu".
H
- hashCode() - Method in class dev.hydraulic.types.mimetyped.MimeTypedObject
- hashCode() - Method in class dev.hydraulic.types.mimetyped.MimeTypedString
- html(String) - Static method in class dev.hydraulic.types.mimetyped.MimeTypedString
-
text/html
I
- image(T, String) - Static method in class dev.hydraulic.types.mimetyped.MimeTypedObject
-
image/subtype
- iOS - Enum constant in enum class dev.hydraulic.types.machines.OperatingSystems
-
Apple's iconic mobile operating system.
- iPadOS - Enum constant in enum class dev.hydraulic.types.machines.OperatingSystems
-
The variant of iOS that runs on iPads.
J
- json(String) - Static method in class dev.hydraulic.types.mimetyped.MimeTypedString
-
application/json
K
- known - Variable in exception dev.hydraulic.types.machines.UnrecognizedAliasException
-
The available options.
L
- length() - Method in class dev.hydraulic.types.mimetyped.MimeTypedString
- Linux - Enum constant in enum class dev.hydraulic.types.machines.OperatingSystems
-
Any desktop/server/embedded Linux distribution that isn't more accurately described by one of the other entries.
- LINUX_AARCH64 - Static variable in interface dev.hydraulic.types.machines.Machine
-
An immutable
LinuxMachinewith no distribution domain, AARCH64 and glibc. - LINUX_AARCH64_MUSLC - Static variable in interface dev.hydraulic.types.machines.Machine
-
An immutable
LinuxMachinewith no distribution domain, AARCH64 and muslc. - LINUX_AMD64 - Static variable in interface dev.hydraulic.types.machines.Machine
-
An immutable
LinuxMachinewith no distribution domain, AMD64 and glibc. - LINUX_AMD64_MUSLC - Static variable in interface dev.hydraulic.types.machines.Machine
-
An immutable
LinuxMachinewith no distribution domain, AMD64 and muslc. - linuxKernelBased() - Static method in class dev.hydraulic.types.machines.OperatingSystems.Families
-
Returns a set containing all the known operating systems that use a Linux kernel, regardless of whether you can compile normal Linux software on them.
- LinuxMachine - Interface in dev.hydraulic.types.machines
-
Models a machine that runs Linux specifically, adding the additional detail of which C library and distribution it uses.
M
- Machine - Interface in dev.hydraulic.types.machines
-
Represents combined aspects of a computer that can affect binary compatibility.
- MachineCompatibilityAspect - Interface in dev.hydraulic.types.machines
-
Base interface for objects that represents some component or interface of a computer that affects application compatibility.
- macOS - Enum constant in enum class dev.hydraulic.types.machines.OperatingSystems
-
Apple macOS 10+.
- MACOS_AARCH64 - Static variable in interface dev.hydraulic.types.machines.Machine
-
An immutable
Machinewith macOS on AARCH64. - MACOS_AMD64 - Static variable in interface dev.hydraulic.types.machines.Machine
-
An immutable
Machinewith macOS on AMD64. - markdown(String) - Static method in class dev.hydraulic.types.mimetyped.MimeTypedString
-
text/markdown - MIME_TYPE_THEN_CONTENT - Static variable in class dev.hydraulic.types.mimetyped.MimeTypedString
-
A comparator that sorts first by mime type, and then by content.
- mimeType() - Method in interface dev.hydraulic.types.mimetyped.MimeTyped
-
The MIME type.
- mimeType() - Method in class dev.hydraulic.types.mimetyped.MimeTypedObject
-
The MIME type.
- mimeType() - Method in class dev.hydraulic.types.mimetyped.MimeTypedString
-
The MIME type.
- MimeType - Interface in dev.hydraulic.types.mimetyped
-
A root marker interfaces for interfaces representing MIME types, arranged in a sub-typing relationships.
- MimeType.application - Interface in dev.hydraulic.types.mimetyped
- MimeType.application.gzip - Interface in dev.hydraulic.types.mimetyped
- MimeType.application.octetStream - Interface in dev.hydraulic.types.mimetyped
- MimeType.application.vnd - Interface in dev.hydraulic.types.mimetyped
- MimeType.application.xml - Interface in dev.hydraulic.types.mimetyped
- MimeType.audio - Interface in dev.hydraulic.types.mimetyped
- MimeType.audio.aac - Interface in dev.hydraulic.types.mimetyped
- MimeType.audio.mp4 - Interface in dev.hydraulic.types.mimetyped
- MimeType.audio.ogg - Interface in dev.hydraulic.types.mimetyped
- MimeType.audio.speex - Interface in dev.hydraulic.types.mimetyped
- MimeType.audio.vnd - Interface in dev.hydraulic.types.mimetyped
- MimeType.audio.vorbis - Interface in dev.hydraulic.types.mimetyped
- MimeType.audio.webm - Interface in dev.hydraulic.types.mimetyped
- MimeType.example - Interface in dev.hydraulic.types.mimetyped
- MimeType.font - Interface in dev.hydraulic.types.mimetyped
- MimeType.image - Interface in dev.hydraulic.types.mimetyped
- MimeType.image.gif - Interface in dev.hydraulic.types.mimetyped
- MimeType.image.jpeg - Interface in dev.hydraulic.types.mimetyped
- MimeType.image.png - Interface in dev.hydraulic.types.mimetyped
- MimeType.image.svg - Interface in dev.hydraulic.types.mimetyped
- MimeType.image.tiff - Interface in dev.hydraulic.types.mimetyped
- MimeType.image.vnd - Interface in dev.hydraulic.types.mimetyped
- MimeType.image.webp - Interface in dev.hydraulic.types.mimetyped
- MimeType.message - Interface in dev.hydraulic.types.mimetyped
- MimeType.model - Interface in dev.hydraulic.types.mimetyped
- MimeType.multipart - Interface in dev.hydraulic.types.mimetyped
- MimeType.multipart.byteranges - Interface in dev.hydraulic.types.mimetyped
- MimeType.multipart.form_data - Interface in dev.hydraulic.types.mimetyped
- MimeType.text - Interface in dev.hydraulic.types.mimetyped
- MimeType.text.css - Interface in dev.hydraulic.types.mimetyped
- MimeType.text.csv - Interface in dev.hydraulic.types.mimetyped
- MimeType.text.html - Interface in dev.hydraulic.types.mimetyped
- MimeType.text.javascript - Interface in dev.hydraulic.types.mimetyped
- MimeType.text.json - Interface in dev.hydraulic.types.mimetyped
- MimeType.text.markdown - Interface in dev.hydraulic.types.mimetyped
- MimeType.text.plain - Interface in dev.hydraulic.types.mimetyped
- MimeType.text.rtf - Interface in dev.hydraulic.types.mimetyped
- MimeType.text.vnd - Interface in dev.hydraulic.types.mimetyped
- MimeType.video - Interface in dev.hydraulic.types.mimetyped
- MimeType.video.mp4 - Interface in dev.hydraulic.types.mimetyped
- MimeType.video.webm - Interface in dev.hydraulic.types.mimetyped
- MimeTyped<T,
M extends MimeType> - Interface in dev.hydraulic.types.mimetyped -
Implementations wrap an object (e.g.
- MimeTypedObject<T,
M extends MimeType> - Class in dev.hydraulic.types.mimetyped -
A value-based type that wraps an object (byte array, byte buffer, stream, or any arbitrary object) with an associated MIME type or MIME type registry.
- MimeTypedObject(T, String) - Constructor for class dev.hydraulic.types.mimetyped.MimeTypedObject
-
Constructs an immutable mime-typed string.
- MimeTypedString<M extends MimeType> - Class in dev.hydraulic.types.mimetyped
-
A value-based type that combines a string with an associated MIME type.
- MimeTypedString(String, String) - Constructor for class dev.hydraulic.types.mimetyped.MimeTypedString
-
Constructs an immutable mime-typed string.
- MUSLC - Enum constant in enum class dev.hydraulic.types.machines.CLibraries
-
The muslc library as used in Alpine Linux, aliased by "musl" and "alpine".
N
- NetBSD - Enum constant in enum class dev.hydraulic.types.machines.OperatingSystems
-
NetBSD
O
- octetStream(T) - Static method in class dev.hydraulic.types.mimetyped.MimeTypedObject
-
application/octet-stream
- of(CPUArchitecture) - Static method in interface dev.hydraulic.types.machines.LinuxMachine
-
Returns an immutable object of the given CPU architecture and defaulting to glibc / no distribution domain.
- of(CPUArchitecture, CLibrary) - Static method in interface dev.hydraulic.types.machines.LinuxMachine
-
Returns an immutable object holding the given values or defaults and no distributiond domain.
- of(CPUArchitecture, CLibrary, String) - Static method in interface dev.hydraulic.types.machines.LinuxMachine
-
Returns an immutable object holding the given values.
- of(OperatingSystem, CPUArchitecture) - Static method in interface dev.hydraulic.types.machines.Machine
-
Returns an object that implements Machine and possibly LinuxMachine (defaulting to glibc as the C library and no distribution domain), given the specified operating system and CPU architecture.
- OpenBSD - Enum constant in enum class dev.hydraulic.types.machines.OperatingSystems
-
OpenBSD
- OperatingSystem - Interface in dev.hydraulic.types.machines
-
A type that represents an operating system or family of closely related operating systems.
- OperatingSystems - Enum Class in dev.hydraulic.types.machines
-
An enumeration of well known, actively used operating systems.
- OperatingSystems.Families - Class in dev.hydraulic.types.machines
-
Various groupings of well known operating systems useful for compatibility testing purposes.
P
- parse(String) - Static method in interface dev.hydraulic.types.machines.Machine
-
Converts a string to a machine spec by parsing it in a lenient manner.
- parseAll(String, boolean) - Static method in interface dev.hydraulic.types.machines.Machine
-
Converts a string to a machine spec by parsing it in a lenient manner.
- plain(String) - Static method in class dev.hydraulic.types.mimetyped.MimeTypedString
-
text/plain
R
- requested - Variable in exception dev.hydraulic.types.machines.UnrecognizedAliasException
-
The name that wasn't known.
- RISCV - Enum constant in enum class dev.hydraulic.types.machines.CPUArchitectures
-
The 64 bit variant of the open source RISC-V architecture.
S
- Solaris - Enum constant in enum class dev.hydraulic.types.machines.OperatingSystems
-
Solaris and any derivatives.
- subSequence(int, int) - Method in class dev.hydraulic.types.mimetyped.MimeTypedString
T
- text(String, String) - Static method in class dev.hydraulic.types.mimetyped.MimeTypedString
-
Returns the text as
text/subtype. - toString() - Method in class dev.hydraulic.types.mimetyped.MimeTypedObject
-
Returns
[mime/type] content. - toString() - Method in class dev.hydraulic.types.mimetyped.MimeTypedString
-
Returns
MimeTypedString.content. - tvOS - Enum constant in enum class dev.hydraulic.types.machines.OperatingSystems
-
Apple TV's operating system.
U
- unix() - Static method in class dev.hydraulic.types.machines.OperatingSystems.Families
-
Returns a set containing all the known operating systems that are generally considered to be source compatible with UNIX operating systems.
- UNKNOWN - Enum constant in enum class dev.hydraulic.types.machines.CPUArchitectures
-
For representing an unknown architecture, or where the CPU architecture is irrelevant.
- UNKNOWN - Enum constant in enum class dev.hydraulic.types.machines.OperatingSystems
-
Any other operating system that isn't known by this list.
- UnrecognizedAliasException - Exception in dev.hydraulic.types.machines
-
Thrown if a name or alias isn't recognized.
V
- valueOf(String) - Static method in enum class dev.hydraulic.types.machines.CLibraries
-
Returns the enum constant of this class with the specified name.
- valueOf(String) - Static method in enum class dev.hydraulic.types.machines.CPUArchitectures
-
Returns the enum constant of this class with the specified name.
- valueOf(String) - Static method in enum class dev.hydraulic.types.machines.OperatingSystems
-
Returns the enum constant of this class with the specified name.
- values() - Static method in enum class dev.hydraulic.types.machines.CLibraries
-
Returns an array containing the constants of this enum class, in the order they are declared.
- values() - Static method in enum class dev.hydraulic.types.machines.CPUArchitectures
-
Returns an array containing the constants of this enum class, in the order they are declared.
- values() - Static method in enum class dev.hydraulic.types.machines.OperatingSystems
-
Returns an array containing the constants of this enum class, in the order they are declared.
W
- watchOS - Enum constant in enum class dev.hydraulic.types.machines.OperatingSystems
-
Apple Watch's operating system.
- Windows - Enum constant in enum class dev.hydraulic.types.machines.OperatingSystems
-
Microsoft Windows.
- WINDOWS_AARCH64 - Static variable in interface dev.hydraulic.types.machines.Machine
-
An immutable
Machinewith Windows on AARCH64. - WINDOWS_AMD64 - Static variable in interface dev.hydraulic.types.machines.Machine
-
An immutable
Machinewith Windows on AMD64.
X
- X86 - Enum constant in enum class dev.hydraulic.types.machines.CPUArchitectures
-
The classic 32 bit architecture.
- xml(String) - Static method in class dev.hydraulic.types.mimetyped.MimeTypedString
-
application/xml
Z
- ZARCH - Enum constant in enum class dev.hydraulic.types.machines.CPUArchitectures
-
The z/Architecture used in IBM mainframes.
- zOS - Enum constant in enum class dev.hydraulic.types.machines.OperatingSystems
-
IBM zOS, a mainframe operating system.
All Classes and Interfaces|All Packages|Serialized Form