UNPKG

hazelcast-client

Version:

Hazelcast - open source In-Memory Data Grid - client for NodeJS

107 lines 5.78 kB
"use strict"; var ClassDefinition_1 = require("./ClassDefinition"); var Util = require("../../Util"); var ClassDefinitionWriter = (function () { function ClassDefinitionWriter(portableContext, factoryId, classId, version) { this.index = 0; this.fieldDefinitions = {}; this.portableContext = portableContext; this.buildingDefinition = new ClassDefinition_1.ClassDefinition(factoryId, classId, version); } ClassDefinitionWriter.prototype.addFieldByType = function (fieldName, fieldType, factoryId, classId) { if (factoryId === void 0) { factoryId = 0; } if (classId === void 0) { classId = 0; } this.fieldDefinitions[fieldName] = new ClassDefinition_1.FieldDefinition(this.index, fieldName, fieldType, factoryId, classId); this.index += 1; }; ClassDefinitionWriter.prototype.writeInt = function (fieldName, value) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.INT); }; ClassDefinitionWriter.prototype.writeLong = function (fieldName, long) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.LONG); }; ClassDefinitionWriter.prototype.writeUTF = function (fieldName, str) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.UTF); }; ClassDefinitionWriter.prototype.writeBoolean = function (fieldName, value) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.BOOLEAN); }; ClassDefinitionWriter.prototype.writeByte = function (fieldName, value) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.BYTE); }; ClassDefinitionWriter.prototype.writeChar = function (fieldName, char) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.CHAR); }; ClassDefinitionWriter.prototype.writeDouble = function (fieldName, double) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.DOUBLE); }; ClassDefinitionWriter.prototype.writeFloat = function (fieldName, float) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.FLOAT); }; ClassDefinitionWriter.prototype.writeShort = function (fieldName, value) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.SHORT); }; ClassDefinitionWriter.prototype.writePortable = function (fieldName, portable) { Util.assertNotNull(portable); var nestedCD = this.portableContext.lookupOrRegisterClassDefinition(portable); this.addFieldByType(fieldName, ClassDefinition_1.FieldType.PORTABLE, nestedCD.getFactoryId(), nestedCD.getClassId()); }; ClassDefinitionWriter.prototype.writeNullPortable = function (fieldName, factoryId, classId) { var version = 0; var nestedCD = this.portableContext.lookupClassDefinition(factoryId, classId, version); if (nestedCD === null) { throw new RangeError('Cannot write null portable without explicitly registering class definition!'); } this.addFieldByType(fieldName, ClassDefinition_1.FieldType.PORTABLE, nestedCD.getFactoryId(), nestedCD.getClassId()); }; ClassDefinitionWriter.prototype.writeByteArray = function (fieldName, bytes) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.BYTE_ARRAY); }; ClassDefinitionWriter.prototype.writeBooleanArray = function (fieldName, booleans) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.BOOLEAN_ARRAY); }; ClassDefinitionWriter.prototype.writeCharArray = function (fieldName, chars) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.CHAR_ARRAY); }; ClassDefinitionWriter.prototype.writeIntArray = function (fieldName, ints) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.INT_ARRAY); }; ClassDefinitionWriter.prototype.writeLongArray = function (fieldName, longs) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.LONG_ARRAY); }; ClassDefinitionWriter.prototype.writeDoubleArray = function (fieldName, doubles) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.DOUBLE_ARRAY); }; ClassDefinitionWriter.prototype.writeFloatArray = function (fieldName, floats) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.FLOAT_ARRAY); }; ClassDefinitionWriter.prototype.writeShortArray = function (fieldName, shorts) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.SHORT_ARRAY); }; ClassDefinitionWriter.prototype.writeUTFArray = function (fieldName, val) { this.addFieldByType(fieldName, ClassDefinition_1.FieldType.UTF_ARRAY); }; ClassDefinitionWriter.prototype.writePortableArray = function (fieldName, portables) { Util.assertNotNull(portables); if (portables.length === 0) { throw new RangeError('Cannot write empty array!'); } var sample = portables[0]; var nestedCD = this.portableContext.lookupOrRegisterClassDefinition(sample); this.addFieldByType(fieldName, ClassDefinition_1.FieldType.PORTABLE_ARRAY, nestedCD.getFactoryId(), nestedCD.getClassId()); }; ClassDefinitionWriter.prototype.end = function () { for (var field in this.fieldDefinitions) { this.buildingDefinition.addFieldDefinition(this.fieldDefinitions[field]); } }; ClassDefinitionWriter.prototype.getDefinition = function () { return this.buildingDefinition; }; ClassDefinitionWriter.prototype.registerAndGet = function () { return this.portableContext.registerClassDefinition(this.buildingDefinition); }; return ClassDefinitionWriter; }()); exports.ClassDefinitionWriter = ClassDefinitionWriter; //# sourceMappingURL=ClassDefinitionWriter.js.map