Class: Quark::MdkProtocol::JSONParser

Inherits:
DatawireQuarkCore::QuarkObject show all
Extended by:
DatawireQuarkCore::Static
Defined in:
lib/mdk_protocol.rb

Overview

Convert JSON-encoded strings into objects.

Constant Summary

Constants included from DatawireQuarkCore::Static

DatawireQuarkCore::Static::Unassigned

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from DatawireQuarkCore::Static

_lazy_statics, static, unlazy_statics

Methods inherited from DatawireQuarkCore::QuarkObject

#to_s

Constructor Details

#initializeJSONParser

Returns a new instance of JSONParser.



1210
1211
1212
1213
1214
# File 'lib/mdk_protocol.rb', line 1210

def initialize()
    self.__init_fields__

    nil
end

Instance Attribute Details

#_typeToClassObject

Returns the value of attribute _typeToClass.



1203
1204
1205
# File 'lib/mdk_protocol.rb', line 1203

def _typeToClass
  @_typeToClass
end

Instance Method Details

#__init_fields__Object



1272
1273
1274
1275
1276
1277
# File 'lib/mdk_protocol.rb', line 1272

def __init_fields__()
    
    self._typeToClass = {}

    nil
end

#_getClassObject



1246
1247
1248
1249
1250
1251
# File 'lib/mdk_protocol.rb', line 1246

def _getClass()
    
    return "mdk_protocol.JSONParser"

    nil
end

#_getField(name) ⇒ Object



1253
1254
1255
1256
1257
1258
1259
1260
1261
# File 'lib/mdk_protocol.rb', line 1253

def _getField(name)
    
    if ((name) == ("_typeToClass"))
        return (self)._typeToClass
    end
    return nil

    nil
end

#_setField(name, value) ⇒ Object



1263
1264
1265
1266
1267
1268
1269
1270
# File 'lib/mdk_protocol.rb', line 1263

def _setField(name, value)
    
    if ((name) == ("_typeToClass"))
        (self)._typeToClass = ::DatawireQuarkCore.cast(value) { ::Hash }
    end

    nil
end

#decode(message) ⇒ Object

Decode a String into an Object.



1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
# File 'lib/mdk_protocol.rb', line 1232

def decode(message)
    
    json = ::DatawireQuarkCore::JSONObject.parse(message)
    cls = ((self)._typeToClass)[json.getObjectItem("type").getString()]
    if ((cls) == (nil))
        return nil
    end
    instance = cls.construct(::DatawireQuarkCore::List.new([]))
    ::Quark.quark.fromJSON(cls, instance, json)
    return instance

    nil
end

#register(type, cls) ⇒ Object

Register a type field and the corresponding class.



1222
1223
1224
1225
1226
1227
# File 'lib/mdk_protocol.rb', line 1222

def register(type, cls)
    
    ((self)._typeToClass)[type] = (cls)

    nil
end