    001/**
    002 *   Copyright (C) 2015 Typesafe Inc. <http://typesafe.com>
    003 */
    004package com.typesafe.config.parser;
    005
    006/**
    007 * A node in the syntax tree for a HOCON or JSON document.
    008 *
    009 * <p>
    010 * Note: at present there is no way to obtain an instance of this interface, so
    011 * please ignore it. A future release will make syntax tree nodes available in
    012 * the public API. If you are interested in working on it, please see: <a
    013 * href="https://github.com/typesafehub/config/issues/300"
    014 * >https://github.com/typesafehub/config/issues/300</a>
    015 *
    016 * <p>
    017 * Because this object is immutable, it is safe to use from multiple threads and
    018 * there's no need for "defensive copies."
    019 *
    020 * <p>
    021 * <em>Do not implement interface {@code ConfigNode}</em>; it should only be
    022 * implemented by the config library. Arbitrary implementations will not work
    023 * because the library internals assume a specific concrete implementation.
    024 * Also, this interface is likely to grow new methods over time, so third-party
    025 * implementations will break.
    026 */
    027public interface ConfigNode {
    028    /**
    029     * The original text of the input which was used to form this particular
    030     * node.
    031     *
    032     * @return the original text used to form this node as a String
    033     */
    034    public String render();
    035}