| ## Copyright 2014 Google LLC |
| ## |
| ## Licensed under the Apache License, Version 2.0 (the "License"); |
| ## you may not use this file except in compliance with the License. |
| ## You may obtain a copy of the License at |
| ## |
| ## http://www.apache.org/licenses/LICENSE-2.0 |
| ## |
| ## Unless required by applicable law or agreed to in writing, software |
| ## distributed under the License is distributed on an "AS IS" BASIS, |
| ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ## See the License for the specific language governing permissions and |
| ## limitations under the License. |
| |
| ## Template for each generated AutoValue_Foo class. |
| ## This template uses the Apache Velocity Template Language (VTL). |
| ## The variables ($pkg, $props, and so on) are defined by the fields of AutoBuilderTemplateVars. |
| ## |
| ## Comments, like this one, begin with ##. The comment text extends up to and including the newline |
| ## character at the end of the line. So comments also serve to join a line to the next one. |
| ## Velocity deletes a newline after a directive (#if, #foreach, #end etc) so ## is not needed there. |
| ## That does mean that we sometimes need an extra blank line after such a directive. |
| ## |
| ## Post-processing will remove unwanted spaces and blank lines, but will not join two lines. |
| ## It will also replace classes spelled as (e.g.) `java.util.Arrays`, with the backquotes, to |
| ## use just Arrays if that class can be imported unambiguously, or java.util.Arrays if not. |
| |
| #if (!$pkg.empty) |
| package $pkg; |
| #end |
| |
| ## The following line will be replaced by the required imports during post-processing. |
| `import` |
| |
| #if (!$generated.empty) |
| @${generated}("com.google.auto.value.processor.AutoBuilderProcessor") |
| #else |
| // Generated by com.google.auto.value.processor.AutoBuilderProcessor |
| #end |
| #set($autoBuilder = true) |
| #parse("builder.vm") |