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

IPXACT2009ScalaCases.generator.scala Maven / Gradle / Ivy

The newest version!
package IPXACT2009ScalaCases

// Generated by IPXACT2009scalaxb.


case class GeneratorChainSelector(generatorchainselectoroption: IPXACT2009scalaxb.DataRecord[GeneratorChainSelectorOption],
  attributes: Map[String, IPXACT2009scalaxb.DataRecord[Any]] = Map.empty) extends GeneratorChainOption {
  lazy val unique = attributes("@unique").as[Boolean]
}

      
      

trait GeneratorChainSelectorOption

case class GeneratorChain(versionedIdentifierSequence1: VersionedIdentifierSequence,
  generatorchainoption: Seq[IPXACT2009scalaxb.DataRecord[GeneratorChainOption]] = Nil,
  chainGroup: Seq[String] = Nil,
  displayName: Option[String] = None,
  description: Option[String] = None,
  choices: Option[Choices] = None,
  vendorExtensions: Option[VendorExtensions] = None,
  attributes: Map[String, IPXACT2009scalaxb.DataRecord[Any]] = Map.empty) extends IPXACTDocumentTypesOption {
  lazy val hidden = attributes("@hidden").as[Boolean]
}

      
      

trait GeneratorChainOption

case class Generator(nameGroupSequence1: NameGroupSequence,
  phase: Option[Phase] = None,
  parameters: Option[Parameters] = None,
  apiType: Option[ApiType] = None,
  transportMethods: Option[TransportMethods] = None,
  generatorExe: String,
  vendorExtensions: Option[VendorExtensions] = None,
  attributes: Map[String, IPXACT2009scalaxb.DataRecord[Any]] = Map.empty) extends GeneratorTypable with GeneratorChainOption {
  lazy val hidden = attributes("@hidden").as[Boolean]
}

      
      


case class ComponentGenerator(nameGroupSequence1: NameGroupSequence,
  phase: Option[Phase] = None,
  parameters: Option[Parameters] = None,
  apiType: Option[ApiType] = None,
  transportMethods: Option[TransportMethods] = None,
  generatorExe: String,
  vendorExtensions: Option[VendorExtensions] = None,
  group: Seq[String] = Nil,
  attributes: Map[String, IPXACT2009scalaxb.DataRecord[Any]] = Map.empty) extends InstanceGeneratorTypable {
  lazy val hidden = attributes("@hidden").as[Boolean]
  lazy val scope = attributes("@scope").as[Scope]
}

      
      

sealed trait MultipleGroupSelectionOperator

object MultipleGroupSelectionOperator {
  def fromString(value: String, scope: scala.xml.NamespaceBinding)(implicit fmt: IPXACT2009scalaxb.XMLFormat[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 GroupSelector(name: Seq[String] = Nil,
  attributes: Map[String, IPXACT2009scalaxb.DataRecord[Any]] = Map.empty) extends GeneratorChainSelectorOption {
  lazy val multipleGroupSelectionOperator = attributes("@multipleGroupSelectionOperator").as[MultipleGroupSelectionOperator]
}

      
      


case class Phase(value: Float)
      
      

sealed trait Scope

object Scope {
  def fromString(value: String, scope: scala.xml.NamespaceBinding)(implicit fmt: IPXACT2009scalaxb.XMLFormat[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" }


trait InstanceGeneratorTypable extends GeneratorTypable {
  def nameGroupSequence1: NameGroupSequence
  def phase: Option[Phase]
  def parameters: Option[Parameters]
  def apiType: Option[ApiType]
  def transportMethods: Option[TransportMethods]
  def generatorExe: String
  def vendorExtensions: Option[VendorExtensions]
  def group: Seq[String]
  def hidden: Boolean
  def scope: Scope
}


case class InstanceGeneratorType(nameGroupSequence1: NameGroupSequence,
  phase: Option[Phase] = None,
  parameters: Option[Parameters] = None,
  apiType: Option[ApiType] = None,
  transportMethods: Option[TransportMethods] = None,
  generatorExe: String,
  vendorExtensions: Option[VendorExtensions] = None,
  group: Seq[String] = Nil,
  attributes: Map[String, IPXACT2009scalaxb.DataRecord[Any]] = Map.empty) extends InstanceGeneratorTypable {
  lazy val hidden = attributes("@hidden").as[Boolean]
  lazy val scope = attributes("@scope").as[Scope]
}

      
      


case class GeneratorSelectorType(groupSelector: GroupSelector) extends GeneratorChainOption
      
      


case class ComponentGenerators(componentGenerator: Seq[ComponentGenerator] = Nil)
      
      


case class AbstractorGenerators(abstractorGenerator: Seq[InstanceGeneratorTypable] = Nil)
      
      

sealed trait ApiType

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

case object TGI extends ApiType { override def toString = "TGI" }
case object NoneType extends ApiType { override def toString = "none" }

sealed trait TransportMethod

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

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

case class TransportMethods(transportMethod: TransportMethod)
      
      


/** Types of generators
*/
trait GeneratorTypable {
  def nameGroupSequence1: NameGroupSequence
  def phase: Option[Phase]
  def parameters: Option[Parameters]
  def apiType: Option[ApiType]
  def transportMethods: Option[TransportMethods]
  def generatorExe: String
  def vendorExtensions: Option[VendorExtensions]
  def hidden: Boolean
}


/** Types of generators
*/
case class GeneratorType(nameGroupSequence1: NameGroupSequence,
  phase: Option[Phase] = None,
  parameters: Option[Parameters] = None,
  apiType: Option[ApiType] = None,
  transportMethods: Option[TransportMethods] = None,
  generatorExe: String,
  vendorExtensions: Option[VendorExtensions] = None,
  attributes: Map[String, IPXACT2009scalaxb.DataRecord[Any]] = Map.empty) extends GeneratorTypable {
  lazy val hidden = attributes("@hidden").as[Boolean]
}

      
      





© 2015 - 2025 Weber Informatics LLC | Privacy Policy