Trait

org.ekrich.config.parser

ConfigDocument

Related Doc: package parser

Permalink

trait ConfigDocument extends AnyRef

Represents an individual HOCON or JSON file, preserving all formatting and syntax details. This can be used to replace individual values and exactly render the original text of the input.

Because this object is immutable, it is safe to use from multiple threads and there's no need for "defensive copies."

Do not implement interface ConfigDocument; it should only be implemented by the config library. Arbitrary implementations will not work because the library internals assume a specific concrete implementation. Also, this interface is likely to grow new methods over time, so third-party implementations will break.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ConfigDocument
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def hasPath(path: String): Boolean

    Permalink

    Returns a boolean indicating whether or not a ConfigDocument has a value at the desired path.

    Returns a boolean indicating whether or not a ConfigDocument has a value at the desired path. null counts as a value for purposes of this check.

    path

    the path to check

    returns

    true if the path exists in the document, otherwise false

  2. abstract def render: String

    Permalink

    The original text of the input, modified if necessary with any replaced or added values.

    The original text of the input, modified if necessary with any replaced or added values.

    returns

    the modified original text

  3. abstract def withValue(path: String, newValue: ConfigValue): ConfigDocument

    Permalink

    Returns a new ConfigDocument that is a copy of the current ConfigDocument, but with the desired value set at the desired path.

    Returns a new ConfigDocument that is a copy of the current ConfigDocument, but with the desired value set at the desired path. Works like #withValueText, but takes a ConfigValue instead of a string.

    path

    the path at which to set the desired value

    newValue

    the value to set at the desired path, represented as a ConfigValue. The rendered text of the ConfigValue will be inserted into the ConfigDocument.

    returns

    a copy of the ConfigDocument with the desired value at the desired path

  4. abstract def withValueText(path: String, newValue: String): ConfigDocument

    Permalink

    Returns a new ConfigDocument that is a copy of the current ConfigDocument, but with the desired value set at the desired path.

    Returns a new ConfigDocument that is a copy of the current ConfigDocument, but with the desired value set at the desired path. If the path exists, it will remove all duplicates before the final occurrence of the path, and replace the value at the final occurrence of the path. If the path does not exist, it will be added. If the document has an array as the root value, an exception will be thrown.

    path

    the path at which to set the desired value

    newValue

    the value to set at the desired path, represented as a string. This string will be parsed into a ConfigNode using the same options used to parse the entire document, and the text will be inserted as-is into the document. Leading and trailing comments, whitespace, or newlines are not allowed, and if present an exception will be thrown. If a concatenation is passed in for newValue but the document was parsed with JSON, the first value in the concatenation will be parsed and inserted into the ConfigDocument.

    returns

    a copy of the ConfigDocument with the desired value at the desired path

  5. abstract def withoutPath(path: String): ConfigDocument

    Permalink

    Returns a new ConfigDocument that is a copy of the current ConfigDocument, but with all values at the desired path removed.

    Returns a new ConfigDocument that is a copy of the current ConfigDocument, but with all values at the desired path removed. If the path does not exist in the document, a copy of the current document will be returned. If there is an array at the root, an exception will be thrown.

    path

    the path to remove from the document

    returns

    a copy of the ConfigDocument with the desired value removed from the document.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  16. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped