# Lynar Studios - Standard Library - v2024.1.0.0 Documentation

## Packages

- boxing
- core
- encoding
- event
- io
- time

### boxing

This package provides functionalities for wrapping primitive datatypes (boolean, double, float, int, long, string). Wrapping those types would enable a developer to provide string representations, or parsing from strings to convert them back into their primitive forms. Additionally, these boxing types come with a great selection of operators and convenient functions.

#### Classes

- Integer
- Boolean
- Double
- Float
- String
- Long

### core

This package provides a base class, which can be used to provide simple class reflection. Other functionalities of this package include customized exceptions, basic interfaces and convenient types.

#### Classes

- Class
- LibraryVersion
- Version
- ConditionalFunctionExecutor
- NullPointerArgumentEvaluator
- NullPointerEvaluator
- RawNullPointerArgumentEvaluator
- IndexOutOfBoundsEvaluator
- EmptyStringArgumentEvaluator
- RawNullPointerEvaluator
- JniReturnValue
- JniClassParameter
- JniApi
- JniMethod
- JniClass
- NullPointerException
- EventNotHandledException
- IllegalArgumentException
- ExceptionMessage
- FileOperationException
- IllegalArithmeticOperationException
- FileNotFoundException
- IncompleteJsonException
- NotImplementedException
- IndexOutOfBoundsException
- Exception

### encoding

This package provides encoding functionalities, which in the current scope is limited to Base64. This would also include the provision of a Base-64-CLI-tool.

#### Classes

- Base64

### event

This package provides an event manager and the functionality to through events.

#### Classes

- Event
- EventManager

### io

This package provides cross-platform functionalities for handling files, parsing and writing XML, logging, parsing and writing SP-files (.INI-based files).

#### Classes

- FileWriter
- FilePathSeparatorMatch
- FileOutputStream
- StorableFile
- NewLine
- FileReader
- File
- StandardOutputWriter
- FilePathSeparator
- FileExistenceEvaluator
- SectionPairMessageFormatter
- SectionPairFileReaderParameter
- SectionPairFileReader
- SectionPairSectionArgumentEvaluator
- SectionPairValueArgumentEvaluator
- SectionPairRowListValueArgumentEvaluator
- SectionPairRowSingleValueArgumentEvaluator
- SectionPairRowArgumentEvaluator
- SectionPairIdentifierArgumentEvaluator
- SectionPairIdentifierValidator
- SectionPairSectionValidator
- SectionPairRowListValueValidator
- SectionPairRowSingleValueValidator
- SectionPairDocumentValidator
- SectionPairValueValidator
- SectionPairFileExtensionValidator
- SectionPairRowValidator
- SerializableSectionPairSection
- SerializableSectionPairRowSingleValue
- SerializableSectionPairRow
- SerializableSectionPairRowListValue
- SerializableSectionPairParameter
- SerializableSectionPairDocument
- SectionPairRowValue
- SectionPairDocument
- SectionPairRowListValue
- SectionPairRow
- SectionPairSection
- SectionPairRowSingleValue
- XmlDeclaration
- XmlParser
- XmlReader
- XmlDocument
- XmlAttribute
- XmlParseParameter
- XmlNode
- Logger
- LogLevel

### time

This package provides convenient time functionalities and data structures, like a Date class for representing a date or SystemTime for setting a systems local time.

#### Classes

- Date
- DateParameter
- DateParameterMapper
- JniDateParameterMapper
- SystemTimeParameter
- PosixClock
- SystemTime
- WindowsClock

## Classes

### core.Class

This class represents a base class offering minimal reflection on the class name.

### core.LibraryVersion

This class provides the version information of this library.

### core.Version

This class represents a semantic versioning scheme.

### core.ConditionalFunctionExecutor

This class can execute any method matching a specific signature based on a specific condition.

### core.NullPointerArgumentEvaluator

This class evaluates whether a passed shared pointer argument is null.

### core.NullPointerEvaluator

This class evaluates whether a passed shared pointer reference is null.

### core.RawNullPointerArgumentEvaluator

This class evaluates whether a passed raw pointer argument is null.

### core.IndexOutOfBoundsEvaluator

This class evaluates whether a passed index is out of bounds.

### core.EmptyStringArgumentEvaluator

This class evaluates whether a passed string is empty.

### core.RawNullPointerEvaluator

This class evaluates whether a passed raw pointer reference is null.

### core.JniReturnValue

This class represents a method return value of a Java class within Java Native Interface (JNI) context.

### core.JniClassParameter

This class holds important information for the usage of the Java Native Interface (JNI), like Java environment or a specific Java object.

### core.JniApi

This class represents an API for the Java Native Interface (JNI) wrapping basic JNI end points.

### core.JniMethod

This class represents a class method within Java Native Interface (JNI) context.

### core.JniClass

This class represents a Java class within the Java Native Interface (JNI).

### core.NullPointerException

This exception can be thrown in case a called reference is null.

### core.EventNotHandledException

This exception can be thrown in case an event is not handled.

### core.IllegalArgumentException

This exception can be thrown in case a passed argument is illegal, which can be individually interpreted.

### core.FileOperationException

This exception can be thrown in case a file could not be processed, like opened or being read.

### core.IllegalArithmeticOperationException

This exception can be thrown in case an arithmetic operation is illegal. One example would be the division by zero.

### core.FileNotFoundException

This exception can be thrown in case a file could not be found.

### core.IncompleteJsonException

This exception can be thrown when a passed JSON is incomplete - e.g. if a key is missing.

### core.NotImplementedException

This exception can be thrown in case a called method is not implemented.

### core.IndexOutOfBoundsException

This exception can be thrown in case an index of an array like structure is out of bounds.

### core.Exception

This a base exception that can be thrown in any scenario.

### boxing.Integer

This class represents the primitive datatype int and provides functionalities for arithmetic operations and string representation.

### boxing.Boolean

This class represents the primitive datatype bool and provides functionalities for boolean expressions and string representation.

### boxing.Double

This class represents the primitive datatype double and provides functionalities for arithmetic operations, accuracy and string representation.

### boxing.Float

This class represents the primitive datatype float and provides functionalities for arithmetic operations, accuracy and string representation.

### boxing.String

This class represents a string and provides operations, like filling and searching.

### boxing.Long

This class represents the primitive datatype long and provides functionalities for arithmetic operations and string representation.