#
# 
#
# Generated by <a href="http://enunciate.codehaus.org">Enunciate</a>.
#
require 'json'

# adding necessary json serialization methods to standard classes.
class Object
  def to_jaxb_json_hash
    return self
  end
  def self.from_json o
    return o
  end
end

class String
  def self.from_json o
    return o
  end
end

class Boolean
  def self.from_json o
    return o
  end
end

class Numeric
  def self.from_json o
    return o
  end
end

class Time
  #json time is represented as number of milliseconds since epoch
  def to_jaxb_json_hash
    return (to_i * 1000) + (usec / 1000)
  end
  def self.from_json o
    if o.nil?
      return nil
    else
      return Time.at(o / 1000, (o % 1000) * 1000)
    end
  end
end

class Array
  def to_jaxb_json_hash
    a = Array.new
    each { | _item | a.push _item.to_jaxb_json_hash }
    return a
  end
end

class Hash
  def to_jaxb_json_hash
    h = Hash.new
    each { | _key, _value | h[_key.to_jaxb_json_hash] = _value.to_jaxb_json_hash }
    return h
  end
end


module Eu

module Openanalytics

module Rsb

module Rest

module Types

  # <p>Java class for catalogFileType complex type.
  # 
  # <p>The following schema fragment specifies the expected content contained within this class.
  # 
  # <pre>
  # &lt;complexType name="catalogFileType">
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="dataUri" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # </pre>
  class CatalogFileType 

    # (no documentation provided)
    attr_accessor :name
    # (no documentation provided)
    attr_accessor :dataUri

    # the json hash for this CatalogFileType
    def to_jaxb_json_hash
      _h = {}
      _h['name'] = name.to_jaxb_json_hash unless name.nil?
      _h['dataUri'] = dataUri.to_jaxb_json_hash unless dataUri.nil?
      return _h
    end

    # the json (string form) for this CatalogFileType
    def to_json
      to_jaxb_json_hash.to_json
    end

    #initializes this CatalogFileType with a json hash
    def init_jaxb_json_hash(_o)
      @name = String.from_json(_o['name']) unless _o['name'].nil?
      @dataUri = String.from_json(_o['dataUri']) unless _o['dataUri'].nil?
    end

    # constructs a CatalogFileType from a (parsed) JSON hash
    def self.from_json(o)
      if o.nil?
        return nil
      else
        inst = new
        inst.init_jaxb_json_hash o
        return inst
      end
    end
  end

end

end

end

end

end

module Eu

module Openanalytics

module Rsb

module Rest

module Types

  # <p>Java class for errorResultType complex type.
  # 
  # <p>The following schema fragment specifies the expected content contained within this class.
  # 
  # <pre>
  # &lt;complexType name="errorResultType">
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;sequence>
  # &lt;element name="errorMessage" type="{http://www.w3.org/2001/XMLSchema}string"/>
  # &lt;/sequence>
  # &lt;attribute name="jobId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="applicationName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="submissionTime" use="required" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # </pre>
  class ErrorResult 

    # (no documentation provided)
    attr_accessor :jobId
    # (no documentation provided)
    attr_accessor :applicationName
    # (no documentation provided)
    attr_accessor :submissionTime
    # (no documentation provided)
    attr_accessor :errorMessage

    # the json hash for this ErrorResult
    def to_jaxb_json_hash
      _h = {}
      _h['jobId'] = jobId.to_jaxb_json_hash unless jobId.nil?
      _h['applicationName'] = applicationName.to_jaxb_json_hash unless applicationName.nil?
      _h['submissionTime'] = submissionTime.to_jaxb_json_hash unless submissionTime.nil?
      _h['errorMessage'] = errorMessage.to_jaxb_json_hash unless errorMessage.nil?
      return _h
    end

    # the json (string form) for this ErrorResult
    def to_json
      to_jaxb_json_hash.to_json
    end

    #initializes this ErrorResult with a json hash
    def init_jaxb_json_hash(_o)
      @jobId = String.from_json(_o['jobId']) unless _o['jobId'].nil?
      @applicationName = String.from_json(_o['applicationName']) unless _o['applicationName'].nil?
      @submissionTime = String.from_json(_o['submissionTime']) unless _o['submissionTime'].nil?
      @errorMessage = String.from_json(_o['errorMessage']) unless _o['errorMessage'].nil?
    end

    # constructs a ErrorResult from a (parsed) JSON hash
    def self.from_json(o)
      if o.nil?
        return nil
      else
        inst = new
        inst.init_jaxb_json_hash o
        return inst
      end
    end
  end

end

end

end

end

end

module Eu

module Openanalytics

module Rsb

module Rest

module Types

  # <p>Java class for jobTokenType complex type.
  # 
  # <p>The following schema fragment specifies the expected content contained within this class.
  # 
  # <pre>
  # &lt;complexType name="jobTokenType">
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;attribute name="jobId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="applicationName" use="required" type="{http://rsb.openanalytics.eu/types}applicationNameType" />
  # &lt;attribute name="submissionTime" use="required" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
  # &lt;attribute name="applicationResultsUri" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
  # &lt;attribute name="resultUri" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # </pre>
  class JobToken 

    # (no documentation provided)
    attr_accessor :jobId
    # (no documentation provided)
    attr_accessor :applicationName
    # (no documentation provided)
    attr_accessor :submissionTime
    # (no documentation provided)
    attr_accessor :applicationResultsUri
    # (no documentation provided)
    attr_accessor :resultUri

    # the json hash for this JobToken
    def to_jaxb_json_hash
      _h = {}
      _h['jobId'] = jobId.to_jaxb_json_hash unless jobId.nil?
      _h['applicationName'] = applicationName.to_jaxb_json_hash unless applicationName.nil?
      _h['submissionTime'] = submissionTime.to_jaxb_json_hash unless submissionTime.nil?
      _h['applicationResultsUri'] = applicationResultsUri.to_jaxb_json_hash unless applicationResultsUri.nil?
      _h['resultUri'] = resultUri.to_jaxb_json_hash unless resultUri.nil?
      return _h
    end

    # the json (string form) for this JobToken
    def to_json
      to_jaxb_json_hash.to_json
    end

    #initializes this JobToken with a json hash
    def init_jaxb_json_hash(_o)
      @jobId = String.from_json(_o['jobId']) unless _o['jobId'].nil?
      @applicationName = String.from_json(_o['applicationName']) unless _o['applicationName'].nil?
      @submissionTime = String.from_json(_o['submissionTime']) unless _o['submissionTime'].nil?
      @applicationResultsUri = String.from_json(_o['applicationResultsUri']) unless _o['applicationResultsUri'].nil?
      @resultUri = String.from_json(_o['resultUri']) unless _o['resultUri'].nil?
    end

    # constructs a JobToken from a (parsed) JSON hash
    def self.from_json(o)
      if o.nil?
        return nil
      else
        inst = new
        inst.init_jaxb_json_hash o
        return inst
      end
    end
  end

end

end

end

end

end

module Eu

module Openanalytics

module Rsb

module Rest

module Types

  # <p>Java class for rServiPoolType complex type.
  # 
  # <p>The following schema fragment specifies the expected content contained within this class.
  # 
  # <pre>
  # &lt;complexType name="rServiPoolType">
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;attribute name="poolUri" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
  # &lt;attribute name="applicationNames" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="default" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # </pre>
  class RServiPoolType 

    # (no documentation provided)
    attr_accessor :poolUri
    # (no documentation provided)
    attr_accessor :applicationNames
    # (no documentation provided)
    attr_accessor :_default

    # the json hash for this RServiPoolType
    def to_jaxb_json_hash
      _h = {}
      _h['poolUri'] = poolUri.to_jaxb_json_hash unless poolUri.nil?
      _h['applicationNames'] = applicationNames.to_jaxb_json_hash unless applicationNames.nil?
      _h['default'] = _default.to_jaxb_json_hash unless _default.nil?
      return _h
    end

    # the json (string form) for this RServiPoolType
    def to_json
      to_jaxb_json_hash.to_json
    end

    #initializes this RServiPoolType with a json hash
    def init_jaxb_json_hash(_o)
      @poolUri = String.from_json(_o['poolUri']) unless _o['poolUri'].nil?
      @applicationNames = String.from_json(_o['applicationNames']) unless _o['applicationNames'].nil?
      @_default = Boolean.from_json(_o['default']) unless _o['default'].nil?
    end

    # constructs a RServiPoolType from a (parsed) JSON hash
    def self.from_json(o)
      if o.nil?
        return nil
      else
        inst = new
        inst.init_jaxb_json_hash o
        return inst
      end
    end
  end

end

end

end

end

end

module Eu

module Openanalytics

module Rsb

module Rest

module Types

  # <p>Java class for resultType complex type.
  # 
  # <p>The following schema fragment specifies the expected content contained within this class.
  # 
  # <pre>
  # &lt;complexType name="resultType">
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;attribute name="jobId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="applicationName" use="required" type="{http://rsb.openanalytics.eu/types}applicationNameType" />
  # &lt;attribute name="resultTime" use="required" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
  # &lt;attribute name="success" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
  # &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="selfUri" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
  # &lt;attribute name="dataUri" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # </pre>
  class Result 

    # (no documentation provided)
    attr_accessor :jobId
    # (no documentation provided)
    attr_accessor :applicationName
    # (no documentation provided)
    attr_accessor :resultTime
    # (no documentation provided)
    attr_accessor :success
    # (no documentation provided)
    attr_accessor :type
    # (no documentation provided)
    attr_accessor :selfUri
    # (no documentation provided)
    attr_accessor :dataUri

    # the json hash for this Result
    def to_jaxb_json_hash
      _h = {}
      _h['jobId'] = jobId.to_jaxb_json_hash unless jobId.nil?
      _h['applicationName'] = applicationName.to_jaxb_json_hash unless applicationName.nil?
      _h['resultTime'] = resultTime.to_jaxb_json_hash unless resultTime.nil?
      _h['success'] = success.to_jaxb_json_hash unless success.nil?
      _h['type'] = type.to_jaxb_json_hash unless type.nil?
      _h['selfUri'] = selfUri.to_jaxb_json_hash unless selfUri.nil?
      _h['dataUri'] = dataUri.to_jaxb_json_hash unless dataUri.nil?
      return _h
    end

    # the json (string form) for this Result
    def to_json
      to_jaxb_json_hash.to_json
    end

    #initializes this Result with a json hash
    def init_jaxb_json_hash(_o)
      @jobId = String.from_json(_o['jobId']) unless _o['jobId'].nil?
      @applicationName = String.from_json(_o['applicationName']) unless _o['applicationName'].nil?
      @resultTime = String.from_json(_o['resultTime']) unless _o['resultTime'].nil?
      @success = Boolean.from_json(_o['success']) unless _o['success'].nil?
      @type = String.from_json(_o['type']) unless _o['type'].nil?
      @selfUri = String.from_json(_o['selfUri']) unless _o['selfUri'].nil?
      @dataUri = String.from_json(_o['dataUri']) unless _o['dataUri'].nil?
    end

    # constructs a Result from a (parsed) JSON hash
    def self.from_json(o)
      if o.nil?
        return nil
      else
        inst = new
        inst.init_jaxb_json_hash o
        return inst
      end
    end
  end

end

end

end

end

end

module Eu

module Openanalytics

module Rsb

module Soap

module Types

  # <p>Java class for jobType complex type.
  # 
  # <p>The following schema fragment specifies the expected content contained within this class.
  # 
  # <pre>
  # &lt;complexType name="jobType">
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;sequence>
  # &lt;element name="applicationName" type="{http://rsb.openanalytics.eu/types}applicationNameType"/>
  # &lt;element name="parameter" maxOccurs="unbounded" minOccurs="0">
  # &lt;complexType>
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # &lt;/element>
  # &lt;element name="payload" type="{http://soap.rsb.openanalytics.eu/types}payloadType" maxOccurs="unbounded"/>
  # &lt;/sequence>
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # </pre>
  class JobType 

    # (no documentation provided)
    attr_accessor :applicationName
    # (no documentation provided)
    attr_accessor :parameter
    # (no documentation provided)
    attr_accessor :payload

    # the json hash for this JobType
    def to_jaxb_json_hash
      _h = {}
      _h['applicationName'] = applicationName.to_jaxb_json_hash unless applicationName.nil?
      if !parameter.nil?
        _ha = Array.new
        parameter.each { | _item | _ha.push _item.to_jaxb_json_hash }
        _h['parameter'] = _ha
      end
      if !payload.nil?
        _ha = Array.new
        payload.each { | _item | _ha.push _item.to_jaxb_json_hash }
        _h['payload'] = _ha
      end
      return _h
    end

    # the json (string form) for this JobType
    def to_json
      to_jaxb_json_hash.to_json
    end

    #initializes this JobType with a json hash
    def init_jaxb_json_hash(_o)
      @applicationName = String.from_json(_o['applicationName']) unless _o['applicationName'].nil?
      if !_o['parameter'].nil?
        @parameter = Array.new
        _oa = _o['parameter']
        _oa.each { | _item | @parameter.push Eu::Openanalytics::Rsb::Soap::Types::Parameter.from_json(_item) }
      end
      if !_o['payload'].nil?
        @payload = Array.new
        _oa = _o['payload']
        _oa.each { | _item | @payload.push Eu::Openanalytics::Rsb::Soap::Types::PayloadType.from_json(_item) }
      end
    end

    # constructs a JobType from a (parsed) JSON hash
    def self.from_json(o)
      if o.nil?
        return nil
      else
        inst = new
        inst.init_jaxb_json_hash o
        return inst
      end
    end
  end

end

end

end

end

end

module Eu

module Openanalytics

module Rsb

module Soap

module Types

  # <p>Java class for payloadType complex type.
  # 
  # <p>The following schema fragment specifies the expected content contained within this class.
  # 
  # <pre>
  # &lt;complexType name="payloadType">
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;sequence>
  # &lt;element name="data" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
  # &lt;/sequence>
  # &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="contentType" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # </pre>
  class PayloadType 

    # (no documentation provided)
    attr_accessor :name
    # (no documentation provided)
    attr_accessor :contentType
    # (no documentation provided)
    attr_accessor :data

    # the json hash for this PayloadType
    def to_jaxb_json_hash
      _h = {}
      _h['name'] = name.to_jaxb_json_hash unless name.nil?
      _h['contentType'] = contentType.to_jaxb_json_hash unless contentType.nil?
      _h['data'] = data.to_jaxb_json_hash unless data.nil?
      return _h
    end

    # the json (string form) for this PayloadType
    def to_json
      to_jaxb_json_hash.to_json
    end

    #initializes this PayloadType with a json hash
    def init_jaxb_json_hash(_o)
      @name = String.from_json(_o['name']) unless _o['name'].nil?
      @contentType = String.from_json(_o['contentType']) unless _o['contentType'].nil?
      @data = String.from_json(_o['data']) unless _o['data'].nil?
    end

    # constructs a PayloadType from a (parsed) JSON hash
    def self.from_json(o)
      if o.nil?
        return nil
      else
        inst = new
        inst.init_jaxb_json_hash o
        return inst
      end
    end
  end

end

end

end

end

end

module Eu

module Openanalytics

module Rsb

module Soap

module Types

  # <p>Java class for resultType complex type.
  # 
  # <p>The following schema fragment specifies the expected content contained within this class.
  # 
  # <pre>
  # &lt;complexType name="resultType">
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;sequence>
  # &lt;element name="applicationName" type="{http://rsb.openanalytics.eu/types}applicationNameType"/>
  # &lt;element name="jobId" type="{http://www.w3.org/2001/XMLSchema}string"/>
  # &lt;element name="success" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
  # &lt;element name="payload" type="{http://soap.rsb.openanalytics.eu/types}payloadType" maxOccurs="unbounded"/>
  # &lt;/sequence>
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # </pre>
  class ResultType 

    # (no documentation provided)
    attr_accessor :applicationName
    # (no documentation provided)
    attr_accessor :jobId
    # (no documentation provided)
    attr_accessor :success
    # (no documentation provided)
    attr_accessor :payload

    # the json hash for this ResultType
    def to_jaxb_json_hash
      _h = {}
      _h['applicationName'] = applicationName.to_jaxb_json_hash unless applicationName.nil?
      _h['jobId'] = jobId.to_jaxb_json_hash unless jobId.nil?
      _h['success'] = success.to_jaxb_json_hash unless success.nil?
      if !payload.nil?
        _ha = Array.new
        payload.each { | _item | _ha.push _item.to_jaxb_json_hash }
        _h['payload'] = _ha
      end
      return _h
    end

    # the json (string form) for this ResultType
    def to_json
      to_jaxb_json_hash.to_json
    end

    #initializes this ResultType with a json hash
    def init_jaxb_json_hash(_o)
      @applicationName = String.from_json(_o['applicationName']) unless _o['applicationName'].nil?
      @jobId = String.from_json(_o['jobId']) unless _o['jobId'].nil?
      @success = Boolean.from_json(_o['success']) unless _o['success'].nil?
      if !_o['payload'].nil?
        @payload = Array.new
        _oa = _o['payload']
        _oa.each { | _item | @payload.push Eu::Openanalytics::Rsb::Soap::Types::PayloadType.from_json(_item) }
      end
    end

    # constructs a ResultType from a (parsed) JSON hash
    def self.from_json(o)
      if o.nil?
        return nil
      else
        inst = new
        inst.init_jaxb_json_hash o
        return inst
      end
    end
  end

end

end

end

end

end

module Eu

module Openanalytics

module Rsb

module Soap

module Types

  # <p>Java class for anonymous complex type.
  # 
  # <p>The following schema fragment specifies the expected content contained within this class.
  # 
  # <pre>
  # &lt;complexType>
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # </pre>
  class Parameter 

    # (no documentation provided)
    attr_accessor :name
    # (no documentation provided)
    attr_accessor :value

    # the json hash for this Parameter
    def to_jaxb_json_hash
      _h = {}
      _h['name'] = name.to_jaxb_json_hash unless name.nil?
      _h['value'] = value.to_jaxb_json_hash unless value.nil?
      return _h
    end

    # the json (string form) for this Parameter
    def to_json
      to_jaxb_json_hash.to_json
    end

    #initializes this Parameter with a json hash
    def init_jaxb_json_hash(_o)
      @name = String.from_json(_o['name']) unless _o['name'].nil?
      @value = String.from_json(_o['value']) unless _o['value'].nil?
    end

    # constructs a Parameter from a (parsed) JSON hash
    def self.from_json(o)
      if o.nil?
        return nil
      else
        inst = new
        inst.init_jaxb_json_hash o
        return inst
      end
    end
  end

end

end

end

end

end

module Eu

module Openanalytics

module Rsb

module Rest

module Types

  # <p>Java class for resultsType complex type.
  # 
  # <p>The following schema fragment specifies the expected content contained within this class.
  # 
  # <pre>
  # &lt;complexType name="resultsType">
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;sequence>
  # &lt;element name="result" type="{http://rest.rsb.openanalytics.eu/types}resultType" maxOccurs="unbounded" minOccurs="0"/>
  # &lt;/sequence>
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # </pre>
  class Results 

    # (no documentation provided)
    attr_accessor :contents

    # the json hash for this Results
    def to_jaxb_json_hash
      _h = {}
      if !contents.nil?
        _ha = Array.new
        contents.each { | _item | _ha.push _item.to_jaxb_json_hash }
        _h['result'] = _ha
      end
      return _h
    end

    # the json (string form) for this Results
    def to_json
      to_jaxb_json_hash.to_json
    end

    #initializes this Results with a json hash
    def init_jaxb_json_hash(_o)
      if !_o['result'].nil?
        @contents = Array.new
        _oa = _o['result']
        _oa.each { | _item | @contents.push Eu::Openanalytics::Rsb::Rest::Types::Result.from_json(_item) }
      end
    end

    # constructs a Results from a (parsed) JSON hash
    def self.from_json(o)
      if o.nil?
        return nil
      else
        inst = new
        inst.init_jaxb_json_hash o
        return inst
      end
    end
  end

end

end

end

end

end

module Eu

module Openanalytics

module Rsb

module Rest

module Types

  # <p>Java class for rServiPoolsType complex type.
  # 
  # <p>The following schema fragment specifies the expected content contained within this class.
  # 
  # <pre>
  # &lt;complexType name="rServiPoolsType">
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;sequence>
  # &lt;element name="rServiPool" type="{http://rest.rsb.openanalytics.eu/types}rServiPoolType" maxOccurs="unbounded"/>
  # &lt;/sequence>
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # </pre>
  class RServiPools 

    # (no documentation provided)
    attr_accessor :contents

    # the json hash for this RServiPools
    def to_jaxb_json_hash
      _h = {}
      if !contents.nil?
        _ha = Array.new
        contents.each { | _item | _ha.push _item.to_jaxb_json_hash }
        _h['rServiPool'] = _ha
      end
      return _h
    end

    # the json (string form) for this RServiPools
    def to_json
      to_jaxb_json_hash.to_json
    end

    #initializes this RServiPools with a json hash
    def init_jaxb_json_hash(_o)
      if !_o['rServiPool'].nil?
        @contents = Array.new
        _oa = _o['rServiPool']
        _oa.each { | _item | @contents.push Eu::Openanalytics::Rsb::Rest::Types::RServiPoolType.from_json(_item) }
      end
    end

    # constructs a RServiPools from a (parsed) JSON hash
    def self.from_json(o)
      if o.nil?
        return nil
      else
        inst = new
        inst.init_jaxb_json_hash o
        return inst
      end
    end
  end

end

end

end

end

end

module Eu

module Openanalytics

module Rsb

module Rest

module Types

  # <p>Java class for nodeInformationType complex type.
  # 
  # <p>The following schema fragment specifies the expected content contained within this class.
  # 
  # <pre>
  # &lt;complexType name="nodeInformationType">
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="healthy" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
  # &lt;attribute name="uptime" use="required" type="{http://www.w3.org/2001/XMLSchema}long" />
  # &lt;attribute name="uptimeText" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="servletContainerInfo" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="rsbVersion" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="jvmMaxMemory" use="required" type="{http://www.w3.org/2001/XMLSchema}long" />
  # &lt;attribute name="jvmFreeMemory" use="required" type="{http://www.w3.org/2001/XMLSchema}long" />
  # &lt;attribute name="osLoadAverage" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # </pre>
  class NodeInformation 

    # (no documentation provided)
    attr_accessor :name
    # (no documentation provided)
    attr_accessor :healthy
    # (no documentation provided)
    attr_accessor :uptime
    # (no documentation provided)
    attr_accessor :uptimeText
    # (no documentation provided)
    attr_accessor :servletContainerInfo
    # (no documentation provided)
    attr_accessor :rsbVersion
    # (no documentation provided)
    attr_accessor :jvmMaxMemory
    # (no documentation provided)
    attr_accessor :jvmFreeMemory
    # (no documentation provided)
    attr_accessor :osLoadAverage

    # the json hash for this NodeInformation
    def to_jaxb_json_hash
      _h = {}
      _h['name'] = name.to_jaxb_json_hash unless name.nil?
      _h['healthy'] = healthy.to_jaxb_json_hash unless healthy.nil?
      _h['uptime'] = uptime.to_jaxb_json_hash unless uptime.nil?
      _h['uptimeText'] = uptimeText.to_jaxb_json_hash unless uptimeText.nil?
      _h['servletContainerInfo'] = servletContainerInfo.to_jaxb_json_hash unless servletContainerInfo.nil?
      _h['rsbVersion'] = rsbVersion.to_jaxb_json_hash unless rsbVersion.nil?
      _h['jvmMaxMemory'] = jvmMaxMemory.to_jaxb_json_hash unless jvmMaxMemory.nil?
      _h['jvmFreeMemory'] = jvmFreeMemory.to_jaxb_json_hash unless jvmFreeMemory.nil?
      _h['osLoadAverage'] = osLoadAverage.to_jaxb_json_hash unless osLoadAverage.nil?
      return _h
    end

    # the json (string form) for this NodeInformation
    def to_json
      to_jaxb_json_hash.to_json
    end

    #initializes this NodeInformation with a json hash
    def init_jaxb_json_hash(_o)
      @name = String.from_json(_o['name']) unless _o['name'].nil?
      @healthy = Boolean.from_json(_o['healthy']) unless _o['healthy'].nil?
      @uptime = Bignum.from_json(_o['uptime']) unless _o['uptime'].nil?
      @uptimeText = String.from_json(_o['uptimeText']) unless _o['uptimeText'].nil?
      @servletContainerInfo = String.from_json(_o['servletContainerInfo']) unless _o['servletContainerInfo'].nil?
      @rsbVersion = String.from_json(_o['rsbVersion']) unless _o['rsbVersion'].nil?
      @jvmMaxMemory = Bignum.from_json(_o['jvmMaxMemory']) unless _o['jvmMaxMemory'].nil?
      @jvmFreeMemory = Bignum.from_json(_o['jvmFreeMemory']) unless _o['jvmFreeMemory'].nil?
      @osLoadAverage = Float.from_json(_o['osLoadAverage']) unless _o['osLoadAverage'].nil?
    end

    # constructs a NodeInformation from a (parsed) JSON hash
    def self.from_json(o)
      if o.nil?
        return nil
      else
        inst = new
        inst.init_jaxb_json_hash o
        return inst
      end
    end
  end

end

end

end

end

end

module Eu

module Openanalytics

module Rsb

module Rest

module Types

  # <p>Java class for fileType complex type.
  # 
  # <p>The following schema fragment specifies the expected content contained within this class.
  # 
  # <pre>
  # &lt;complexType name="fileType">
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;attribute name="path" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # </pre>
  class FileType 

    # (no documentation provided)
    attr_accessor :path
    # (no documentation provided)
    attr_accessor :name

    # the json hash for this FileType
    def to_jaxb_json_hash
      _h = {}
      _h['path'] = path.to_jaxb_json_hash unless path.nil?
      _h['name'] = name.to_jaxb_json_hash unless name.nil?
      return _h
    end

    # the json (string form) for this FileType
    def to_json
      to_jaxb_json_hash.to_json
    end

    #initializes this FileType with a json hash
    def init_jaxb_json_hash(_o)
      @path = String.from_json(_o['path']) unless _o['path'].nil?
      @name = String.from_json(_o['name']) unless _o['name'].nil?
    end

    # constructs a FileType from a (parsed) JSON hash
    def self.from_json(o)
      if o.nil?
        return nil
      else
        inst = new
        inst.init_jaxb_json_hash o
        return inst
      end
    end
  end

end

end

end

end

end

module Eu

module Openanalytics

module Rsb

module Rest

module Types

  # <p>Java class for directoryType complex type.
  # 
  # <p>The following schema fragment specifies the expected content contained within this class.
  # 
  # <pre>
  # &lt;complexType name="directoryType">
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;sequence>
  # &lt;element name="directory" type="{http://rest.rsb.openanalytics.eu/types}directoryType" maxOccurs="unbounded" minOccurs="0"/>
  # &lt;element name="file" type="{http://rest.rsb.openanalytics.eu/types}fileType" maxOccurs="unbounded" minOccurs="0"/>
  # &lt;/sequence>
  # &lt;attribute name="path" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;attribute name="uri" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
  # &lt;attribute name="empty" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # </pre>
  class Directory 

    # (no documentation provided)
    attr_accessor :path
    # (no documentation provided)
    attr_accessor :name
    # (no documentation provided)
    attr_accessor :uri
    # (no documentation provided)
    attr_accessor :empty
    # (no documentation provided)
    attr_accessor :directories
    # (no documentation provided)
    attr_accessor :files

    # the json hash for this Directory
    def to_jaxb_json_hash
      _h = {}
      _h['path'] = path.to_jaxb_json_hash unless path.nil?
      _h['name'] = name.to_jaxb_json_hash unless name.nil?
      _h['uri'] = uri.to_jaxb_json_hash unless uri.nil?
      _h['empty'] = empty.to_jaxb_json_hash unless empty.nil?
      if !directories.nil?
        _ha = Array.new
        directories.each { | _item | _ha.push _item.to_jaxb_json_hash }
        _h['directory'] = _ha
      end
      if !files.nil?
        _ha = Array.new
        files.each { | _item | _ha.push _item.to_jaxb_json_hash }
        _h['file'] = _ha
      end
      return _h
    end

    # the json (string form) for this Directory
    def to_json
      to_jaxb_json_hash.to_json
    end

    #initializes this Directory with a json hash
    def init_jaxb_json_hash(_o)
      @path = String.from_json(_o['path']) unless _o['path'].nil?
      @name = String.from_json(_o['name']) unless _o['name'].nil?
      @uri = String.from_json(_o['uri']) unless _o['uri'].nil?
      @empty = Boolean.from_json(_o['empty']) unless _o['empty'].nil?
      if !_o['directory'].nil?
        @directories = Array.new
        _oa = _o['directory']
        _oa.each { | _item | @directories.push Eu::Openanalytics::Rsb::Rest::Types::Directory.from_json(_item) }
      end
      if !_o['file'].nil?
        @files = Array.new
        _oa = _o['file']
        _oa.each { | _item | @files.push Eu::Openanalytics::Rsb::Rest::Types::FileType.from_json(_item) }
      end
    end

    # constructs a Directory from a (parsed) JSON hash
    def self.from_json(o)
      if o.nil?
        return nil
      else
        inst = new
        inst.init_jaxb_json_hash o
        return inst
      end
    end
  end

end

end

end

end

end

module Eu

module Openanalytics

module Rsb

module Rest

module Types

  # <p>Java class for catalogDirectory complex type.
  # 
  # <p>The following schema fragment specifies the expected content contained within this class.
  # 
  # <pre>
  # &lt;complexType name="catalogDirectory">
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;sequence>
  # &lt;element name="file" type="{http://rest.rsb.openanalytics.eu/types}catalogFileType" maxOccurs="unbounded" minOccurs="0"/>
  # &lt;/sequence>
  # &lt;attribute name="type" use="required">
  # &lt;simpleType>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}NMTOKEN">
  # &lt;enumeration value="EMAIL_REPLIES"/>
  # &lt;enumeration value="JOB_CONFIGURATIONS"/>
  # &lt;enumeration value="R_SCRIPTS"/>
  # &lt;enumeration value="SWEAVE_FILES"/>
  # &lt;/restriction>
  # &lt;/simpleType>
  # &lt;/attribute>
  # &lt;attribute name="path" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # </pre>
  class CatalogDirectory 

    # (no documentation provided)
    attr_accessor :type
    # (no documentation provided)
    attr_accessor :path
    # (no documentation provided)
    attr_accessor :files

    # the json hash for this CatalogDirectory
    def to_jaxb_json_hash
      _h = {}
      _h['type'] = type.to_jaxb_json_hash unless type.nil?
      _h['path'] = path.to_jaxb_json_hash unless path.nil?
      if !files.nil?
        _ha = Array.new
        files.each { | _item | _ha.push _item.to_jaxb_json_hash }
        _h['file'] = _ha
      end
      return _h
    end

    # the json (string form) for this CatalogDirectory
    def to_json
      to_jaxb_json_hash.to_json
    end

    #initializes this CatalogDirectory with a json hash
    def init_jaxb_json_hash(_o)
      @type = String.from_json(_o['type']) unless _o['type'].nil?
      @path = String.from_json(_o['path']) unless _o['path'].nil?
      if !_o['file'].nil?
        @files = Array.new
        _oa = _o['file']
        _oa.each { | _item | @files.push Eu::Openanalytics::Rsb::Rest::Types::CatalogFileType.from_json(_item) }
      end
    end

    # constructs a CatalogDirectory from a (parsed) JSON hash
    def self.from_json(o)
      if o.nil?
        return nil
      else
        inst = new
        inst.init_jaxb_json_hash o
        return inst
      end
    end
  end

end

end

end

end

end

module Eu

module Openanalytics

module Rsb

module Rest

module Types

  # <p>Java class for catalogType complex type.
  # 
  # <p>The following schema fragment specifies the expected content contained within this class.
  # 
  # <pre>
  # &lt;complexType name="catalogType">
  # &lt;complexContent>
  # &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  # &lt;sequence>
  # &lt;element name="directory" type="{http://rest.rsb.openanalytics.eu/types}catalogDirectory" maxOccurs="4" minOccurs="4"/>
  # &lt;/sequence>
  # &lt;/restriction>
  # &lt;/complexContent>
  # &lt;/complexType>
  # </pre>
  class Catalog 

    # (no documentation provided)
    attr_accessor :directories

    # the json hash for this Catalog
    def to_jaxb_json_hash
      _h = {}
      if !directories.nil?
        _ha = Array.new
        directories.each { | _item | _ha.push _item.to_jaxb_json_hash }
        _h['directory'] = _ha
      end
      return _h
    end

    # the json (string form) for this Catalog
    def to_json
      to_jaxb_json_hash.to_json
    end

    #initializes this Catalog with a json hash
    def init_jaxb_json_hash(_o)
      if !_o['directory'].nil?
        @directories = Array.new
        _oa = _o['directory']
        _oa.each { | _item | @directories.push Eu::Openanalytics::Rsb::Rest::Types::CatalogDirectory.from_json(_item) }
      end
    end

    # constructs a Catalog from a (parsed) JSON hash
    def self.from_json(o)
      if o.nil?
        return nil
      else
        inst = new
        inst.init_jaxb_json_hash o
        return inst
      end
    end
  end

end

end

end

end

end
