def self.read_one(reader)
return nil unless reader.forward
object = Job.new
object.href = reader.get_attribute('href')
value = reader.get_attribute('auto_cleared')
object.auto_cleared = value if not value.nil?
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('end_time')
object.end_time = value if not value.nil?
value = reader.get_attribute('external')
object.external = value if not value.nil?
value = reader.get_attribute('id')
object.id = value if not value.nil?
value = reader.get_attribute('last_updated')
object.last_updated = value if not value.nil?
value = reader.get_attribute('name')
object.name = value if not value.nil?
value = reader.get_attribute('start_time')
object.start_time = value if not value.nil?
value = reader.get_attribute('status')
object.status = value if not value.nil?
empty = reader.empty_element?
reader.read
return object if empty
while reader.forward do
case reader.node_name
when 'auto_cleared'
object.auto_cleared = Reader.read_boolean(reader)
when 'comment'
object.comment = Reader.read_string(reader)
when 'description'
object.description = Reader.read_string(reader)
when 'end_time'
object.end_time = Reader.read_date(reader)
when 'external'
object.external = Reader.read_boolean(reader)
when 'id'
object.id = Reader.read_string(reader)
when 'last_updated'
object.last_updated = Reader.read_date(reader)
when 'name'
object.name = Reader.read_string(reader)
when 'start_time'
object.start_time = Reader.read_date(reader)
when 'status'
object.status = Reader.read_string(reader)
when 'owner'
object.owner = UserReader.read_one(reader)
when 'steps'
object.steps = StepReader.read_many(reader)
when 'link'
read_link(reader, object)
else
reader.next_element
end
end
reader.read
return object
end