com.adgear.avro.plugin.templates.enum.vm Maven / Gradle / Ivy
##
## Licensed to the Apache Software Foundation (ASF) under one
## or more contributor license agreements. See the NOTICE file
## distributed with this work for additional information
## regarding copyright ownership. The ASF licenses this file
## to you 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.
##
#if ($schema.getNamespace())
package $schema.getNamespace();
#end
#if ($schema.getDoc())
#foreach ($imp in $this.javaImports($schema.getDoc()))
import $imp;
#end
/** $schema.getDoc() */
@SuppressWarnings("all")
#foreach ($annotation in $this.javaAnnotations($schema, $schema.getDoc()))
@$annotation
#end
#else
#foreach ($annotation in $this.javaAnnotations($schema))
@$annotation
#end
#end
@org.apache.avro.specific.AvroGenerated
public enum ${this.mangle($schema.getName())} {
#foreach ($symbol in ${schema.getEnumSymbols()})${this.mangle($symbol)}#if ($velocityHasNext), #end#end
;
public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("${this.javaEscape($schema.toString())}");
public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
public static ${this.mangle($schema.getName())} fromInteger(java.lang.Integer ordinal, ${this.mangle($schema.getName())} defaultValue) {
if (ordinal == null) {
return defaultValue;
}
switch (ordinal) {
#set( $i = 0 )
#foreach ($symbol in ${schema.getEnumSymbols()})
case $i: return ${this.mangle($symbol)};
#set( $i = $i + 1 )
#end
}
return defaultValue;
}
public static ${this.mangle($schema.getName())} fromInteger(java.lang.Integer ordinal) {
return fromInteger(ordinal, null);
}
public static boolean hasFromInteger(java.lang.Integer ordinal) {
if (ordinal == null) {
return false;
}
return ordinal >= 0 && ordinal < ${schema.getEnumSymbols().size()};
}
public static ${this.mangle($schema.getName())} fromString(${this.getStringType()} str, ${this.mangle($schema.getName())} defaultValue) {
if (str == null) {
return defaultValue;
}
final java.lang.String s = str.toString().toUpperCase();
#set( $i = 0 )
#foreach ($symbol in ${schema.getEnumSymbols()})
if (s.equals("${this.mangle($symbol)}")) {
return ${this.mangle($symbol)};
} else
#set( $i = $i + 1 )
#end
return defaultValue;
}
public static ${this.mangle($schema.getName())} fromString(${this.getStringType()} str) {
return fromString(str, null);
}
public static boolean hasFromString(${this.getStringType()} str) {
if (str == null) {
return false;
}
final java.lang.String s = str.toString().toUpperCase();
#set( $i = 0 )
#foreach ($symbol in ${schema.getEnumSymbols()})
#if ($i == 0)
return s.equals("${this.mangle($symbol)}")
#set( $i = 1)
#else
|| s.equals("${this.mangle($symbol)}")
#end
#end
;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy