All Classes and Interfaces

Class
Description
Thrown when an initialization is attempted on an object that has already been initialized.
A token rule that always matches a single token if the start index is valid.
This rule is useful for testing or as a default case in a chain of token rules.
This class is implemented as a singleton and can be accessed via TokenRules.alwaysMatch() or AlwaysMatchTokenRule.INSTANCE.
A token rule that matches any of the provided token rules.
The first matching rule will be used to create the TokenRuleMatch.
This rule is useful for creating complex matching logic by combining multiple rules.
Types that are annotated with this annotation are considered to be automatically initialized.
A token rule that matches a sequence of tokens with a start, between, and end token rule.
This rule is useful for matching patterns that have a specific structure, such as a start and end delimiter with optional content in between.
The start and end token rules are required, while the between token rule can match zero or infinite tokens.
The start and between token rule must not be or contain an EndTokenRule or any other token rule class that is added to BoundaryTokenRule.INVALID_RULES.
Represents a chance of something happening.
The chance is a double between 0.0 and 1.0, where 0.0 is 0% and 1.0 is 100%.
Token definition for a single character.
This token definition matches a string that is equal to the token character.
Internal helper class to get all classes from the classpath.
Utility class for classpath related operations.
The mode which determines if the classes should be included or excluded.
A codec is a combination of an encoder and a decoder.
It is used to encode and decode values of a specific type.
A utility class that provides methods to create codec groupers that group multiple codecs into a single codec.
Represents a group of one codec.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
Represents a group of ten codecs.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
Represents a group of eleven codecs.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
Represents a group of twelve codecs.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
Represents a group of thirteen codecs.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
Represents a group of fourteen codecs.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
Represents a group of fifteen codecs.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
Represents a group of sixteen codecs.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
Represents a group of two codecs.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
Represents a group of three codecs.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
Represents a group of four codecs.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
Represents a group of five codecs.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
Represents a group of six codecs.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
Represents a group of seven codecs.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
Represents a group of eight codecs.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
Represents a group of nine codecs.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
Represents a codec grouping function that accepts one argument and produces a result.
Manly used for decoding objects using a Codec.
Represents a codec grouping function that accepts ten arguments and produces a result.
Manly used for decoding objects using a Codec.
Represents a codec grouping function that accepts eleven arguments and produces a result.
Manly used for decoding objects using a Codec.
Represents a codec grouping function that accepts twelve arguments and produces a result.
Manly used for decoding objects using a Codec.
Represents a codec grouping function that accepts thirteen arguments and produces a result.
Manly used for decoding objects using a Codec.
Represents a codec grouping function that accepts fourteen arguments and produces a result.
Manly used for decoding objects using a Codec.
Represents a codec grouping function that accepts fifteen arguments and produces a result.
Manly used for decoding objects using a Codec.
Represents a codec grouping function that accepts sixteen arguments and produces a result.
Manly used for decoding objects using a Codec.
Represents a codec grouping function that accepts two arguments and produces a result.
Manly used for decoding objects using a Codec.
Represents a codec grouping function that accepts three arguments and produces a result.
Manly used for decoding objects using a Codec.
Represents a codec grouping function that accepts four arguments and produces a result.
Manly used for decoding objects using a Codec.
Represents a codec grouping function that accepts five arguments and produces a result.
Manly used for decoding objects using a Codec.
Represents a codec grouping function that accepts six arguments and produces a result.
Manly used for decoding objects using a Codec.
Represents a codec grouping function that accepts seven arguments and produces a result.
Manly used for decoding objects using a Codec.
Represents a codec grouping function that accepts eight arguments and produces a result.
Manly used for decoding objects using a Codec.
Represents a codec grouping function that accepts nine arguments and produces a result.
Manly used for decoding objects using a Codec.
A codec that is configured to encode and decode a specific component of an object.
This codec uses another codec to encode and decode the component.
The underlying codec is expected to be an instance of NamedCodec.
Represents a decoder for a specific type.
The implementation decodes a value of the type specified by the type provider
and returns a result containing the decoded value or an error message.
Thrown when an error occurs during decoding an object.
A functional interface that provides methods to get a value of a specific type.
This is an extension of the ValueGetter interface.
Represents one of two possible values.
An instance of Either is either an instance of Either.Left or Either.Right.
Left implementation of the either.
Right implementation of the either.
A codec for encoding and decoding values of type Either.
This codec uses two other codecs to encode and decode the values of the first and second type.
Represents an encoder for a specific type.
The implementation encodes a value of the type specified by the type provider
and returns a result containing the encoded value or an error message.
Thrown when an error occurs during encoding an object.
A token rule that always matches the end of the token list.
This rule is useful to ensure that the end of the token list is reached.
The rule will only match if the start index is larger than or equal to the size of the token list.
This class is implemented as a singleton and can be accessed via TokenRules.end() or EndTokenRule.INSTANCE.
A record that represents an enum constant.
An interface that provides utility methods for enum-like classes.
Represents an action to be taken when an error or exception occurs.
Each action defined in this enum has a different method to handle the error.
Special token implementation for escaped tokens.
An escaped token is a token that starts with a backslash and has a length of 2.
Token definition for escaped characters.
This token definition matches a string that starts with a backslash (\) and is followed by the token character.
Example:
Implementation of the Extended Euclidean Algorithm (EEA).
The EEA is an extension of the Euclidean Algorithm and is used to find the greatest common divisor (GCD) of two integers.
External implementation of ResourceLocation.
This class is used to load resources from the filesystem.
Types that are annotated with this annotation are considered as Facades.
Facades are used to provide a simple interface to a complex subsystem.
Class to manage file access in a thread-safe way.
This class manages the access to a file from multiple threads.
Utility class for file operations.
Utility class for the functional interfaces in the java.util.function and net.luis.utils.function.throwable packages.
Token action that groups the tokens into a single token group.
The value of the group must match the definition of this action.
Annotations to indicate that a parameter or local variable is ignored.
Indicates that the parameter or local variable is always ignored.
Passing a null value to a parameter or local variable that is annotated with this annotation
will be safe and will not cause any errors.
Indicates that the parameter or local variable is maybe ignored.
The reason for this could be that there is a rare case where the parameter or local variable
is used or that passing a null value to the parameter or local variable will cause an error.
Indicates that a parameter is never ignored.
This is the default behavior of any parameter in java.
Thrown when an io reader reads a line from a file in an illegal format.
The exception message should contain details about the error.
The message may also contain information about the expected format of the line.
A functional interface that provides methods to get a value of a specific type at a specific index.
The value is hold by the object that implements this interface.
Interfaces that are annotated with this annotation do not have any methods or fields.
The interface is only used to indication purpose only.
Input provider for reading data from a file or stream.
This class provides several constructors for different input sources.
Types that are annotated with this annotation are considered to be used internally.
They are not intended to be used by the user, because this may cause an unexpected behavior.
Internal implementation of ResourceLocation.
This class is used to load resources from the classpath.
Thrown to indicate that a string is invalid.
This exception will be thrown if a string is not valid for a specific operation.
For example:

If a string is empty and the operation requires a non-empty string. If a string is not in the correct format. The exception message should contain a description of the invalid string.
The message may also contain a description of the expected string.
Thrown to indicate that a given value is invalid.
Represents a json array.
A json array is an ordered collection of values.
The values can be of any type, including json null.
Thrown to indicate that an index of a json array is out of bounds.
This exception is thrown when an index is either negative or greater than or equal to the size of the array.
The exception message will contain the index and may the size of the array.
Configuration for reading and writing json elements.
A generic class representing a json element.
A json element can be a json object, a json array, a json primitive or a json null.
Represents a json null value.
This class is a singleton.
Represents a json object.
A json object is an ordered set of name/value pairs.
A name is a string and a value can be any json element, including json null.
Represents a json primitive value.
A primitive value can be a boolean, number or string.
A json reader for reading json elements from a string or input provider.
The reader can be used to read json arrays, objects, primitives and null values.
The reader expects only one json element per input.
Thrown to indicate that the syntax of a json string is invalid.
The exception message will contain the details of the syntax error.
Thrown when a json element is not of the expected type.
The exception message will contain the details about the expected and actual types.
Type provider implementation for json elements.
This class is a singleton and should be accessed through the JsonTypeProvider.INSTANCE constant.
A json writer for writing json elements to an output.
The writer can be used to write json arrays, objects, values and null values.
The writer expects only one json element per output.
Combines the Codec, KeyableEncoder and KeyableDecoder interfaces.
Into one interface that provides all methods to encode and decode a value or a key.
Extension of Decoder that allows decoding keys.
A key is a string used to identify a value in a data structure.
Extension of Encoder that allows encoding keys.
A key is a string used to identify a value in a data structure.
A functional interface that provides methods to get a value of a specific type with a specific key.
The value is hold by the object that implements this interface.
A class representing a lazy initialization of an object.
Represents a lazy-loaded value.
A codec for encoding and decoding lists of elements.
This codec uses another codec to encode and decode the elements of the list.
Runtime logger configuration for Log4j2.

The default configuration is:
Console logging enabled File logging enabled A disabled logging type will not be initialized and therefore not be available and cannot be enabled later.
The default loggers are:
Console: INFO, WARN, ERROR, FATAL File: none Additional loggers can be added directly to the configuration or after initialization using LoggingUtils.
Implementation of Thread.UncaughtExceptionHandler that logs uncaught exceptions.
Helper class to configure logging from system properties.
The possible logging types.
Implements Iterable to allow iterating over the allowed levels.
Logging utility class.

This class is used to initialize or load a logging configuration.
It also provides methods to enable/disable logging.
A codec for encoding and decoding maps of key-value pairs.
This codec uses two other codecs to encode and decode the keys and values of the map.
The key codec must be a KeyableCodec to encode and decode the keys of the map.
Types that are annotated with this annotation are considered to be mediators
between two or more types.
This annotation is used to mark a class as a mock object.
Mock objects are used to simulate real objects in tests.
They are used to test the behavior of other objects.
Thrown when a method is called on an object which will modify it,
but the object is not modifiable at the moment or at all.
Utility class for math operations.
A mutable implementation of the Map.Entry interface.
A codec for encoding and decoding named values.
This codec uses another codec to encode and decode the value.
Thrown when a requested item does not exist in a collection like object.
Library equivalent of NoSuchElementException.
Thrown to indicate that a json element does not exist.
The exception message will contain the details of the missing element.
Thrown to indicate that a xml attribute does not exist.
The exception message will contain the details of the missing element.
Thrown to indicate that a xml element does not exist.
The exception message will contain the details of the missing element.
Thrown when an access or action is attempted on an object that has not been initialized
but requires initialization before it can be used.
Represents a type of number that can be parsed from a string.
This enum contains the java default number types and their respective parsers.
Types that are annotated with this annotation are observable.
This means that there are methods that can be called to add and remove listeners.
The annotated type might be associated with an event system.
A codec for encoding and decoding optional values.
This codec uses another codec to encode and decode the optional value.
A token rule that matches optionally a single token rule.
This rule is useful for creating optional matching logic.
It will match the token rule if it is present, otherwise it will return an empty match.
Output provider for writing data to a file or stream.
This class provides several constructors for different types of output sources.
Tuple like class that holds two values of different types.
A token rule that matches the value of a single token against a regular expression pattern.
This rule is useful for creating complex matching logic by using regular expressions.
It will match the token if its value matches the pattern, otherwise it will return null.
A record that represents a priority.
Represents a collection of properties.
This class is immutable and is used for reading properties only.
Represents a property with a key and a value.
The key and the value are both strings.
The value can be parsed to different types using the methods provided by this class.
Configuration for reading and writing properties.
Represents a reader for properties.
This reader reads the properties from a defined input and returns them as a properties object.
The base format of the properties is a key-value pair separated by a separator:
Thrown to indicate that the syntax of a property string is invalid.
The exception message will contain the details of the syntax error.
Represents a writer for properties.
Functional interface that takes four arguments and consumes them.
The FunctionalInterface method is QuadConsumer.accept(Object, Object, Object, Object).
Functional interface that takes four arguments and returns a value.
The FunctionalInterface method is QuadFunction.apply(Object, Object, Object, Object).
Represents a radix for number conversion.
The radix is the base of a number system.
This class represents the most common radices used in computer science:
Binary (base 2) Octal (base 8) Decimal (base 10) Hexadecimal (base 16)
Represents a range of values between a minimum and maximum value (inclusive).
A codec for encoding and decoding number values of a certain range.
This codec uses a converter to convert between numbers and the range type.
The codec can be configured by the following methods:
RangeCodec.positive() to only accept positive numbers RangeCodec.positiveOrZero() to accept positive numbers and zero RangeCodec.negative() to only accept negative numbers RangeCodec.negativeOrZero() to accept negative numbers and zero RangeCodec.atLeast(Number) to only accept numbers greater or equal to the given number RangeCodec.atMost(Number) to only accept numbers smaller or equal to the given number RangeCodec.range(Number, Number) to only accept numbers in the given range (inclusive)
Annotation for record components of an io configuration.
The annotated record component is used for reading only.
Thrown when an error occurs during reflection.
Helper class for reflection-related operations.
Provides methods to: check if a class has a constructor, method or field get constructors, methods and fields invoke constructors, methods and fields
Utility class for reflection-related operations.
This annotation is used to indicate that the annotated element is used by reflection.
When modifying the annotated element, this may cause an unexpected behavior or an error.
Accessing but not modifying the annotated element is safe.
A token rule that matches a token rule a number of times.
This rule is useful for creating complex matching logic by repeating a rule.
It will match the token rule a number of times between the min and max occurrences.
If the min and max occurrences are the same, it will match exactly that number of times.
Represents a resource which can be loaded from the classpath or from the filesystem.
Represents the type of a ResourceLocation.
Represents the result of an operation that may fail.
Functional interface for mapping a value to a result.
This function is a more friendly variant of Function<T, Result<R>>.
The main use case is to map a value to a result that may contain an error.
Functional interface for mapping the type of a Result.
This function is a more friendly variant of Function<Result<T>, Result<R>>.
A utility class to read strings with scopes.
A scope is defined by two characters, an opening and a closing character.
A token rule that matches a sequence of token rules.
This rule is useful for creating complex matching logic by combining multiple rules.
It will match the token rules in the order they are provided, otherwise it will return null.
A simple implementation of the Table.Cell interface.
A simple immutable implementation of the Map.Entry interface.
Token implementation for a simple string token.
Types that are annotated with this annotation will be instantiated only once.
It might be possible to get the instance of the class by: Calling the static method getInstance() Accessing the public static field INSTANCE If an interface is annotated with this annotation,
all classes that implement this interface will be instantiated only once.
The method to obtain the instance of the singleton class.
A list which is after every modification sorted
using the set comparator or if it is null the natural order.
Spring logging configuration factory.
Due to the fact that spring boot replaces the logging configuration with its own,
this factory is used to replace the spring boot configuration with the logger configuration used before spring boot.
Utility class for stack trace related operations.
Provides methods to get the calling class and method.
Represents a reader to read from a string.
The reader can read specific types of values from the string such as:
Quoted and unquoted strings Booleans Numbers (byte, short, integer, long, float, double) Big numbers (BigInteger, BigDecimal)
Internal to represent a parsed number.
A record to define a string scope with an opening and a closing character.
Token definition for a string.
This token definition matches a string that is equal to the token string.
A utility class for string operations.
Functional interface that takes two arguments and consumes them.
The FunctionalInterface method is ThrowableBiConsumer.accept(Object, Object).
The class is equivalent to BiConsumer, but the functional method can throw a checked exception.
Functional interface that takes two arguments and returns a value.
The FunctionalInterface method is ThrowableBiFunction.apply(Object, Object).
The class is equivalent to BiFunction, but the functional method can throw a checked exception.
Functional interface that takes one argument and consumes it.
The FunctionalInterface method is ThrowableConsumer.accept(Object).
The class is equivalent to Consumer, but the functional method can throw a checked exception.
Functional interface that takes an argument and returns a value.
The FunctionalInterface method is ThrowableFunction.apply(Object).
The class is equivalent to Function, but the functional method can throw a checked exception.
Functional interface that takes four arguments and consumes them.
The FunctionalInterface method is ThrowableQuadConsumer.accept(Object, Object, Object, Object).
The class is equivalent to QuadConsumer, but the functional method can throw a checked exception.
Functional interface that takes four arguments and returns a value.
The FunctionalInterface method is ThrowableQuadFunction.apply(Object, Object, Object, Object).
The class is equivalent to QuadFunction, but the functional method can throw a checked exception.
Functional interface that takes no arguments and returns a value.
The FunctionalInterface method is ThrowableSupplier.get().
The class is equivalent to Supplier, but the functional method can throw a checked exception.
Functional interface that takes three arguments and consumes them.
The FunctionalInterface method is ThrowableTriConsumer.accept(Object, Object, Object).
The class is equivalent to TriConsumer, but the functional method can throw a checked exception.
Functional interface that takes three arguments and returns a value.
The FunctionalInterface method is ThrowableTriFunction.apply(Object, Object, Object).
The class is equivalent to TriFunction, but the functional method can throw a checked exception.
Interface for a token.
A token is a sequence of characters that matches a token definition.
The implementations of this interface serve as a value for a token definition.
Token action that is applied to a token rule match.
With a token action, the tokens of the match can be modified, transformed or removed.
Functional interface for a token definition.
A token definition defines a token and provides a method to check if a word matches the token.
Token implementation for a group of tokens.
A token group is a sequence of tokens that have been grouped together and match the token definition.
Class which represents the position of a token in a file.
The line, character in line and character numbers are 0-based.
A class that reads tokens from a string input based on defined token definitions.
It processes the input string, identifies tokens, and returns a list of tokens.
It handles escape sequences and allows for custom token definitions and separators.
A class that tracks the position of the current character in the input string.
It keeps track of the line number, character position, and character index in the line.
A functional interface representing a rule for matching tokens in a list.
It defines a method to match tokens starting from a given index and returns a TokenRuleMatch if successful.
A rule engine for processing tokens based on defined rules.
A rule can either validate or transform tokens.
The engine applies the rules in the order they were added.
If a rule matches, it replaces the matched tokens with the result of the action.
If no rule matches, the engine moves to the next token.
A record that holds a token rule and its associated action.
A class that represents a match of a token rule.
It contains the start and end index of the match, the matched tokens, and the matching token rule.
A utility class for creating token rules.
Token transformer that transforms a list of tokens into another list of tokens.
The transformer can modify the tokens, remove them, or add new tokens.
Token action that transforms the tokens using a transformer.
The transformer is applied to the tokens, and the result is returned as an immutable list of tokens.
Functional interface that takes three arguments and consumes them.
The FunctionalInterface method is TriConsumer.accept(Object, Object, Object).
Functional interface that takes three arguments and returns a value.
The FunctionalInterface method is TriFunction.apply(Object, Object, Object).
A provider for a specific type.
Used to create, get, set, and merge values of a specific type.
A codec for encoding and decoding unit values.
This codec does not encode or decode any value, it is used to represent a unit value.
Utility class for various helper methods.
A functional interface that provides methods to get a value of a specific type.
The value is hold by the object that implements this interface.
This class represents a version number.
The version number is represented by the following simplified pattern:
This record represents an appendable version number.
The record is used for the build and suffix version numbers.
This class represents a builder for a version number.
A collection which returns a random element based on the weight of the elements.
The higher the weight, the higher the chance that the element is returned.
Token definition for a word.
This token definition matches a string that is not empty.
It should be used for tokens that cannot be defined by a single character or string.
An example would be identifiers in programming languages.
Token action that wraps the tokens with a prefix and suffix token.
The prefix and suffix tokens are added to the beginning and end of the matched tokens, respectively.
Annotation for record components of an io configuration.
The annotated record component is used for writing only.
Represents an xml attribute.
An xml attribute consists of a name and a value.
The name and the value are both strings.
Represents a collection of xml attributes.
The class provides methods to query, add, remove, replace, and get attributes.
Configuration for reading and writing xml elements.
Represents an xml container element.
A container element can contain other elements.
Represents an xml declaration.
Represents a xml element.
A xml element can be a self-closing element, a container element or a value element.
Represents a collection of xml elements.
The class provides methods to query, add, remove, and get elements.
Helper class for xml related operations.
A xml reader that reads xml content from a string or input provider.
The reader expects a xml declaration at the beginning of the content, which can be read with XmlReader.readDeclaration().
After reading the declaration, the xml root element can be read with XmlReader.readXmlElement().
Thrown to indicate that the syntax of a xml string is invalid.
The exception message will contain the details of the syntax error.
Thrown when a xml element is not of the expected type.
The exception message will contain the details about the expected and actual types.
Type provider implementation for xml elements.
This class is a singleton and should be accessed through the XmlTypeProvider.INSTANCE constant.
Represents a xml value element.
A xml writer for writing xml elements to an output.
The writer expects only one xml element per output.