final class Configure extends AnyRef
Reads values from application configuration resource
A configuration resource consists of a hierarchical set of properties. The resource uses a superset of the JSON format called HOCON to specify settings.
Example configuration file:
server { # The interface the server should bind to for servicing requests. # The default value of 0.0.0.0 forces the server to bind to all # interfaces on the machine. interface = 0.0.0.0 interface = ${?SERVER_INTERFACE} # The port the server should bind to when accepting requests. The # default port used is 8000. port = 8000 port = ${?SERVER_PORT} }
Property values are read using the read
method defined in this class:
val result: Either[Error, (String, Int)] = for { config <- Configure() interface <- config.read[String] port <- config.read[Int] } yield (interface, port)
The read
method returns an Error if the
property cannot be read as the type requested.
- Source
- Configure.scala
- Alphabetic
- By Inheritance
- Configure
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val config: Config
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def read[A](key: String)(implicit arg0: ConfigureReader[A]): Either[Error, A]
Returns a configuration setting for a given key
Returns a configuration setting for a given key
The key is specified as a dot separated list of property names. The list ordered from the outer most property name to the inner most property name. For example, a key value of 'server.port' indicates the
port
value should be returned under theserver
object.Examples:
config.read[Int]("server.port") config.read[String]("server.interface") config.read[Number]("server.port") config.read[List[Int]]("server.ports") config.read[List[String]]("server.interfaces") config.read[List[Number]]("server.ports")
- A
type of the ConfigureReader required to read given type
- key
of setting to be retrieved
- returns
property value as requested type, otherwise an Error
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Documentation for the Axiell Utilities Project
Overview
The Axiell Utilities Project attempts to provide a small library of classes and object applicable to most Axiell developments. The library is not geared towards any one project and so should be useful for new projects as well as existing ones.
The library is based on a few simple principles, namely:
Package structure
The
package consists of a number of utilities, where each utility provides a single piece of functionality.com.axiell.util
Notable utilities are:
Configure
generic configuration reader allowing application settings defined as resources to be interrogated.Error
generic error handling class defining a locale independent error message along with details relating to the context of the error. The context may include an exception and other relevant values.Formatter
retrieves and formats a locale specific string from a specified resource bundle. The formatting is specified in aC
printf style.Implicits
implements implicit methods and classes used to pimp methods onto existing classes (e.g.fold()
method toBoolean
class) and to provide implicit implementations for the JsonLocal and ShowLocal type classes.JsonLocal
type class used to output locale specific JSON structures. Implementations exist for Message and Error.Message
provides a locale independent mechanism for handling strings. The strings for a given locale are stored in resource bundles that are accessed when the message is to be displayed.ShowLocal
type class used to show locale specific strings. Allows Message and Error to be converted to a given language string.Dependencies
The list of dependencies are:
Typesafe Config
a generic configuration file reader. The library is used by theConfigure
class to access settings stored as resources within an application.