@@ -0,0 +1,1909 @@
+/**%0A * Copyright 2015 The original authors.%0A * %0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A * %0A *     http://www.apache.org/licenses/LICENSE-2.0%0A * %0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A * %0A**/%0A%0Apackage io.sundr.codegen.model;%0A%0Apublic interface Renderable %7B%0A%0A  /**%0A   * Render the type into a %7B@link String%7D for the purpose of code generation.%0A   * This is slightly different from the %60toString()%60 method as %60toString()%60 is mostly needed for logging / debugging and should be idempotent.%0A   * Regarding idempotency this method may yield different result based on the context it is used even if the internal state of the object does not change.%0A   * An example of such case, is a reference to class that may change based on the package from which it's refenced.%0A   *%0A   * @return the %7B@link String%7D representation of the object as it's meant to appear in the generated code.%0A   */%0A  default String render() %7B%0A    return toString();%0A  %7D%0A%0A  /**%0A   * Render the type into a %7B@link String%7D for the purpose of code generation.%0A   * This is slightly different from the %60toString()%60 method as %60toString()%60 is mostly needed for logging / debugging. %0A   * In contrast with its no-arg equivallent this method is idempotent.%0A   *%0A   * @param enclosingType The type that encoses the current %7B@link Renderable).%0A   * @return the %7B@link String%7D representation of the object as it's meant to appear in the generated code.%0A   */%0A  default String render(TypeDef enclosingType) %7B%0A    return toString();%0A  %7D%0A%7D%0A

Introduce the Renderable interface