handlebars.JavaJaxRS.resteasy.interface.mustache Maven / Gradle / Ivy
{{#jackson}}
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo; //
{{/jackson}}
/**
* {{#description}}{{.}}{{/description}}{{^description}}{{classname}}{{/description}}
*/
{{#jackson}}
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{#discriminator}}{{#propertyName}}{{propertyName}}{{/propertyName}}{{^propertyName}}type{{/propertyName}}{{/discriminator}}{{^discriminator}}type{{/discriminator}}")
@JsonSubTypes({
{{#subTypes}}
@JsonSubTypes.Type(value = {{classname}}.class, name = "{{classname}}"){{^@last}},{{/@last}}
{{/subTypes}}
})
{{/jackson}}
public interface {{{classname}}} {
{{#vendorExtensions}}
{{#x-discriminator-type-getter}}
{{x-discriminator-type}} {{x-discriminator-type-getter}}();
{{/x-discriminator-type-getter}}
{{/vendorExtensions}}
}