All Downloads are FREE. Search and download functionalities are using the official Maven repository.

IPXACT2022ScalaCases.generator.scala Maven / Gradle / Ivy

The newest version!
// Generated by IPXACT2022scalaxb.
package IPXACT2022ScalaCases

case class GeneratorChainSelector(generatorchainselectoroption: IPXACT2022scalaxb.DataRecord[IPXACT2022ScalaCases.GeneratorChainSelectorOption],
  attributes: Map[String, IPXACT2022scalaxb.DataRecord[Any]] = Map.empty) extends GeneratorChainOption {
  lazy val unique = attributes("@unique").as[Boolean]
  lazy val xmlid = attributes.get("@{http://www.w3.org/XML/1998/namespace}id") map { _.as[String]}
}

      
      

trait GeneratorChainSelectorOption

case class ChainGroup(value: String,
  attributes: Map[String, IPXACT2022scalaxb.DataRecord[Any]] = Map.empty) {
  lazy val xmlid = attributes.get("@{http://www.w3.org/XML/1998/namespace}id") map { _.as[String]}
}

      
      


case class GeneratorChain(documentNameGroupSequence1: IPXACT2022ScalaCases.DocumentNameGroupSequence,
  generatorchainoption: Seq[IPXACT2022scalaxb.DataRecord[IPXACT2022ScalaCases.GeneratorChainOption]] = Nil,
  chainGroup: Seq[IPXACT2022ScalaCases.ChainGroup] = Nil,
  choices: Option[IPXACT2022ScalaCases.Choices] = None,
  parameters: Option[IPXACT2022ScalaCases.Parameters] = None,
  assertions: Option[IPXACT2022ScalaCases.Assertions] = None,
  vendorExtensions: Option[IPXACT2022ScalaCases.VendorExtensions] = None,
  attributes: Map[String, IPXACT2022scalaxb.DataRecord[Any]] = Map.empty) extends IPXACTDocumentTypesOption {
  lazy val hidden = attributes("@hidden").as[Boolean]
  lazy val xmlid = attributes.get("@{http://www.w3.org/XML/1998/namespace}id") map { _.as[String]}
}

      
      

trait GeneratorChainOption

case class Generator(nameGroupSequence1: IPXACT2022ScalaCases.NameGroupSequence,
  phase: Option[IPXACT2022ScalaCases.RealExpressionable] = None,
  parameters: Option[IPXACT2022ScalaCases.Parameters] = None,
  apiType: Option[IPXACT2022ScalaCases.ApiType] = None,
  apiService: Option[IPXACT2022ScalaCases.ApiService] = None,
  transportMethods: Option[IPXACT2022ScalaCases.TransportMethods] = None,
  generatorExe: IPXACT2022ScalaCases.IpxactURIable,
  vendorExtensions: Option[IPXACT2022ScalaCases.VendorExtensions] = None,
  attributes: Map[String, IPXACT2022scalaxb.DataRecord[Any]] = Map.empty) extends GeneratorTypable with GeneratorChainOption {
  lazy val hidden = attributes("@hidden").as[Boolean]
  lazy val xmlid = attributes.get("@{http://www.w3.org/XML/1998/namespace}id") map { _.as[String]}
}

      
      

sealed trait MultipleGroupSelectionOperator

object MultipleGroupSelectionOperator {
  def fromString(value: String, scope: scala.xml.NamespaceBinding)(implicit fmt: IPXACT2022scalaxb.XMLFormat[IPXACT2022ScalaCases.MultipleGroupSelectionOperator]): MultipleGroupSelectionOperator = fmt.reads(scala.xml.Text(value), Nil) match {
    case Right(x: MultipleGroupSelectionOperator) => x
    case x => throw new RuntimeException(s"fromString returned unexpected value $x for input $value")
  }
  lazy val values: Seq[MultipleGroupSelectionOperator] = Seq(And, Or)
}

case object And extends MultipleGroupSelectionOperator { override def toString = "and" }
case object Or extends MultipleGroupSelectionOperator { override def toString = "or" }


case class Name(value: String,
  attributes: Map[String, IPXACT2022scalaxb.DataRecord[Any]] = Map.empty) {
  lazy val xmlid = attributes.get("@{http://www.w3.org/XML/1998/namespace}id") map { _.as[String]}
}

      
      


case class GroupSelector(name: Seq[IPXACT2022ScalaCases.Name] = Nil,
  attributes: Map[String, IPXACT2022scalaxb.DataRecord[Any]] = Map.empty) extends GeneratorChainSelectorOption {
  lazy val multipleGroupSelectionOperator = attributes("@multipleGroupSelectionOperator").as[MultipleGroupSelectionOperator]
  lazy val xmlid = attributes.get("@{http://www.w3.org/XML/1998/namespace}id") map { _.as[String]}
}

      
      


case class Group(value: String,
  attributes: Map[String, IPXACT2022scalaxb.DataRecord[Any]] = Map.empty) {
  lazy val xmlid = attributes.get("@{http://www.w3.org/XML/1998/namespace}id") map { _.as[String]}
}

      
      

sealed trait Scope

object Scope {
  def fromString(value: String, scope: scala.xml.NamespaceBinding)(implicit fmt: IPXACT2022scalaxb.XMLFormat[IPXACT2022ScalaCases.Scope]): Scope = fmt.reads(scala.xml.Text(value), Nil) match {
    case Right(x: Scope) => x
    case x => throw new RuntimeException(s"fromString returned unexpected value $x for input $value")
  }
  lazy val values: Seq[Scope] = Seq(Instance, Entity)
}

case object Instance extends Scope { override def toString = "instance" }
case object Entity extends Scope { override def toString = "entity" }


case class InstanceGeneratorType(nameGroupSequence1: IPXACT2022ScalaCases.NameGroupSequence,
  phase: Option[IPXACT2022ScalaCases.RealExpressionable] = None,
  parameters: Option[IPXACT2022ScalaCases.Parameters] = None,
  apiType: Option[IPXACT2022ScalaCases.ApiType] = None,
  apiService: Option[IPXACT2022ScalaCases.ApiService] = None,
  transportMethods: Option[IPXACT2022ScalaCases.TransportMethods] = None,
  generatorExe: IPXACT2022ScalaCases.IpxactURIable,
  vendorExtensions: Option[IPXACT2022ScalaCases.VendorExtensions] = None,
  group: Seq[IPXACT2022ScalaCases.Group] = Nil,
  attributes: Map[String, IPXACT2022scalaxb.DataRecord[Any]] = Map.empty) extends GeneratorTypable {
  lazy val hidden = attributes("@hidden").as[Boolean]
  lazy val xmlid = attributes.get("@{http://www.w3.org/XML/1998/namespace}id") map { _.as[String]}
  lazy val scope = attributes("@scope").as[Scope]
}

      
      


case class GeneratorSelectorType(groupSelector: IPXACT2022ScalaCases.GroupSelector,
  attributes: Map[String, IPXACT2022scalaxb.DataRecord[Any]] = Map.empty) extends GeneratorChainOption {
  lazy val xmlid = attributes.get("@{http://www.w3.org/XML/1998/namespace}id") map { _.as[String]}
}

      
      


case class ComponentGenerators(componentGenerator: Seq[IPXACT2022ScalaCases.InstanceGeneratorType] = Nil)
      
      


case class AbstractorGenerators(abstractorGenerator: Seq[IPXACT2022ScalaCases.InstanceGeneratorType] = Nil)
      
      

sealed trait ApiTypeType

object ApiTypeType {
  def fromString(value: String, scope: scala.xml.NamespaceBinding)(implicit fmt: IPXACT2022scalaxb.XMLFormat[IPXACT2022ScalaCases.ApiTypeType]): ApiTypeType = fmt.reads(scala.xml.Text(value), Nil) match {
    case Right(x: ApiTypeType) => x
    case x => throw new RuntimeException(s"fromString returned unexpected value $x for input $value")
  }
  lazy val values: Seq[ApiTypeType] = Seq(TGI_2009, TGI_2014_BASE, TGI_2014_EXTENDED, TGI_2022_BASE, TGI_2022_EXTENDED, NoneType)
}

case object TGI_2009 extends ApiTypeType { override def toString = "TGI_2009" }
case object TGI_2014_BASE extends ApiTypeType { override def toString = "TGI_2014_BASE" }
case object TGI_2014_EXTENDED extends ApiTypeType { override def toString = "TGI_2014_EXTENDED" }
case object TGI_2022_BASE extends ApiTypeType { override def toString = "TGI_2022_BASE" }
case object TGI_2022_EXTENDED extends ApiTypeType { override def toString = "TGI_2022_EXTENDED" }
case object NoneType extends ApiTypeType { override def toString = "none" }

sealed trait TransportMethodType

object TransportMethodType {
  def fromString(value: String, scope: scala.xml.NamespaceBinding)(implicit fmt: IPXACT2022scalaxb.XMLFormat[IPXACT2022ScalaCases.TransportMethodType]): TransportMethodType = fmt.reads(scala.xml.Text(value), Nil) match {
    case Right(x: TransportMethodType) => x
    case x => throw new RuntimeException(s"fromString returned unexpected value $x for input $value")
  }
  lazy val values: Seq[TransportMethodType] = Seq(FileValue)
}

case object FileValue extends TransportMethodType { override def toString = "file" }

case class ApiType(value: IPXACT2022ScalaCases.ApiTypeType,
  attributes: Map[String, IPXACT2022scalaxb.DataRecord[Any]] = Map.empty) {
  lazy val xmlid = attributes.get("@{http://www.w3.org/XML/1998/namespace}id") map { _.as[String]}
}

      
      

sealed trait ApiService

object ApiService {
  def fromString(value: String, scope: scala.xml.NamespaceBinding)(implicit fmt: IPXACT2022scalaxb.XMLFormat[IPXACT2022ScalaCases.ApiService]): ApiService = fmt.reads(scala.xml.Text(value), Nil) match {
    case Right(x: ApiService) => x
    case x => throw new RuntimeException(s"fromString returned unexpected value $x for input $value")
  }
  lazy val values: Seq[ApiService] = Seq(SOAP, REST)
}

case object SOAP extends ApiService { override def toString = "SOAP" }
case object REST extends ApiService { override def toString = "REST" }


case class TransportMethod(value: IPXACT2022ScalaCases.TransportMethodType,
  attributes: Map[String, IPXACT2022scalaxb.DataRecord[Any]] = Map.empty) {
  lazy val xmlid = attributes.get("@{http://www.w3.org/XML/1998/namespace}id") map { _.as[String]}
}

      
      


case class TransportMethods(transportMethod: IPXACT2022ScalaCases.TransportMethod,
  attributes: Map[String, IPXACT2022scalaxb.DataRecord[Any]] = Map.empty) {
  lazy val xmlid = attributes.get("@{http://www.w3.org/XML/1998/namespace}id") map { _.as[String]}
}

      
      


/** Types of generators
*/
trait GeneratorTypable {
  def nameGroupSequence1: IPXACT2022ScalaCases.NameGroupSequence
  def phase: Option[IPXACT2022ScalaCases.RealExpressionable]
  def parameters: Option[IPXACT2022ScalaCases.Parameters]
  def apiType: Option[IPXACT2022ScalaCases.ApiType]
  def apiService: Option[IPXACT2022ScalaCases.ApiService]
  def transportMethods: Option[IPXACT2022ScalaCases.TransportMethods]
  def generatorExe: IPXACT2022ScalaCases.IpxactURIable
  def vendorExtensions: Option[IPXACT2022ScalaCases.VendorExtensions]
  def hidden: Boolean
  def xmlid: Option[String]
}


/** Types of generators
*/
case class GeneratorType(nameGroupSequence1: IPXACT2022ScalaCases.NameGroupSequence,
  phase: Option[IPXACT2022ScalaCases.RealExpressionable] = None,
  parameters: Option[IPXACT2022ScalaCases.Parameters] = None,
  apiType: Option[IPXACT2022ScalaCases.ApiType] = None,
  apiService: Option[IPXACT2022ScalaCases.ApiService] = None,
  transportMethods: Option[IPXACT2022ScalaCases.TransportMethods] = None,
  generatorExe: IPXACT2022ScalaCases.IpxactURIable,
  vendorExtensions: Option[IPXACT2022ScalaCases.VendorExtensions] = None,
  attributes: Map[String, IPXACT2022scalaxb.DataRecord[Any]] = Map.empty) extends GeneratorTypable {
  lazy val hidden = attributes("@hidden").as[Boolean]
  lazy val xmlid = attributes.get("@{http://www.w3.org/XML/1998/namespace}id") map { _.as[String]}
}

      
      





© 2015 - 2025 Weber Informatics LLC | Privacy Policy