def self.read_one(reader)
return nil unless reader.forward
object = Statistic.new
object.href = reader.get_attribute('href')
value = reader.get_attribute('comment')
object.comment = value if not value.nil?
value = reader.get_attribute('description')
object.description = value if not value.nil?
value = reader.get_attribute('id')
object.id = value if not value.nil?
value = reader.get_attribute('kind')
object.kind = value if not value.nil?
value = reader.get_attribute('name')
object.name = value if not value.nil?
value = reader.get_attribute('type')
object.type = value if not value.nil?
value = reader.get_attribute('unit')
object.unit = value if not value.nil?
empty = reader.empty_element?
reader.read
return object if empty
while reader.forward do
case reader.node_name
when 'comment'
object.comment = Reader.read_string(reader)
when 'description'
object.description = Reader.read_string(reader)
when 'id'
object.id = Reader.read_string(reader)
when 'kind'
object.kind = Reader.read_string(reader)
when 'name'
object.name = Reader.read_string(reader)
when 'type'
object.type = Reader.read_string(reader)
when 'unit'
object.unit = Reader.read_string(reader)
when 'values'
object.values = ValueReader.read_many(reader)
when 'brick'
object.brick = GlusterBrickReader.read_one(reader)
when 'disk'
object.disk = DiskReader.read_one(reader)
when 'gluster_volume'
object.gluster_volume = GlusterVolumeReader.read_one(reader)
when 'host'
object.host = HostReader.read_one(reader)
when 'host_nic'
object.host_nic = HostNicReader.read_one(reader)
when 'host_numa_node'
object.host_numa_node = NumaNodeReader.read_one(reader)
when 'nic'
object.nic = NicReader.read_one(reader)
when 'step'
object.step = StepReader.read_one(reader)
when 'vm'
object.vm = VmReader.read_one(reader)
else
reader.next_element
end
end
reader.read
return object
end