Skip to content

Instantly share code, notes, and snippets.

@eed3si9n
Forked from afternoon/go.xsd
Created February 14, 2012 20:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eed3si9n/1829857 to your computer and use it in GitHub Desktop.
Save eed3si9n/1829857 to your computer and use it in GitHub Desktop.
XML Schema for Go Feeds API
// Generated by <a href="http://scalaxb.org/">scalaxb</a>.
package go
case class Pipelines(link: go.Link,
pipeline: go.Pipeline)
case class Job(jobsequence1: Option[go.JobSequence1] = None,
href: Option[java.net.URI] = None,
name: Option[String] = None)
case class JobSequence1(link: go.Link,
id: String,
pipeline: go.Pipeline,
stage: go.Stage,
state: String,
result: String,
properties: go.Properties,
agent: go.Agent,
artifacts: go.Artifacts,
resources: go.Resources,
environmentvariables: go.Environmentvariables)
case class Properties(property: go.Property*)
case class Property(mixed: Seq[scalaxb.DataRecord[Any]] = Nil,
name: String)
case class Agent(uuid: String)
case class Artifacts(artifact: Seq[go.Artifact] = Nil,
baseUri: java.net.URI,
pathFromArtifactRoot: String)
case class Artifact(path: String,
typeValue: String)
case class Resources(resource: String*)
case class Environmentvariables(variable: go.Variable*)
case class Variable(value: String,
name: String)
case class Stage(stagesequence1: Option[go.StageSequence1] = None,
counter: BigInt,
href: Option[java.net.URI] = None,
name: String)
case class StageSequence1(link: go.Link,
id: String,
pipeline: go.Pipeline,
updated: javax.xml.datatype.XMLGregorianCalendar,
result: String,
state: String,
approvedBy: String,
jobs: go.Jobs)
case class Jobs(job: go.Job*)
case class Link(href: java.net.URI,
rel: String)
case class Pipeline(counter: Option[BigInt] = None,
href: java.net.URI,
label: Option[String] = None,
name: Option[String] = None)
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.thoughtworks-studios.com/ns/go">
<xs:element name="pipelines">
<xs:complexType>
<xs:sequence>
<xs:element ref="link"/>
<xs:element ref="pipeline"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="job">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element ref="link"/>
<xs:element ref="id"/>
<xs:element ref="pipeline"/>
<xs:element ref="stage"/>
<xs:element ref="state"/>
<xs:element ref="result"/>
<xs:element ref="properties"/>
<xs:element ref="agent"/>
<xs:element ref="artifacts"/>
<xs:element ref="resources"/>
<xs:element ref="environmentvariables"/>
</xs:sequence>
<xs:attribute name="href" type="xs:anyURI"/>
<xs:attribute name="name" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="properties">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="property"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="property">
<xs:complexType mixed="true">
<xs:attribute name="name" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="agent">
<xs:complexType>
<xs:attribute name="uuid" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="artifacts">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="artifact"/>
</xs:sequence>
<xs:attribute name="baseUri" use="required" type="xs:anyURI"/>
<xs:attribute name="pathFromArtifactRoot" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="artifact">
<xs:complexType>
<xs:attribute name="path" use="required"/>
<xs:attribute name="type" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="resources">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="resource"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="resource" type="xs:NCName"/>
<xs:element name="environmentvariables">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="variable"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="variable">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:NCName">
<xs:attribute name="name" use="required" type="xs:NCName"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="stage">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element ref="link"/>
<xs:element ref="id"/>
<xs:element ref="pipeline"/>
<xs:element ref="updated"/>
<xs:element ref="result"/>
<xs:element ref="state"/>
<xs:element ref="approvedBy"/>
<xs:element ref="jobs"/>
</xs:sequence>
<xs:attribute name="counter" use="required" type="xs:integer"/>
<xs:attribute name="href" type="xs:anyURI"/>
<xs:attribute name="name" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="updated" type="xs:dateTime"/>
<xs:element name="approvedBy" type="xs:NCName"/>
<xs:element name="jobs">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="job"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="link">
<xs:complexType>
<xs:attribute name="href" use="required" type="xs:anyURI"/>
<xs:attribute name="rel" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="pipeline">
<xs:complexType>
<xs:attribute name="counter" type="xs:integer"/>
<xs:attribute name="href" use="required" type="xs:anyURI"/>
<xs:attribute name="label" type="xs:NMTOKEN"/>
<xs:attribute name="name" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="id" type="xs:string"/>
<xs:element name="state" type="xs:NCName"/>
<xs:element name="result" type="xs:NCName"/>
</xs:schema>
// Generated by <a href="http://scalaxb.org/">scalaxb</a>.
package go
/**
usage:
val obj = scalaxb.fromXML[go.Foo](node)
val document = scalaxb.toXML[go.Foo](obj, "foo", go.defaultScope)
**/
object `package` extends XMLProtocol { }
trait XMLProtocol extends scalaxb.XMLStandardTypes {
val defaultScope = scalaxb.toScope(None -> "http://www.thoughtworks-studios.com/ns/go",
Some("tns") -> "http://www.thoughtworks-studios.com/ns/go",
Some("xs") -> "http://www.w3.org/2001/XMLSchema",
Some("xsi") -> "http://www.w3.org/2001/XMLSchema-instance")
implicit lazy val GoPipelinesFormat: scalaxb.XMLFormat[go.Pipelines] = new DefaultGoPipelinesFormat {}
implicit lazy val GoJobFormat: scalaxb.XMLFormat[go.Job] = new DefaultGoJobFormat {}
implicit lazy val GoJobSequence1Format: scalaxb.XMLFormat[go.JobSequence1] = new DefaultGoJobSequence1Format {}
implicit lazy val GoPropertiesFormat: scalaxb.XMLFormat[go.Properties] = new DefaultGoPropertiesFormat {}
implicit lazy val GoPropertyFormat: scalaxb.XMLFormat[go.Property] = new DefaultGoPropertyFormat {}
implicit lazy val GoAgentFormat: scalaxb.XMLFormat[go.Agent] = new DefaultGoAgentFormat {}
implicit lazy val GoArtifactsFormat: scalaxb.XMLFormat[go.Artifacts] = new DefaultGoArtifactsFormat {}
implicit lazy val GoArtifactFormat: scalaxb.XMLFormat[go.Artifact] = new DefaultGoArtifactFormat {}
implicit lazy val GoResourcesFormat: scalaxb.XMLFormat[go.Resources] = new DefaultGoResourcesFormat {}
implicit lazy val GoEnvironmentvariablesFormat: scalaxb.XMLFormat[go.Environmentvariables] = new DefaultGoEnvironmentvariablesFormat {}
implicit lazy val GoVariableFormat: scalaxb.XMLFormat[go.Variable] = new DefaultGoVariableFormat {}
implicit lazy val GoStageFormat: scalaxb.XMLFormat[go.Stage] = new DefaultGoStageFormat {}
implicit lazy val GoStageSequence1Format: scalaxb.XMLFormat[go.StageSequence1] = new DefaultGoStageSequence1Format {}
implicit lazy val GoJobsFormat: scalaxb.XMLFormat[go.Jobs] = new DefaultGoJobsFormat {}
implicit lazy val GoLinkFormat: scalaxb.XMLFormat[go.Link] = new DefaultGoLinkFormat {}
implicit lazy val GoPipelineFormat: scalaxb.XMLFormat[go.Pipeline] = new DefaultGoPipelineFormat {}
trait DefaultGoPipelinesFormat extends scalaxb.ElemNameParser[go.Pipelines] {
val targetNamespace: Option[String] = Some("http://www.thoughtworks-studios.com/ns/go")
def parser(node: scala.xml.Node, stack: List[scalaxb.ElemName]): Parser[go.Pipelines] =
phrase((scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "link")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "pipeline")) ^^
{ case p1 ~ p2 =>
go.Pipelines(scalaxb.fromXML[go.Link](p1, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[go.Pipeline](p2, scalaxb.ElemName(node) :: stack)) })
def writesChildNodes(__obj: go.Pipelines, __scope: scala.xml.NamespaceBinding): Seq[scala.xml.Node] =
Seq.concat(scalaxb.toXML[go.Link](__obj.link, Some("http://www.thoughtworks-studios.com/ns/go"), Some("link"), __scope, false),
scalaxb.toXML[go.Pipeline](__obj.pipeline, Some("http://www.thoughtworks-studios.com/ns/go"), Some("pipeline"), __scope, false))
}
trait DefaultGoJobFormat extends scalaxb.ElemNameParser[go.Job] {
val targetNamespace: Option[String] = Some("http://www.thoughtworks-studios.com/ns/go")
def parser(node: scala.xml.Node, stack: List[scalaxb.ElemName]): Parser[go.Job] =
phrase(opt(((scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "link")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "id")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "pipeline")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "stage")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "state")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "result")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "properties")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "agent")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "artifacts")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "resources")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "environmentvariables"))) ^^
{ case p1 ~ p2 ~ p3 ~ p4 ~ p5 ~ p6 ~ p7 ~ p8 ~ p9 ~ p10 ~ p11 => go.JobSequence1(scalaxb.fromXML[go.Link](p1, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[String](p2, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[go.Pipeline](p3, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[go.Stage](p4, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[String](p5, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[String](p6, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[go.Properties](p7, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[go.Agent](p8, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[go.Artifacts](p9, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[go.Resources](p10, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[go.Environmentvariables](p11, scalaxb.ElemName(node) :: stack)) }) ^^
{ case p1 =>
go.Job(p1,
(node \ "@href").headOption map { scalaxb.fromXML[java.net.URI](_, scalaxb.ElemName(node) :: stack) },
(node \ "@name").headOption map { scalaxb.fromXML[String](_, scalaxb.ElemName(node) :: stack) }) })
override def writesAttribute(__obj: go.Job, __scope: scala.xml.NamespaceBinding): scala.xml.MetaData = {
var attr: scala.xml.MetaData = scala.xml.Null
__obj.href foreach { x => attr = scala.xml.Attribute(null, "href", x.toString, attr) }
__obj.name foreach { x => attr = scala.xml.Attribute(null, "name", x.toString, attr) }
attr
}
def writesChildNodes(__obj: go.Job, __scope: scala.xml.NamespaceBinding): Seq[scala.xml.Node] =
(__obj.jobsequence1 map { scalaxb.toXML[go.JobSequence1](_, None, Some("jobsequence1"), __scope, false) } getOrElse {Nil})
}
trait DefaultGoJobSequence1Format extends scalaxb.XMLFormat[go.JobSequence1] {
def reads(seq: scala.xml.NodeSeq, stack: List[scalaxb.ElemName]): Either[String, go.JobSequence1] = Left("don't call me.")
def writes(__obj: go.JobSequence1, __namespace: Option[String], __elementLabel: Option[String],
__scope: scala.xml.NamespaceBinding, __typeAttribute: Boolean): scala.xml.NodeSeq =
Seq.concat(scalaxb.toXML[go.Link](__obj.link, Some("http://www.thoughtworks-studios.com/ns/go"), Some("link"), __scope, false),
scalaxb.toXML[String](__obj.id, Some("http://www.thoughtworks-studios.com/ns/go"), Some("id"), __scope, false),
scalaxb.toXML[go.Pipeline](__obj.pipeline, Some("http://www.thoughtworks-studios.com/ns/go"), Some("pipeline"), __scope, false),
scalaxb.toXML[go.Stage](__obj.stage, Some("http://www.thoughtworks-studios.com/ns/go"), Some("stage"), __scope, false),
scalaxb.toXML[String](__obj.state, Some("http://www.thoughtworks-studios.com/ns/go"), Some("state"), __scope, false),
scalaxb.toXML[String](__obj.result, Some("http://www.thoughtworks-studios.com/ns/go"), Some("result"), __scope, false),
scalaxb.toXML[go.Properties](__obj.properties, Some("http://www.thoughtworks-studios.com/ns/go"), Some("properties"), __scope, false),
scalaxb.toXML[go.Agent](__obj.agent, Some("http://www.thoughtworks-studios.com/ns/go"), Some("agent"), __scope, false),
scalaxb.toXML[go.Artifacts](__obj.artifacts, Some("http://www.thoughtworks-studios.com/ns/go"), Some("artifacts"), __scope, false),
scalaxb.toXML[go.Resources](__obj.resources, Some("http://www.thoughtworks-studios.com/ns/go"), Some("resources"), __scope, false),
scalaxb.toXML[go.Environmentvariables](__obj.environmentvariables, Some("http://www.thoughtworks-studios.com/ns/go"), Some("environmentvariables"), __scope, false))
}
trait DefaultGoPropertiesFormat extends scalaxb.ElemNameParser[go.Properties] {
val targetNamespace: Option[String] = Some("http://www.thoughtworks-studios.com/ns/go")
def parser(node: scala.xml.Node, stack: List[scalaxb.ElemName]): Parser[go.Properties] =
phrase(rep(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "property")) ^^
{ case p1 =>
go.Properties(p1.toSeq map { scalaxb.fromXML[go.Property](_, scalaxb.ElemName(node) :: stack) }: _*) })
def writesChildNodes(__obj: go.Properties, __scope: scala.xml.NamespaceBinding): Seq[scala.xml.Node] =
(__obj.property flatMap { scalaxb.toXML[go.Property](_, Some("http://www.thoughtworks-studios.com/ns/go"), Some("property"), __scope, false) })
}
trait DefaultGoPropertyFormat extends scalaxb.ElemNameParser[go.Property] {
val targetNamespace: Option[String] = Some("http://www.thoughtworks-studios.com/ns/go")
override def isMixed: Boolean = true
def parser(node: scala.xml.Node, stack: List[scalaxb.ElemName]): Parser[go.Property] =
phrase(optTextRecord ^^
{ case p1 =>
go.Property(Seq.concat(p1.toList),
scalaxb.fromXML[String]((node \ "@name"), scalaxb.ElemName(node) :: stack)) })
override def writesAttribute(__obj: go.Property, __scope: scala.xml.NamespaceBinding): scala.xml.MetaData = {
var attr: scala.xml.MetaData = scala.xml.Null
attr = scala.xml.Attribute(null, "name", __obj.name.toString, attr)
attr
}
def writesChildNodes(__obj: go.Property, __scope: scala.xml.NamespaceBinding): Seq[scala.xml.Node] =
__obj.mixed.toSeq flatMap { x => scalaxb.toXML[scalaxb.DataRecord[Any]](x, x.namespace, x.key, __scope, false) }
}
trait DefaultGoAgentFormat extends scalaxb.XMLFormat[go.Agent] with scalaxb.CanWriteChildNodes[go.Agent] {
val targetNamespace: Option[String] = Some("http://www.thoughtworks-studios.com/ns/go")
def reads(seq: scala.xml.NodeSeq, stack: List[scalaxb.ElemName]): Either[String, go.Agent] = seq match {
case node: scala.xml.Node => Right(go.Agent(scalaxb.fromXML[String]((node \ "@uuid"), scalaxb.ElemName(node) :: stack)))
case _ => Left("reads failed: seq must be scala.xml.Node")
}
override def writesAttribute(__obj: go.Agent, __scope: scala.xml.NamespaceBinding): scala.xml.MetaData = {
var attr: scala.xml.MetaData = scala.xml.Null
attr = scala.xml.Attribute(null, "uuid", __obj.uuid.toString, attr)
attr
}
def writesChildNodes(__obj: go.Agent, __scope: scala.xml.NamespaceBinding): Seq[scala.xml.Node] =
Nil
}
trait DefaultGoArtifactsFormat extends scalaxb.ElemNameParser[go.Artifacts] {
val targetNamespace: Option[String] = Some("http://www.thoughtworks-studios.com/ns/go")
def parser(node: scala.xml.Node, stack: List[scalaxb.ElemName]): Parser[go.Artifacts] =
phrase(rep(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "artifact")) ^^
{ case p1 =>
go.Artifacts(p1.toSeq map { scalaxb.fromXML[go.Artifact](_, scalaxb.ElemName(node) :: stack) },
scalaxb.fromXML[java.net.URI]((node \ "@baseUri"), scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[String]((node \ "@pathFromArtifactRoot"), scalaxb.ElemName(node) :: stack)) })
override def writesAttribute(__obj: go.Artifacts, __scope: scala.xml.NamespaceBinding): scala.xml.MetaData = {
var attr: scala.xml.MetaData = scala.xml.Null
attr = scala.xml.Attribute(null, "baseUri", __obj.baseUri.toString, attr)
attr = scala.xml.Attribute(null, "pathFromArtifactRoot", __obj.pathFromArtifactRoot.toString, attr)
attr
}
def writesChildNodes(__obj: go.Artifacts, __scope: scala.xml.NamespaceBinding): Seq[scala.xml.Node] =
(__obj.artifact flatMap { scalaxb.toXML[go.Artifact](_, Some("http://www.thoughtworks-studios.com/ns/go"), Some("artifact"), __scope, false) })
}
trait DefaultGoArtifactFormat extends scalaxb.XMLFormat[go.Artifact] with scalaxb.CanWriteChildNodes[go.Artifact] {
val targetNamespace: Option[String] = Some("http://www.thoughtworks-studios.com/ns/go")
def reads(seq: scala.xml.NodeSeq, stack: List[scalaxb.ElemName]): Either[String, go.Artifact] = seq match {
case node: scala.xml.Node => Right(go.Artifact(scalaxb.fromXML[String]((node \ "@path"), scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[String]((node \ "@type"), scalaxb.ElemName(node) :: stack)))
case _ => Left("reads failed: seq must be scala.xml.Node")
}
override def writesAttribute(__obj: go.Artifact, __scope: scala.xml.NamespaceBinding): scala.xml.MetaData = {
var attr: scala.xml.MetaData = scala.xml.Null
attr = scala.xml.Attribute(null, "path", __obj.path.toString, attr)
attr = scala.xml.Attribute(null, "type", __obj.typeValue.toString, attr)
attr
}
def writesChildNodes(__obj: go.Artifact, __scope: scala.xml.NamespaceBinding): Seq[scala.xml.Node] =
Nil
}
trait DefaultGoResourcesFormat extends scalaxb.ElemNameParser[go.Resources] {
val targetNamespace: Option[String] = Some("http://www.thoughtworks-studios.com/ns/go")
def parser(node: scala.xml.Node, stack: List[scalaxb.ElemName]): Parser[go.Resources] =
phrase(rep(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "resource")) ^^
{ case p1 =>
go.Resources(p1.toSeq map { scalaxb.fromXML[String](_, scalaxb.ElemName(node) :: stack) }: _*) })
def writesChildNodes(__obj: go.Resources, __scope: scala.xml.NamespaceBinding): Seq[scala.xml.Node] =
(__obj.resource flatMap { scalaxb.toXML[String](_, Some("http://www.thoughtworks-studios.com/ns/go"), Some("resource"), __scope, false) })
}
trait DefaultGoEnvironmentvariablesFormat extends scalaxb.ElemNameParser[go.Environmentvariables] {
val targetNamespace: Option[String] = Some("http://www.thoughtworks-studios.com/ns/go")
def parser(node: scala.xml.Node, stack: List[scalaxb.ElemName]): Parser[go.Environmentvariables] =
phrase(rep(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "variable")) ^^
{ case p1 =>
go.Environmentvariables(p1.toSeq map { scalaxb.fromXML[go.Variable](_, scalaxb.ElemName(node) :: stack) }: _*) })
def writesChildNodes(__obj: go.Environmentvariables, __scope: scala.xml.NamespaceBinding): Seq[scala.xml.Node] =
(__obj.variable flatMap { scalaxb.toXML[go.Variable](_, Some("http://www.thoughtworks-studios.com/ns/go"), Some("variable"), __scope, false) })
}
trait DefaultGoVariableFormat extends scalaxb.XMLFormat[go.Variable] with scalaxb.CanWriteChildNodes[go.Variable] {
val targetNamespace: Option[String] = Some("http://www.thoughtworks-studios.com/ns/go")
def reads(seq: scala.xml.NodeSeq, stack: List[scalaxb.ElemName]): Either[String, go.Variable] = seq match {
case node: scala.xml.Node => Right(go.Variable(scalaxb.fromXML[String](node, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[String]((node \ "@name"), scalaxb.ElemName(node) :: stack)))
case _ => Left("reads failed: seq must be scala.xml.Node")
}
override def writesAttribute(__obj: go.Variable, __scope: scala.xml.NamespaceBinding): scala.xml.MetaData = {
var attr: scala.xml.MetaData = scala.xml.Null
attr = scala.xml.Attribute(null, "name", __obj.name.toString, attr)
attr
}
def writesChildNodes(__obj: go.Variable, __scope: scala.xml.NamespaceBinding): Seq[scala.xml.Node] =
Seq(scala.xml.Text(__obj.value.toString))
}
trait DefaultGoStageFormat extends scalaxb.ElemNameParser[go.Stage] {
val targetNamespace: Option[String] = Some("http://www.thoughtworks-studios.com/ns/go")
def parser(node: scala.xml.Node, stack: List[scalaxb.ElemName]): Parser[go.Stage] =
phrase(opt(((scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "link")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "id")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "pipeline")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "updated")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "result")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "state")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "approvedBy")) ~
(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "jobs"))) ^^
{ case p1 ~ p2 ~ p3 ~ p4 ~ p5 ~ p6 ~ p7 ~ p8 => go.StageSequence1(scalaxb.fromXML[go.Link](p1, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[String](p2, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[go.Pipeline](p3, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[javax.xml.datatype.XMLGregorianCalendar](p4, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[String](p5, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[String](p6, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[String](p7, scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[go.Jobs](p8, scalaxb.ElemName(node) :: stack)) }) ^^
{ case p1 =>
go.Stage(p1,
scalaxb.fromXML[BigInt]((node \ "@counter"), scalaxb.ElemName(node) :: stack),
(node \ "@href").headOption map { scalaxb.fromXML[java.net.URI](_, scalaxb.ElemName(node) :: stack) },
scalaxb.fromXML[String]((node \ "@name"), scalaxb.ElemName(node) :: stack)) })
override def writesAttribute(__obj: go.Stage, __scope: scala.xml.NamespaceBinding): scala.xml.MetaData = {
var attr: scala.xml.MetaData = scala.xml.Null
attr = scala.xml.Attribute(null, "counter", __obj.counter.toString, attr)
__obj.href foreach { x => attr = scala.xml.Attribute(null, "href", x.toString, attr) }
attr = scala.xml.Attribute(null, "name", __obj.name.toString, attr)
attr
}
def writesChildNodes(__obj: go.Stage, __scope: scala.xml.NamespaceBinding): Seq[scala.xml.Node] =
(__obj.stagesequence1 map { scalaxb.toXML[go.StageSequence1](_, None, Some("stagesequence1"), __scope, false) } getOrElse {Nil})
}
trait DefaultGoStageSequence1Format extends scalaxb.XMLFormat[go.StageSequence1] {
def reads(seq: scala.xml.NodeSeq, stack: List[scalaxb.ElemName]): Either[String, go.StageSequence1] = Left("don't call me.")
def writes(__obj: go.StageSequence1, __namespace: Option[String], __elementLabel: Option[String],
__scope: scala.xml.NamespaceBinding, __typeAttribute: Boolean): scala.xml.NodeSeq =
Seq.concat(scalaxb.toXML[go.Link](__obj.link, Some("http://www.thoughtworks-studios.com/ns/go"), Some("link"), __scope, false),
scalaxb.toXML[String](__obj.id, Some("http://www.thoughtworks-studios.com/ns/go"), Some("id"), __scope, false),
scalaxb.toXML[go.Pipeline](__obj.pipeline, Some("http://www.thoughtworks-studios.com/ns/go"), Some("pipeline"), __scope, false),
scalaxb.toXML[javax.xml.datatype.XMLGregorianCalendar](__obj.updated, Some("http://www.thoughtworks-studios.com/ns/go"), Some("updated"), __scope, false),
scalaxb.toXML[String](__obj.result, Some("http://www.thoughtworks-studios.com/ns/go"), Some("result"), __scope, false),
scalaxb.toXML[String](__obj.state, Some("http://www.thoughtworks-studios.com/ns/go"), Some("state"), __scope, false),
scalaxb.toXML[String](__obj.approvedBy, Some("http://www.thoughtworks-studios.com/ns/go"), Some("approvedBy"), __scope, false),
scalaxb.toXML[go.Jobs](__obj.jobs, Some("http://www.thoughtworks-studios.com/ns/go"), Some("jobs"), __scope, false))
}
trait DefaultGoJobsFormat extends scalaxb.ElemNameParser[go.Jobs] {
val targetNamespace: Option[String] = Some("http://www.thoughtworks-studios.com/ns/go")
def parser(node: scala.xml.Node, stack: List[scalaxb.ElemName]): Parser[go.Jobs] =
phrase(rep(scalaxb.ElemName(Some("http://www.thoughtworks-studios.com/ns/go"), "job")) ^^
{ case p1 =>
go.Jobs(p1.toSeq map { scalaxb.fromXML[go.Job](_, scalaxb.ElemName(node) :: stack) }: _*) })
def writesChildNodes(__obj: go.Jobs, __scope: scala.xml.NamespaceBinding): Seq[scala.xml.Node] =
(__obj.job flatMap { scalaxb.toXML[go.Job](_, Some("http://www.thoughtworks-studios.com/ns/go"), Some("job"), __scope, false) })
}
trait DefaultGoLinkFormat extends scalaxb.XMLFormat[go.Link] with scalaxb.CanWriteChildNodes[go.Link] {
val targetNamespace: Option[String] = Some("http://www.thoughtworks-studios.com/ns/go")
def reads(seq: scala.xml.NodeSeq, stack: List[scalaxb.ElemName]): Either[String, go.Link] = seq match {
case node: scala.xml.Node => Right(go.Link(scalaxb.fromXML[java.net.URI]((node \ "@href"), scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[String]((node \ "@rel"), scalaxb.ElemName(node) :: stack)))
case _ => Left("reads failed: seq must be scala.xml.Node")
}
override def writesAttribute(__obj: go.Link, __scope: scala.xml.NamespaceBinding): scala.xml.MetaData = {
var attr: scala.xml.MetaData = scala.xml.Null
attr = scala.xml.Attribute(null, "href", __obj.href.toString, attr)
attr = scala.xml.Attribute(null, "rel", __obj.rel.toString, attr)
attr
}
def writesChildNodes(__obj: go.Link, __scope: scala.xml.NamespaceBinding): Seq[scala.xml.Node] =
Nil
}
trait DefaultGoPipelineFormat extends scalaxb.XMLFormat[go.Pipeline] with scalaxb.CanWriteChildNodes[go.Pipeline] {
val targetNamespace: Option[String] = Some("http://www.thoughtworks-studios.com/ns/go")
def reads(seq: scala.xml.NodeSeq, stack: List[scalaxb.ElemName]): Either[String, go.Pipeline] = seq match {
case node: scala.xml.Node => Right(go.Pipeline((node \ "@counter").headOption map { scalaxb.fromXML[BigInt](_, scalaxb.ElemName(node) :: stack) },
scalaxb.fromXML[java.net.URI]((node \ "@href"), scalaxb.ElemName(node) :: stack),
(node \ "@label").headOption map { scalaxb.fromXML[String](_, scalaxb.ElemName(node) :: stack) },
(node \ "@name").headOption map { scalaxb.fromXML[String](_, scalaxb.ElemName(node) :: stack) }))
case _ => Left("reads failed: seq must be scala.xml.Node")
}
override def writesAttribute(__obj: go.Pipeline, __scope: scala.xml.NamespaceBinding): scala.xml.MetaData = {
var attr: scala.xml.MetaData = scala.xml.Null
__obj.counter foreach { x => attr = scala.xml.Attribute(null, "counter", x.toString, attr) }
attr = scala.xml.Attribute(null, "href", __obj.href.toString, attr)
__obj.label foreach { x => attr = scala.xml.Attribute(null, "label", x.toString, attr) }
__obj.name foreach { x => attr = scala.xml.Attribute(null, "name", x.toString, attr) }
attr
}
def writesChildNodes(__obj: go.Pipeline, __scope: scala.xml.NamespaceBinding): Seq[scala.xml.Node] =
Nil
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment