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/lightbend/config/issues/300" 014 * >https://github.com/lightbend/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}