laika.config

package laika.config

Members list

Type members

Classlikes

case class ASTValue(value: Element) extends ConfigValue

A value containing an AST element obtained from text markup or templates.

A value containing an AST element obtained from text markup or templates.

Such a value can be used in scenarios where substitution variables in templates or markup want to refer to other AST elements and include them into their AST tree as is.

Attributes

Supertypes
trait ConfigValue
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class ArrayValue(values: Seq[ConfigValue]) extends ConfigValue

Attributes

Supertypes
trait ConfigValue
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class BooleanValue(value: Boolean) extends SimpleConfigValue

Attributes

Supertypes
trait ConfigValue
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
trait Config

API for retrieving configuration values based on a string key and a decoder.

API for retrieving configuration values based on a string key and a decoder.

Config instances are used in many places in this library, each Document, DocumentTree and Directive has a Config instance associated with it.

One use case for configuration is controlling the behaviour of built-in features, like setting the navigation order or the depth for table of contents.

A second use case is user configuration, where custom variables can be set in configuration files or headers and then referenced in templates or markup with the syntax ${ref.path}.

The key is a path separated by '.', which allows to reference nested objects in the configuration.

Built-in decoders are available for simple types like String, Int, Double, Boolean and any Seq consisting of those values.

It also comes with a decoder for Path, which resolves relative paths in the configuration against the (virtual) path of the origin.

This API is usually used with values obtained by parsing HOCON, as specified in https://github.com/lightbend/config/blob/master/HOCON.md, but the API is generic and can also be used with values specified programmatically.

Please note that Laika does not depend on the Typesafe Config library or any of its commonly used Scala wrappers or forks. It has its own HOCON parser, which implements the full spec while still being minimal and lightweight. It also ensures the FP properties are kept intact, e.g. it has full referential transparency and does not throw Exceptions like most of the alternatives.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object EmptyConfig.type
class ObjectConfig
object Config

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Config.type
class ConfigBuilder(fields: Seq[Field], origin: Origin, fallback: Config)

A builder for creating a Config instance programmatically.

A builder for creating a Config instance programmatically.

While it's most common in Laika that Config instances are obtained by parsing HOCON, instances can also be created entirely programmatically, or by a combination of HOCON and programmatic values if an existing fallback is used with builder.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object ConfigBuilder

Companion factory for ConfigBuilder instances.

Companion factory for ConfigBuilder instances.

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
trait ConfigDecoder[T]

A type class that can decode a ConfigValue to an instance of T.

A type class that can decode a ConfigValue to an instance of T.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Self type
object ConfigDecoder

Companion containing default decoder implementations for simple values and Seq's.

Companion containing default decoder implementations for simple values and Seq's.

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait ConfigEncoder[-T]

A type class that can encode a value of type T as a ConfigValue.

A type class that can encode a value of type T as a ConfigValue.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Self type
object ConfigEncoder

Companion containing default encoder implementations for simple values and Seq's.

Companion containing default encoder implementations for simple values and Seq's.

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait ConfigError

Base trait for all configuration errors that occurred during parsing, resolving, retrieving or convering configuration values.

Base trait for all configuration errors that occurred during parsing, resolving, retrieving or convering configuration values.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
case class ConfigErrors(failures: Type[ConfigError]) extends ConfigError

Multiple errors that occurred when processing configuration.

Multiple errors that occurred when processing configuration.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ConfigError
class Object
trait Matchable
class Any
Show all
case class ConfigException(error: ConfigError) extends RuntimeException

A ConfigError as a RuntimeException for use cases where a Throwable is required.

A ConfigError as a RuntimeException for use cases where a Throwable is required.

Attributes

Supertypes
trait Product
trait Equals
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
trait ConfigParser

A parser for obtaining a Config instance from a HOCON string.

A parser for obtaining a Config instance from a HOCON string.

The HOCON format expected by this parsers is specified at https://github.com/lightbend/config/blob/master/HOCON.md

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object ConfigParser

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
case class ConfigParserError(failure: Failure) extends ConfigError

An error that occurred when parsing HOCON input.

An error that occurred when parsing HOCON input.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ConfigError
class Object
trait Matchable
class Any
Show all
case class ConfigParserErrors(failures: Seq[Failure]) extends ConfigError

Multiple errors that occurred when parsing HOCON input.

Multiple errors that occurred when parsing HOCON input.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ConfigError
class Object
trait Matchable
class Any
Show all
case class ConfigResolverError(message: String) extends ConfigError

An error that occurred when resolving the interim result of a parsing operation.

An error that occurred when resolving the interim result of a parsing operation.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ConfigError
class Object
trait Matchable
class Any
Show all
case class ConfigResourceError(message: String) extends ConfigError

An error that occurred when loading a resource, before parsing could start.

An error that occurred when loading a resource, before parsing could start.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ConfigError
class Object
trait Matchable
class Any
Show all
sealed trait ConfigValue extends Product, Serializable

The base trait for all configuration values.

The base trait for all configuration values.

This data structure is quite similar to those found in common JSON libraries (HOCON is a JSON superset after all).

The only exception is one special type: the ASTValue which can hold an instance of a document AST obtained from parsing text markup.

This can be useful in scenarios where substitution variables in templates or markup want to refer to other AST elements and include them into their AST tree as is.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class ASTValue
class ArrayValue
class ObjectValue
class BooleanValue
class DoubleValue
class LongValue
object NullValue.type
class StringValue
Show all
case class DecodingError(error: String, key: Option[Key]) extends ConfigError

An error that occurred when decoding a configuration value to a target type.

An error that occurred when decoding a configuration value to a target type.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ConfigError
class Object
trait Matchable
class Any
Show all
trait DefaultKey[T]

A defaultKey can be used for commonly used configuration objects like AutonumberConfig that are expected to be mapped to a specific key, like autonumbering without requiring the user to remember these keys.

A defaultKey can be used for commonly used configuration objects like AutonumberConfig that are expected to be mapped to a specific key, like autonumbering without requiring the user to remember these keys.

val config: Config = ???
val res: ConfigResult[AutonumberConfig] = config.get[AutonumberConfig]

In the example above retrieval happens solely based on the type of the result with the associated key being specified by an implicit DefaultKey.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object DefaultKey

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
DefaultKey.type
case class DocumentConfigErrors(path: Path, failures: Type[ConfigError]) extends ConfigError

Multiple errors that occurred when processing configuration for a document.

Multiple errors that occurred when processing configuration for a document.

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait ConfigError
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
case class DoubleValue(value: Double) extends SimpleConfigValue

Attributes

Supertypes
trait ConfigValue
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object EmptyConfig extends Config

An empty configuration instance.

An empty configuration instance.

Attributes

Supertypes
trait Config
class Object
trait Matchable
class Any
Self type
case class Field(key: String, value: ConfigValue, origin: Origin)

A single field of an object value.

A single field of an object value.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class InvalidType(expected: String, actual: ConfigValue) extends ConfigError

Indicates that a value found in the configuration does not have the expected type so that type conversion is not even attempted.

Indicates that a value found in the configuration does not have the expected type so that type conversion is not even attempted.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ConfigError
class Object
trait Matchable
class Any
Show all
case class Key(segments: Seq[String])

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Key

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Key.type
object LaikaKeys

Constants for configuration keys for the library's core configuration entries.

Constants for configuration keys for the library's core configuration entries.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
LaikaKeys.type
case class LongValue(value: Long) extends SimpleConfigValue

Attributes

Supertypes
trait ConfigValue
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class NotFound(key: Key) extends ConfigError

A required value that could not be found.

A required value that could not be found.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ConfigError
class Object
trait Matchable
class Any
Show all
case object NullValue extends SimpleConfigValue

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait ConfigValue
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
NullValue.type
class ObjectConfig(val root: ObjectValue, val origin: Origin, val fallback: Config) extends Config

The default implementation of the Config API.

The default implementation of the Config API.

Attributes

Supertypes
trait Config
class Object
trait Matchable
class Any
case class ObjectValue(values: Seq[Field]) extends ConfigValue

Attributes

Supertypes
trait ConfigValue
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class Origin(scope: Scope, path: Path, sourcePath: Option[String])

The origin of a configuration value.

The origin of a configuration value.

Origins can be used to distinguish values from a specific Config instance from those which were inherited from a fallback, which might be relevant in scenarios where relative paths need to be resolved.

Value parameters

path

the virtual path of containing config instance in a document tree (not the key inside the configuration)

scope

the scope of the containing config instance

sourcePath

the path in the file system this configuration originates from, empty if it was constructed in memory

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Origin

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Origin.type
sealed trait SimpleConfigValue extends ConfigValue

Base trait for all simple configuration values.

Base trait for all simple configuration values.

Attributes

Supertypes
trait ConfigValue
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class BooleanValue
class DoubleValue
class LongValue
object NullValue.type
class StringValue
case class StringValue(value: String) extends SimpleConfigValue

Attributes

Supertypes
trait ConfigValue
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class Traced[T](value: T, origin: Origin)

A value tagged with its origin.

A value tagged with its origin.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class TreeConfigErrors(failures: Type[DocumentConfigErrors]) extends ConfigError

Multiple errors that occurred when processing configuration for a document tree.

Multiple errors that occurred when processing configuration for a document tree.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ConfigError
class Object
trait Matchable
class Any
Show all
case class ValidationError(message: String) extends ConfigError

A generic error for invalid values.

A generic error for invalid values.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ConfigError
class Object
trait Matchable
class Any
Show all