All Classes and Interfaces
Class
Description
A message sent to indicate that an activity that might be monitored has occurred.
An object, often a collection or related type, to which objects can be added.
An alert with a proposed solution, intended to help IT staff resolve the issue.
Aligns a string within a given width using a padding character:
Align.center(String, int, char)
, Align.left(String, int, char)
or Align.right(String, int, char)
.A filter that includes all non-static fields of the given naming convention
Information about the progress of the current operation with no severity and which does not indicate any problem.
An object, often a collection or related type, to which objects can be appended.
Base class for KivaKit applications.
A unique string identifier for a KivaKit
Application
.Application metadata used in formulating command line usage help.
The string value of a single argument in a command line.
A list of
Argument
s passed on a command line and retrieved with CommandLine.arguments()
after command
line parsing with CommandLineParser
.Not Public API
Parses a command-line
Argument
, as defined by a Quantifier
, a type, a string converter for that type
and a human-readable description.A fluent builder for argument parsers.
Not Public API
Utility methods for working with arrays.
Provides methods to create "ASCII art", including:
Banners
Lines
Boxes
Bulleted lists
An
Stringable
sub-interface that traverses a tree of objects, adding information to an AsStringIndenter
object as it goes.Interface to an object that can produce one or more different kinds of string representations.
Holds state information during an object tree traversal by
AsIndentedString
.Converter to and from
EmailAttachment
objectsA
Mixin
that allows any object to have a set of attributes associated with it.Computes a simple average, as well as a minimum and maximum value from a series of double sample values.
Computes an average duration for a succession of samples.
Interface to a JDK method that takes a duration and time unit.
A base implementation of
CollectionChangeWatcher
.Base class for KivaKit components.
Base class for implementing converters.
Base class for classes that represent some kind of cardinal number.
A base implementation for extractors that handles edge conditions like exceptions as well as extracting lists from
arrays, maps and
Keyed
objects.Convert to/from local time
Converts time to and from a format that is a valid filename across Mac, Linux and Windows operating systems.
Factory that produces configured
Gson
JSON serializers via BaseGsonFactory.gson()
.A network resource accessible via HTTP.
A map that allows access to data by both index and key.
An implementation of
Iterator
that takes care of the basic logic of an iterator.A base class for bounded lists which adds a number of convenient methods as well as support for various KivaKit
interfaces, including
Indexable
, Sequence
, Addable
, Appendable
,and Sized
}.Base class for log implementations.
A base class for bounded maps which wraps a
Map
implementation.Base class for implementing message alarms.
Base class for network resources.
A base implementation of the
Resource
interface.A multicasting repeater which repeats all the messages it receives to a set of listeners.
Service Provider API
Kryo serializer extension class for serializing a particular type of object.
A set with a maximum size.
Service Provider API
Base class for conversions to and from String objects.
A bounded map from string to value.
The type of formatting to perform on log entries
Base class for implementing two-way converters.
A base implementation of
Validator
that provides convenience methods for reporting validation issues:Extends
BaseReadableResource
and provides a base implementation of the WritableResource
interface.A
Batcher
has a queue of element batches which are processed by one or more worker threads.A number of bits and various associated methods.
A
BitDiagram
is a character string that visually depicts one or more bit fields of a primitive value such as
an int or a long.The bit field for a given character in a bit diagram
Utility methods for manipulating bits
Converts to and from
EmailBody
models.Converts between booleans and strings.
A boolean functional interface that returns true or false for a given value.
Utility methods for boolean> values.
Interface to an object that has a boolean value
Broadcasts a message to zero or more listeners via
Broadcaster.transmit(Transmittable)
.A progress reporter that sends progress messages to a
Listener
as an operation proceeds.Information about a build, from the resource classpath resource /build.properties.
Represents an immutable byte count.
Converts to and from
Bytes
.An interface to any object whose size can be measured in bytes.
A map that has a fixed size and that deletes the oldest entries when that size is exceeded.
A simple callback interface.
A stack of KivaKit
Method
objects for a given thread (CallStack.stack(Thread)
or the current thread CallStack.stack()
.A
StringMap
where values that are added with BaseMap.put(Object, Object)
are automatically converted to
lowercase and can be retrieved with CaseFoldingStringMap.get(Object)
in a case-independent manner.Converts between different styles of casing:
camelCase
Capitalized
lower-hyphenated
UPPER_UNDERSCORE
Performs type-casting on a long value returned by
Castable.asLong()
Utility methods to cast numbers
Converts between
Class
objects and fully-qualified class names.Class utility methods
A map from class to value.
Interface to an object that can be cleared
An interface like java.io.
Closeable
, except that it does not throw an IOException
.Code that can be executed, returning a value, as opposed to
Runnable
which does not return a value.A codec is a
Compressor
and a Decompressor
.Information about a location in code, including the host and class.
Interface that listens to changes to a collection of objects.
An interface to an object that watches changes to a collection
Collection utility methods
Formats log entries into flexible delimited columns.
A parsed command line of switches and (non-switch) arguments.
Parses an array of command line arguments into a list of
SwitchList
of the form "-switch=value" and a list of
remaining non-switch arguments in an ArgumentList
.A simple wrapper around
CountDownLatch
that makes code easier to understand.A composite interface providing convenient functionality to KivaKit components.
A mixin for
Component
which can be implemented by a class that already extends another base class.An
Iterator
that wraps and iterates through a sequence of Iterator
s in the order they are added,
either by constructor or with CompoundIterator.add(Iterator)
.A set which contains any number of other sets by reference.
A compressor applies a compression algorithm to an
OutputStream
, yielding another (compressed) OutputStream
.A thread-safe subclass of
BroadcastingProgressReporter
.Keeps a count for each key allowing for safe concurrency.
A convenient implementation of
Set
using ConcurrentHashMap
.A mutable count value useful in lambdas and inner classes.
A value that can be retrieved with
ConcurrentMutableValue.get()
and mutated with ConcurrentMutableValue.set(Object)
or ConcurrentMutableValue.update(Function)
.Class for concurrent maps with a bounded number of values.
Level of certainty in the accuracy of something.
Converts to and from
Confidence
objects.Interface to an object that is configured by a certain kind of configuration object.
Listens for client connections on a given port.
A text log that logs to the console.
A simple logger for bootstrapping purposes (the logging system itself may need to do logging, for example, which can
lead to problems)
Writes messages to the console.
An interface for any object that can contain values, typically a collection.
A converter converts from one type to another.
The mode for copying resources.
Kryo types to register for kivakit-core
This is the base class for all unit tests.
Represents a count of something.
Interface to something that has a
Count
value.Converts to and from a
Count
Keeps a count for each key.
This class defines countries by name and relevant ISO codes.
Accesses the creation time of an object, such as a resource.
A high priority
Alert
that needs immediate attention.Represents a day of some
Day.Type
, such as a day of the week, month or year.The type of day
Typesafe value for day of week.
Note: For a detailed discussion, see KivaKit Debugging
Documentation
A decompressor applies a decompression algorithm to an
InputStream
, yielding another (decompressed) InputStream
.An
Iterable
that wraps another iterable, removing duplicate values.This class implements an iterator which can deduplicate the objects returned by the wrapped iterator.
Interface to something that can be deleted
Converts to and from a
Deployment
A set of
Deployment
objects, each being a set of settings objects.Tracks the difference between objects that are compared with
Differences.compare(String, Object, Object)
or Differences.compare(String, Iterable, Iterable)
.A message-digested password created with the
Base64
encoder in *java.util*.Represents a logical disk where folders and files are stored.
A service provider interface (SPI) for filesystem disks.
Converts a double to and from a string.
A quantizable object that can be turned into a double value.
Utility methods for working with double values
Doubles.fastParse(String, double)
- Fast parsing given a fixed number of decimal places
Doubles.format(double)
- The value formatted with only one decimal place
Doubles.format(double, int)
- The value formatted with the given number of decimal places
Doubles.inRange(double, double, double)
- Returns the given value constrained to the given range
Doubles.isBetweenInclusive(double, double, double)
- True if the value is in the given range
Doubles.rounded(double)
- Returns the given value rounded to the nearest int
A
Duration
is an immutable length of time stored as a number of nanoseconds using BigDecimal
.The range of values allowed for a given duration.
Converts the given
String
to a new Duration
object.Models an email with:
A 'from' email address
One or more 'to' email addresses
A subject
A body
Optional attachments
Time sent
An email address, according to RFC 5322.
Converts to and from an
EmailAddress
Converts to and from
EmailAddress
objectsAn email attachment specified by either a byte array or a filename.
The body of an email in plain text.
When triggered, sends the email composed by
EmailMessageAlarm.composeEmail(Rate)
using a registered EmailSender
implementation.An email sender.
Base configuration for all
EmailSender
s.A class for providing flexibility and consistency in the checking of states and parameters.
A validation problem reported by
Ensure
failures.Converts between strings and enum values.
Determines if two objects are equal.
Escapes different kinds of strings for JavaScript, SQL and XML.
A count value that is an estimate.
Converts to and from
Estimate
A
FileName
extension, such as ".txt" or ".jar".An extractor extracts a value from a source object of a given type.
A factory that creates an object.
Reporter of failure messages.
A problem that is severe enough to result in data loss, but not severe enough to halt the current operation.
A field archive serializes data into zip file entries in a
ZipArchive
.File abstraction that adds integrates files with the KivaKit resource mini-framework and adds a variety of useful
methods.
Converts to and from
File
objectsResolves
ResourceIdentifier
s that are file paths into file Resource
s.A file cache with the given root.
A list of files with useful methods added.
Converts to and from
FileList
sA file name, with a base name and an
Extension
.An abstraction for a path on any kind of filesystem or file-related data source.
Converts to and from
FilePath
sA service provider interface (SPI) for filesystem files.
Base class for all filesystem objects.
A service provider interface (SPI) common to all filesystem objects.
Service provider interface (SPI) for filesystems.
A filter which matches values allowing for boolean expressions
A filtered object has a list of filters to apply.
A piece of code that can be executed in a loop, and can filter out values.
Used by forEach() to determine which values should be counted, and which should not.
Converts a float to and from a string.
An object that can be flushed, like a queue or output stream.
Folder abstraction that extends
FileSystemObject
and implements the ResourceFolder
interface for
filesystems.Converts to and from
Folder
sResolves valid folder paths into
ResourceFolder
s.Type of traversal to perform
Type of folder
Watches for changes to the contents of a
Folder
.A list of folders with additional useful methods, including:
FolderList.asSet()
- This list as a set
FolderList.matching(Matcher)
- The folders in this list that match the given matcher
Converts to and from folder lists separated by commas
Removes nested files matching
FolderPruner.matcher(Matcher)
from the given folder when they meet expiration criteria.A service provider interface (SPI) for filesystem folders.
Converts a double to and from a formatted string, with or without commas and with a given number of decimal places.
Converts an Integer to and from a formatted string.
Converts a Long to and from a formatted string.
Handles message formatting, given a message and an argument array.
A simple frequency domain object.
Converts to and from a frequency, expressed as a duration between cycles.
An FTP network location that can be accessed in
FtpNetworkLocation.Mode.Passive
or FtpNetworkLocation.Mode.Active
.The FTP access mode, either passive or active.
Simple FTP downloader.
A glitch is an issue that represents a temporary problem where recovery will happen.
Creates
Gson
instancesInterface to an object that provides its own
GsonFactory
JSON
ObjectSerializer
using Google Gson library.This class defines a KivaKit
Project
.Codec for gzip compression.
Hashing utility methods
Converts between hexadecimal strings and long values.
Represents a host on a network, for which
Port
s can be retrieved.Converts to and from
Host
sRepresents an hour on a clock, either as a military hour or using the meridiem (am/pm) system.
Represents an hour of the week, for example Thursday at 1pm.
Represents a span of hours of the week in a local timezone.
The body of an email in HTML.
Network access constraints with
HttpBasicCredentials
included.Credentials for HTTP Basic authentication using clear text username and password.
A resource accessed by HTTP GET at the given network location using the given access constraints.
Resolves
ResourceIdentifier
s that are file paths into file Resource
s.An HTTP network location.
Converts to and from
HttpNetworkLocation
A resource accessed by HTTP POST at the given network location using the given access constraints.
A resource accessed by HTTP PUT at the given network location using the given access constraints.
The status of an HTTP request.
An object which has an identifier and is also
Quantizable
as are many objects.Base class for *long* identifiers
Converts to and from
Identifier
A thread-safe factory that produces identifiers
Converts a string to itself.
A set of elements stored by identity (as opposed to using the
AbstractSet.hashCode()
/ AbstractSet.equals(Object)
contract).The (relative) importance of
Message
s as a level from zero to one.Builds a string with indentation levels.
A sequence that has a known size and can be indexed, like a list, although not necessarily a collection.
An object which has an index and is also
Quantizable
as are many objects.Stores named values by name and also makes them accessible by index.
Uncategorized, generic information about the progress of the current operation with no severity and which does not
indicate any problem.
Initializes an object
A latch that waits for the initialization of something by another thread.
An algorithm (strategy) that initializes some object.
An
InputStream
stream wrapper that allows *one-time* reading of an input stream as a ReadableResource
.An identifier for a particular instance of a class.
Interface implemented by subclassed objects which need to operate on instances created by the subclass.
Converts between integers and strings
An identifier with an int sized value
Converts to and from an
IntegerIdentifier
Interface for common operations on integers (in the math sense, not in the sense of
Integer
).The logical intersection of two sets.
A
MapFactory
that maps a primitive int value to an object.Utility methods for int values.
Utility methods for buffering, closing, copying and flushing streams.
The style to copy in, either buffered or unbuffered
Utility methods that operate on
Iterable
s.Utility methods that operate on
Iterator
s.Launches an executable Java program from some, possibly remote, resource when
JarLauncher.run()
is called.The type of process to create
The type of redirection for process output
An object for working with a Java virtual machine, including getting properties, instrumentation and determining the
rough size of objects.
Exclude a field or class from sizeOfObjectGraph() calculations
Exclude a field or class from sizeOfObjectGraph() debug tracing
To mark objects passed to sizeOfObjectGraph() as not having cycles (for efficiency).
Joins collections together with separator characters
A
FailureReporter
that causes a JUnit test failure.An object which can retrieve a value given a key.
This class defines a KivaKit
Project
.Annotation for labeling fields that should be archived.
Specifies the KivaKit
Converter
to use when populating the annotated field or method.Marks a field or method as excluded from property operations
Marks a property as included in property operations
This annotation signals that a missing converted property should not be considered a problem.
A thread with methods to start, pause, resume and stop (pause and resume are implemented only in
RepeatingThread
).The execution states a thread can be in
Kryo
ObjectSerializer
provider.An implementation of
SerializationSession
using Kryo
.A factory that creates
KryoSerializationSession
s.A set of Kryo type registrations required to construct a
KryoSerializationSession
.Adds Kryo serialization testing to the
UnitTest
base class.ISO-2 and ISO-3 codes for the most common languages in the world.
Converts to and from a
LanguageIsoCode
.Contains methods that substitute-for, or extend Java language features.
A lazy-initializing value.
A lazy-initializing map.
Interface to an object having a length of time, measured in nanoseconds.
A level from 0 to 1
Converts to and from a
Level
Reads the provided
ReadableResource
as a series of lines, reporting progress to the given ProgressReporter
.Source of a
LineReader
and of lines of text.A
BaseMap
with LinkedHashMap
as the implementation.Handles messages through
Listener.onMessage(Message)
.A lazy-loaded object is able to clear references to reloadable data, reducing its memory footprint.
A locale constructed from a
LanguageIsoCode
and an optional CountryIsoCode
.The local
Host
.Snapshot of local time at a specific timezone
Serializes
LocalTime
objects to and from JSON in KivaKit format.Locates a value of the given type.
A lock subclass that adds convenient features to
ReentrantLock
.Accepts log entries for some purpose, such as writing them to a file or displaying them in a terminal window.
A log entry object containing a message and meta-information about the origin of the message and its nature.
Something that formats log entries in a text log
Information about the origin of a
LogEntry
, including the host and class.Creates new
Logger
instances via LoggerFactory.newLogger()
.Base classes for sets that represent an immutable logical view of two or more sets, combined with some sort of
logical operation.
Loads logs that implement the service provider interface (SPI)
Log
.A Java Services logger that creates loggers by inspecting the KIVAKIT_LOG and KIVAKIT_LOG_LEVEL environment
variables.
Converts between *long* values and strings
An object which has a long key value and is also
Quantizable
as are many objects.A
MapFactory
that maps a primitive long value to an object.Utility methods for int values.
A simple stream that allows you to peek at what is coming next in an input stream.
The loopback adapter 'host'.
A piece of code that can be executed in a loop.
A factory that creates an object given a parameter (it "maps" from the parameter to the new object).
Interface to code that has a
Matcher
A matcher when the term predicate is often not the right meaning to use.
A set of matchers with convenient methods to find out if:
MatcherSet.allMatch()
- all matchers match
MatcherSet.anyMatches()
- at least one matcher matches
MatcherSet.noneMatches()
- no matcher matches
The interface Matcher
is implemented by MatcherSet
by returning true
if any matcher matches.An iterable that does matching during iteration.
Determines which of two objects is the maximum.
A count value that is an maximum.
Converts to and from
Maximum
A
SettingsStore
that stores SettingsObject
s in memoryAnti-meridiem (AM) or post-meridiem (PM) in the English system of keeping time, or MILITARY_TIME for the rest of the
world.
An interface to retrieve the basic attributes of a message, find out what it means and format it as text.
The meaning of a message if it represents a state change in the lifecycle of an operation
The meaning of a message if it relates to the current step in an ongoing operation
A message alarm is a listener that triggers via
MessageAlarm.trigger(Rate)
when MessageAlarm.shouldTrigger()
returns true.Listens to messages to determine if the expected number and type of messages were received during some operation.
A
Listener
, such as MessageList
that is able to report how many of different kinds of messages it has
seen.An exception thrown when exception chaining might not be desired.
Filters
Transmittable
objects down to Message
s onlyA list of messages that listens for and adds incoming messages.
Holds a class and method name when a proper Java reflection
Method
cannot be determined, as
in the case of the limited and poorly designed StackTraceElement
class.Converts milliseconds to and from
Duration
Determines which of two objects is the minimum.
A count value that is a minimum.
Converts to and from
Minimum
Represents a minute on a clock
A poor-man's implementation of mixins, also known as stateful
traits, in Java.
Listens to a model for changes in its internal state.
A resource in a module having the following attributes.
Provides easy access to module resources.
An object to use instead of
Object
when a simple mutex lock is required.A multicaster is a broadcaster which can have more than one listener.
A map from key to an
ObjectList
of values.A map from key to an
ObjectSet
of values.A mutable count value useful in lambdas and inner classes.
A mutable index value for use in lambdas and anonymous inner classes.
An integer value that can be changed.
A long value that can be changed.
A value that can be retrieved with
MutableValue.get()
and mutated with MutableValue.set(Object)
or MutableValue.update(Function)
.A name value.
An object that can be assigned a name.
An object with a name.
This filter matches a field with a particular name in a given naming convention
An object with a programmatic name.
A
Named
object that has a value, retrievable through Valued.value()
.A map to look up
Named
objects by their name.Accurate model of a number of nanoseconds, represented as a number of seconds and a number of nanoseconds.
A step in a narrative describing a series of successful steps performed by an operation.
Access constraints for network requests, including
NetworkAccessConstraints.timeout()
and authentication requirements.Converts to and from a
NetworkLocation
An abstraction for network paths.
Converts to and from
NetworkPath
sInterface to a network resource.
Interface for iteration where hasNext() is replaced by the semantics that null represents the end of iteration
Codec that does no compression or decompression.
A logger that does nothing.
A writable resource that accepts anything you write and destroys it, so when you read there is nothing to be seen.
Converts a
PropertyValues
to an object of a given Value type.A convenient class for formatting the fields and also particular methods of an object.
Uses an object to efficiently provide (
ObjectIdentifier.hashCode
and ObjectIdentifier.equals(Object)
) identity.A bounded list of objects with overrides of methods from
BaseList
to downcast return values to ObjectList
for convenience.Object metadata to be included with serialized objects.
Populates object properties given a property filter and a source of property values.
Interface to code that can read
SerializableObject
s from a Resource
.A map from
Extension
to ObjectSerializer
.Interface to code that can write
SerializableObject
s to a WritableResource
.An object that can be opened, often an I/O or data storage related object.
An abstraction of features of the underlying OS through Java interfaces.
An operation that can be executing.
An operation has terminated in failure
A problem with severity high enough to halt the current operation.
A message representing a state transition in the lifecycle of an operation.
Base implementation of the
Message
interface.An operation has started
Signals the status of an operation.
A message representing the success of an operation
An
OutputStream
stream wrapper that turns the output stream into a WritableResource
.An abstraction for locating and copying
Resource
s in Java packages.Resolves package resource identifiers that are of the form "classpath:/a/b/c" into
ResourceFolder
s (in
the form of Package
s).An object having a (KivaKit)
Package
.A
ResourcePath
to a Package
.Represents the path to a Java package.
A readable
Resource
in a package, as specified by PackageReference
or ModuleResource
(which
has a ModuleReference
and URI
), and a name.Resolves
ResourceIdentifier
s of the form "classpath:/a/b/resource.txt" into Resource
s by creating
a PackageResource
for the identifier.Trait containing methods for working with packages
A password can be used to match against another password to perform authentication.
Abstraction of an immutable path of elements of a given type with an optional root element.
Converts to and from a Java regular expression
Pattern
Pause and resume an operation.
Represents a function that accepts two arguments and produces a result.
A percentage of any range (not only from 0 to 100%).
Converts to and from a
Percent
.A
CollectionChangeWatcher
that checks for changes at a given Frequency
.A plain text password, which can be tested against a given password using
PlainTextPassword.matches(Password)
.Converts passwords to and from
Password
objects.Heuristic algorithms for pluralizing English words.
Interface to an object having a length of time, measured in milliseconds.
A host, port and protocol.
Converts to and from a
Port
An object, often a collection or related type, to which objects can be prepended.
Interface to an object which can contain a value or not
Prime number allocation sizes and "powers of two" (the next prime above a power of two).
Serializer base class for implementing
Gson
serialization and deserialization of primitive types.A problem that is severe enough to result in data loss, but not severe enough to halt the current operation.
Serializes
Problem
s to and from JSON.Utility methods that work with Java
Process
objects.An
InputStream
that reports progress as bytes are read.A wrapper that adds
ProgressReporter
reporting to an iterableAn
OutputStream
that reports progress as bytes are written.A listener interested in the percentage completed of an operation.
Reports the progress of some operation to an end-user in some manner.
Base class for KivaKit projects, enabling run-time dependency management and initialization.
Visitor interface for use with
Project.visitDependencies(Visitor)
Trait for
Project
access.Provides access to system properties, environment variables and project properties
Reads a
SerializableObject
from a .properties file.This class defines a KivaKit
Project
.A property with a getter and/or setter
A filter that determines how a
Property
field or method can be accessed.Base class for property filters.
A property map is a
VariableMap
with strings as both keys and values.Kinds of property methods and fields
The naming convention for getters and setters
Yields a value for a given property
An identifier for a particular named protocol
Specifies the number of arguments required or allowed
A quantizable object can be turned into a quantum.
Converter that converts between a
String
and any Quantizable
value.Query parameters, as used in HTTP URLs.
A notice that something trivial has gone wrong.
JUnit category for marking slow tests with @Category annotation.
Provides convenient random number methods given an implementation of
RandomNumeric.randomLongExclusive(long, long)
, and
RandomNumeric.randomDoubleZeroToOne()
.Utility class for tests used to create random values.
Represents a range of value objects from a minimum to a maximum.
The type of upper bound
An abstract rate in count per
Duration
.Calculates a
Rate
over time as a count is increased by RateCalculator.add(int)
or RateCalculator.increment()
.Interface to something which can be opened for reading.
Interface to an object that is
Readable
and can be read with a ResourceReader
.A lock subclass that adds convenient features to
ReentrantLock
.A receiver of
Transmittable
messages with similar function to a Consumer
, a sink, a callback or a
target.Checks a section of code for reentrancy.
A non-thread-safe map of reference counts.
The
Registry
class allows code to register and locate objects by class and instance (if there is more than
one instance).
A stateless trait for accessing the
Registry
for the implementing component.The release for a particular
Version
.Interface to something that can be deleted
A repeater is both a
Listener
and a Broadcaster
, receiving messages in Repeater.receive(Transmittable)
and rebroadcasting them to its own listeners with Transmitter.transmit(Transmittable)
.A stateful
Mixin
that can be used when a class can't extend BaseRepeater
to implement the Repeater
interface.A thread that repeatedly executes the
KivaKitThread.onRun()
method implementation at a given Frequency
.Values that allow or disallow repeats in random sequences
An object that can be reset to its original state.
A resource that can be read via
ReadableResource
.Converts to and from
Resource
s by resolving ResourceIdentifier
s.A resource container is an abstraction that provides access to hierarchical resources, independent of implementation.
Converts to and from
ResourceFolder
s by resolving strings via ResourceFolderIdentifier
s.ResourceFolderResolverServiceLoader.resolve(Listener listener, ResourceFolderIdentifier)
iterates through implementations of the ResourceFolderResolver
interface provided by Java's ServiceLoader
and resolves ResourceFolderIdentifier
s by calling ResourceFolderResolver.accepts(ResourceFolderIdentifier)
until it
reaches a resolver that recognizes the identifier.
A folder containing settings objects defined by .properties files.
An object which has a
Resource
A resource "glob" is similar to a file glob in UNIX.
An arbitrary string that identifies a resource.
The types to register with Kryo for this project
A list of
Resource
s.A path to a resource of any kind.
Converts to and from
ResourcePath
sAn object which has a
ResourcePath
, as returned by ResourcePathed.path()
.Resource reader provides a variety of convenient ways of reading a resource, including as an array of bytes (
ResourceReader.bytes()
), as a single string (ResourceReader.asString()
), as lines (ResourceReader.linesAsStringList()
), and as objects with
(ResourceReader.objectList(Converter, ProgressReporter)
, ResourceReader.objectSet(Converter, ProgressReporter)
, and ResourceReader.objects(Converter, ProgressReporter)
).Service provider interface that resolves resource identifiers to resources.
Resolves
ResourceIdentifier
s into Resource
s.A portion of a resource from one offset into the resource to another.
This class provides methods that write to a
WritableResource
.Represents the result of an operation, capturing any failure
Result.messages()
.Contains methods to facilitate working with
Result
monads.Retry running a
Runnable
Represents a second on a clock
Converts seconds to and from
Duration
A secure ftp (SFTP) network location.
A resource accessed by SFTP.
Setting for performing SFTP operations, including host, username and password and a timeout duration.
A resource accessed by HTTPS GET at the given network location using the given access constraints.
A secure network location using the HTTPS protocol.
A resource accessed by HTTPS POST at the given network location using the given access constraints.
Maintains a list of separators that can be nested when used by list converters and converters with multiple separated
fields.
A sequence of values returned by
Sequence.asIterator()
and Sequence.asIterator(Matcher)
.A high-level abstraction for serialization.
The type of serialization session.
Creates new
SerializationSession
.Subclass of
Application
for use by servers.Computes the edit difference between two sets.
Set utility methods.
A lookup registry of user-defined settings
Object
s.Service Provider API
Service Provider API
Service Provider API
Service Provider API
A stateless trait for accessing the
Settings
for the implementing component.Represents the severity of the current state of an operation or a step in an operation.
A change watcher for an SFTP folder.
Adds order-of-execution to
Runtime.addShutdownHook(Thread)
.The order that a hook should be run in, either among the set of first hooks, or among the set of last hooks.
Provides methods that execute code, stripping off checked exceptions.
An object (usually some sort of collection or store of values) which has a
Sized.size()
.JUnit category for marking slow tests with @Category annotation.
Sends emails via SMTP using a host, username and password.
Specifies the host, username and password to send emails via SMTP
A source of values.
String splitting utilities.
An object list with
Stack.push(Object)
and Stack.pop()
methods added.This has to exist because Josh forgot to put a no-arg constructor on StackTraceElement in the JDK.
An operation that can be started or restarted.
A simple state machine with a single state that can be transitioned from one state to another and which allows a
caller to wait for the machine to transition to a particular state.
Allows a thread to wait for a particular state or for predicate to be satisfied by some other thread calling
StateWatcher.signal(Object)
.The current step failed to produce any useful result
The current step had to discard some result to continue
The current step succeeded and does not indicate any problem
An operation that can be stopped
Simple utility methods that hide the mechanics of Java's stream support and spliterator.
Type of processing to apply to a stream
Interface to an object that can produce one or more different kinds of string representations.
The type of format for a string returned by
Stringable.asString(Format)
A bidirectional converter between
String
values and values of the given type.An adapter that converts a
StringConverter
into a JsonSerializer
and JsonDeserializer
by
using the Converter.convert(Object)
and TwoWayConverter.unconvert(Object)
methods to serialize
and deserialize strings.An identifier whose value is a
String
.An input stream built around a StringBuilder to read it.
A list of strings, adding useful string operations to
ObjectList
.Converts to and from
Identifier
A bounded string map using a
TreeMap
implementation.Interface to code that maps from a string to a value
A
WritableResource
that writes to a byte array, and can be converted to a string with StringOutputResource.string()
.A
Path
of strings that has a given separator string.Reads string values from an
InputStream
(in a given encoding, if desired) or from a Reader
.A
ReadableResource
formed from a string passed to the constructor StringResource(String)
.General purpose utilities for Java strings.
Methods for comparing strings, including by Levenshtein
distance.
Sadly, the only reason for this class is Java type erasures.
A bounded map from string to string.
Strips leading and ending values, package prefixes and quotes from strings.
The logical union of two sets.
Not public API
Not Public API
Not Public API
A switch parser that can be passed to
CommandLine.get(SwitchParser)
to retrieve a switch value.A fluent builder for argument parsers.
Not Public API
Represents a function that accepts two arguments and produces a result.
Methods for working with threads and
ExecutorService
.Captures a snapshot of
ThreadStatus
for all running threads via the Java management API.Information about the state of a thread from Java's management API.
Throwable converter for formatting exceptions.
Listens to
Message
s of a given type.An immutable
Time
class that represents a specific point in UNIX time.Serializes
Time
objects to and from JSON as a number of milliseconds since the start of the UNIX epoch.Interface for all time measurements, whether a
LengthOfTime
or a PointInTime
.Utility methods to map between
ZoneId
s and their display namesA trace message with no severity level.
Functionality that is common to
Broadcaster
s, Listener
s, Repeater
s and potentially other
classes that are involved in handling messages.A marker interface for an object that can be transmitted and received.
The source of a
Severity
Represents a function that accepts two arguments and produces a result.
Quick hack to debug code to see how often it is being executed.
Provides methods that execute code, stripping off checked exceptions.
The superinterface,
Converter
, converts values from type <From> to type <To> while this interface
adds the ability to convert in the reverse direction from type <To> to type <From>.A map from key to value, but also from value to key (with
TwoWayMap.key(Object)
).Reflects on a class and retains a set of
Property
objects that can be used to efficiently set property
values.Removes exception handling from code that can throw a checked (or unchecked)
Exception
.UncheckedCode
for void methodsThe logical union of two sets.
This is the base class for all unit tests.
A JUnit test watcher that prints out any random seed value when a random test fails so that the failure can be
reproduced with
RandomValueFactory.seed(long)
.A lazy-loaded object is able to clear references to reloadable data, reducing its memory footprint.
A
Problem
message that indicates that some operation is not supported.Interface to an object with a
URI
A username for use in authentication.
Converts
UserName
objects to and from strings.Serializes
Time
objects to and from JSON as a number of milliseconds since the start of the UNIX epoch.A
MessageList
and MessageCounter
that captures validation issues.A kind of validation as restricted to a particular set of value types.
When
Validator.validate(Listener)
is called, a Validator
validates itself, using the listener parameter to
send messages like Problem
s and Warning
s as validation proceeds.An object which has a value that can be queried by calling
Valued.value()
.A bounded map from string to value which supports variable interpolation into a string via
VariableMap.expand(String)
.Wraps a
VariableMap
to provide string conversion methods VariableMapConverter.get(String, StringConverter)
and VariableMapConverter.get(String, StringConverter, Object)
.Represents a semantic version, such as "6.3" or "1.2.1" or "6.3-rc".
Converts to and from
Runtime.Version
objectsAn object that has a version
An object of a particular version.
The reason why a thread completed, either it was interrupted, it timed out or it succeeded.
A notice that something has gone wrong, but it is of low severity and has not resulted in any significant problem.
A value that can be watched.
A weight from 0 to 1 for parametric weighting in mathematics.
A given set without the elements of another set (technically, the "relative complement").
Wraps text at a given width.
Interface to something that can potentially be opened for writing.
A wrapper around the JDK zip filesystem that makes it easier to use.
The access mode for a zip archive.
Codec for zip compression.
A zip entry in a
ZipArchive
that is a WritableResource
.