ern-api-gen
Version:
Electrode Native API generator
286 lines • 7.56 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
/* tslint:disable:variable-name */
const javaUtil_1 = require("../java/javaUtil");
const AbstractModel_1 = __importDefault(require("./AbstractModel"));
const factory_1 = __importDefault(require("./factory"));
class ModelImpl extends AbstractModel_1.default {
constructor() {
super(...arguments);
this.__isSimple = false;
}
_enum(value) {
if (Array.isArray(value)) {
this.__enum = value;
}
else if (value != null) {
this.__enum = [value];
}
return this;
}
getEnum() {
return this.___enum;
}
setEnum(_enum) {
this.___enum = _enum;
}
discriminator(discriminator) {
this.setDiscriminator(discriminator);
return this;
}
type(type) {
this.setType(type);
return this;
}
format(format) {
this.setFormat(format);
return this;
}
name(name) {
this.setName(name);
return this;
}
uniqueItems(uniqueItems) {
this.setUniqueItems(uniqueItems);
return this;
}
allowEmptyValue(allowEmptyValue) {
this.setAllowEmptyValue(allowEmptyValue);
return this;
}
description(description) {
this.setDescription(description);
return this;
}
property(key, property) {
this.addProperty(key, property);
return this;
}
example(example) {
this.setExample(example);
return this;
}
additionalProperties(additionalProperties) {
this.setAdditionalProperties(additionalProperties);
return this;
}
required(name) {
this.addRequired(name);
return this;
}
xml(xml) {
this.setXml(xml);
return this;
}
minimum(minimum) {
this.__minimum = minimum;
return this;
}
maximum(maximum) {
this.__maximum = maximum;
return this;
}
getDiscriminator() {
return this.__discriminator;
}
setDiscriminator(discriminator) {
this.__discriminator = discriminator;
}
getName() {
return this.__name;
}
setName(name) {
this.__name = name;
}
getDescription() {
return this.__description;
}
setDescription(description) {
this.__description = description;
}
isSimple() {
return this.__isSimple;
}
setSimple(isSimple) {
this.__isSimple = isSimple;
}
getAdditionalProperties() {
return this.__additionalProperties;
}
setAdditionalProperties(additionalProperties) {
this.type(ModelImpl.OBJECT);
this.__additionalProperties = additionalProperties;
}
getAllowEmptyValue() {
return this.__allowEmptyValue;
}
setAllowEmptyValue(allowEmptyValue) {
if (allowEmptyValue != null) {
this.__allowEmptyValue = allowEmptyValue;
}
}
getType() {
return this.__type;
}
setType(type) {
this.__type = type;
}
getFormat() {
return this.__format;
}
setFormat(format) {
this.__format = format;
}
addRequired(name) {
if (this.__required == null) {
this.__required = [];
}
this.__required.push(name);
const p = this.properties.get(name);
if (p != null) {
p.setRequired(true);
}
}
getRequired() {
const output = [];
if (this.properties != null) {
for (const [key, prop] of this.properties) {
if (prop != null && prop.getRequired()) {
output.push(key);
}
}
}
if (output.length === 0) {
return null;
}
javaUtil_1.Collections.sort(output);
return output;
}
setRequired(required) {
this.__required = required;
if (this.properties != null) {
for (const s of required) {
const p = this.properties.get(s);
if (p != null) {
p.setRequired(true);
}
}
}
}
addProperty(key, property) {
if (property == null) {
return;
}
if (this.properties == null) {
this.properties = javaUtil_1.newHashMap();
}
if (this.__required != null) {
if (this.__required.indexOf(key) > -1) {
property.setRequired(true);
}
}
this.properties.put(key, factory_1.default(property));
}
getProperties() {
return this.properties;
}
setProperties(properties) {
if (properties != null) {
for (const [key, property] of javaUtil_1.asMap(properties)) {
this.addProperty(key, property);
}
}
}
getExample() {
if (this.__example == null) {
// Empty
}
return this.__example;
}
setExample(example) {
this.__example = example;
}
getXml() {
return this.__xml;
}
setXml(xml) {
this.__xml = xml;
}
getDefaultValue() {
if (this.defaultValue == null) {
return null;
}
try {
if ('integer' === this.__type) {
return parseInt(this.defaultValue, 10);
}
if ('number' === this.__type) {
return parseFloat(this.defaultValue);
}
}
catch (e) {
return null;
}
return this.defaultValue;
}
setDefaultValue(defaultValue) {
this.defaultValue = defaultValue;
}
getMinimum() {
return this.__minimum;
}
setMinimum(minimum) {
this.__minimum = minimum;
}
getMaximum() {
return this.__maximum;
}
setMaximum(maximum) {
this.__maximum = maximum;
}
getUniqueItems() {
return this.__uniqueItems;
}
getReadOnly() {
return this.__readOnly;
}
setReadOnly(ro) {
this.__readOnly = ro;
}
setUniqueItems(uniqueItems) {
this.__uniqueItems = uniqueItems;
}
clone() {
const res = new ModelImpl();
res.__isSimple = this.__isSimple;
res.__enum = this.__enum;
res.___enum = this.___enum;
res.__minimum = this.__minimum;
res.__maximum = this.__maximum;
res.__discriminator = this.__discriminator;
res.__name = this.__name;
res.__description = this.__description;
res.__additionalProperties = this.__additionalProperties;
res.__allowEmptyValue = this.__allowEmptyValue;
res.__type = this.__type;
res.__format = this.__format;
res.__required = this.__required;
res.properties = this.properties;
res.__example = this.__example;
res.__xml = this.__xml;
res.defaultValue = this.defaultValue;
res.__uniqueItems = this.__uniqueItems;
res.__readOnly = this.__readOnly;
res.vendorExtensions = this.vendorExtensions;
res.externalDocs = this.externalDocs;
res.title = this.title;
res.reference = this.reference;
return res;
}
}
ModelImpl.OBJECT = 'object';
exports.default = ModelImpl;
//# sourceMappingURL=ModelImpl.js.map