Last active
October 31, 2020 23:39
-
-
Save deenar/642e29a3380565799634d9382dd10771 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import monocle.std.option.some | |
import monocle.function.Index._ | |
import monocle.function.At._ | |
// you should be able to zoom into any field, a Lens is returned if there are no Option or List elements in the chain | |
// currently you need to either get or getOption, based on where you get a Lens or an Optional | |
//These would make thing even nicer https://github.com/optics-dev/Monocle/pull/886, https://github.com/optics-dev/Monocle/pull/908, https://github.com/optics-dev/Monocle/pull/902 and https://github.com/optics-dev/Monocle/pull/912 | |
val altContMethodLens = Contact4.AltContactMethod.anotherchoiceoption | |
// an Optional is returned if one exists | |
val chargeValueOpt = Contact4.Charge.value | |
// Index function is generated for List elements | |
val listOpt Contact4.Othr(0).PrefrdMtd.value | |
// at function for Map elements (attributes) | |
val mapAttrOpt = Contact4.Charge.attributes("@Ccy") | |
case class Contact4(Nm: String, | |
EmailAdr: Option[String] = None, | |
Charge: Option[generated.ActiveCurrencyAndAmount] = None, | |
ContactMethod: List[generated.ContactMethodChoice] = Nil, | |
AltContactMethod: generated.AnotherChoice, | |
Othr: List[generated.OtherContact1] = Nil, | |
PrefrdMtd: Option[generated.PreferredContactMethod1Code] = None) | |
object Contact4 { | |
def Nm: monocle.Lens[Contact4, String] = monocle.Lens[Contact4, String](_.Nm)((_Nm: String) => (contact4: Contact4) => contact4.copy(Nm = _Nm)) | |
def EmailAdr: monocle.Optional[Contact4, String] = monocle.Lens[Contact4, Option[String]](_.EmailAdr)((_EmailAdr: Option[String]) => (contact4: Contact4) => contact4.copy(EmailAdr = _EmailAdr)).composePrism(some) | |
def Charge: monocle.Optional[Contact4, generated.ActiveCurrencyAndAmount] = monocle.Lens[Contact4, Option[generated.ActiveCurrencyAndAmount]](_.Charge)((_Charge: Option[generated.ActiveCurrencyAndAmount]) => (contact4: Contact4) => contact4.copy(Charge = _Charge)).composePrism(some) | |
def ContactMethod: monocle.Lens[Contact4, List[generated.ContactMethodChoice]] = monocle.Lens[Contact4, List[generated.ContactMethodChoice]](_.ContactMethod)((_ContactMethod: List[generated.ContactMethodChoice]) => (contact4: Contact4) => contact4.copy(ContactMethod = _ContactMethod)) | |
def ContactMethod(idx: Int): monocle.Optional[Contact4, generated.ContactMethodChoice] = Contact4.ContactMethod.composeOptional(index(idx)) | |
def AltContactMethod: monocle.Lens[Contact4, generated.AnotherChoice] = monocle.Lens[Contact4, generated.AnotherChoice](_.AltContactMethod)((_AltContactMethod: generated.AnotherChoice) => (contact4: Contact4) => contact4.copy(AltContactMethod = _AltContactMethod)) | |
def Othr: monocle.Lens[Contact4, List[generated.OtherContact1]] = monocle.Lens[Contact4, List[generated.OtherContact1]](_.Othr)((_Othr: List[generated.OtherContact1]) => (contact4: Contact4) => contact4.copy(Othr = _Othr)) | |
def Othr(idx: Int): monocle.Optional[Contact4, generated.OtherContact1] = Contact4.Othr.composeOptional(index(idx)) | |
def PrefrdMtd: monocle.Optional[Contact4, generated.PreferredContactMethod1Code] = monocle.Lens[Contact4, Option[generated.PreferredContactMethod1Code]](_.PrefrdMtd)((_PrefrdMtd: Option[generated.PreferredContactMethod1Code]) => (contact4: Contact4) => contact4.copy(PrefrdMtd = _PrefrdMtd)).composePrism(some) | |
implicit class Contact4W[A](l: monocle.Lens[A, Contact4]) { | |
def Nm: monocle.Lens[A, String] = l.composeLens(Contact4.Nm) | |
def EmailAdr: monocle.Optional[A, String] = l.composeOptional(Contact4.EmailAdr) | |
def Charge: monocle.Optional[A, generated.ActiveCurrencyAndAmount] = l.composeOptional(Contact4.Charge) | |
def ContactMethod: monocle.Lens[A, List[generated.ContactMethodChoice]] = l.composeLens(Contact4.ContactMethod) | |
def ContactMethod(idx: Int): monocle.Optional[A, generated.ContactMethodChoice] = l composeOptional(Contact4.ContactMethod(idx)) | |
def AltContactMethod: monocle.Lens[A, generated.AnotherChoice] = l.composeLens(Contact4.AltContactMethod) | |
def Othr: monocle.Lens[A, List[generated.OtherContact1]] = l.composeLens(Contact4.Othr) | |
def Othr(idx: Int): monocle.Optional[A, generated.OtherContact1] = l composeOptional(Contact4.Othr(idx)) | |
def PrefrdMtd: monocle.Optional[A, generated.PreferredContactMethod1Code] = l.composeOptional(Contact4.PrefrdMtd) | |
} | |
implicit class Contact4O[A](l: monocle.Optional[A, Contact4]) { | |
def Nm: monocle.Optional[A, String] = l.composeLens(Contact4.Nm) | |
def EmailAdr: monocle.Optional[A, String] = l.composeOptional(Contact4.EmailAdr) | |
def Charge: monocle.Optional[A, generated.ActiveCurrencyAndAmount] = l.composeOptional(Contact4.Charge) | |
def ContactMethod: monocle.Optional[A, List[generated.ContactMethodChoice]] = l.composeLens(Contact4.ContactMethod) | |
def ContactMethod(idx: Int): monocle.Optional[A, generated.ContactMethodChoice] = l.composeOptional(Contact4.ContactMethod(idx)) | |
def AltContactMethod: monocle.Optional[A, generated.AnotherChoice] = l.composeLens(Contact4.AltContactMethod) | |
def Othr: monocle.Optional[A, List[generated.OtherContact1]] = l.composeLens(Contact4.Othr) | |
def Othr(idx: Int): monocle.Optional[A, generated.OtherContact1] = l.composeOptional(Contact4.Othr(idx)) | |
def PrefrdMtd: monocle.Optional[A, generated.PreferredContactMethod1Code] = l.composeOptional(Contact4.PrefrdMtd) | |
} | |
} | |
case class OtherContact1(ChanlTp: String, | |
Id: Option[String] = None, | |
PrefrdMtd: generated.PreferredContactMethod1Code) extends AnotherChoiceOption | |
object OtherContact1 { | |
def ChanlTp: monocle.Lens[OtherContact1, String] = monocle.Lens[OtherContact1, String](_.ChanlTp)((_ChanlTp: String) => (othercontact1: OtherContact1) => othercontact1.copy(ChanlTp = _ChanlTp)) | |
def Id: monocle.Optional[OtherContact1, String] = monocle.Lens[OtherContact1, Option[String]](_.Id)((_Id: Option[String]) => (othercontact1: OtherContact1) => othercontact1.copy(Id = _Id)).composePrism(some) | |
def PrefrdMtd: monocle.Lens[OtherContact1, generated.PreferredContactMethod1Code] = monocle.Lens[OtherContact1, generated.PreferredContactMethod1Code](_.PrefrdMtd)((_PrefrdMtd: generated.PreferredContactMethod1Code) => (othercontact1: OtherContact1) => othercontact1.copy(PrefrdMtd = _PrefrdMtd)) | |
implicit class OtherContact1W[A](l: monocle.Lens[A, OtherContact1]) { | |
def ChanlTp: monocle.Lens[A, String] = l.composeLens(OtherContact1.ChanlTp) | |
def Id: monocle.Optional[A, String] = l.composeOptional(OtherContact1.Id) | |
def PrefrdMtd: monocle.Lens[A, generated.PreferredContactMethod1Code] = l.composeLens(OtherContact1.PrefrdMtd) | |
} | |
implicit class OtherContact1O[A](l: monocle.Optional[A, OtherContact1]) { | |
def ChanlTp: monocle.Optional[A, String] = l.composeLens(OtherContact1.ChanlTp) | |
def Id: monocle.Optional[A, String] = l.composeOptional(OtherContact1.Id) | |
def PrefrdMtd: monocle.Optional[A, generated.PreferredContactMethod1Code] = l.composeLens(OtherContact1.PrefrdMtd) | |
} | |
} | |
case class ActiveCurrencyAndAmount(value: BigDecimal, | |
attributes: Map[String, scalaxb.DataRecord[Any]] = Map.empty) extends AnotherChoiceOption { | |
lazy val Ccy = attributes("@Ccy").as[String] | |
} | |
object ActiveCurrencyAndAmount { | |
def value: monocle.Lens[ActiveCurrencyAndAmount, BigDecimal] = monocle.Lens[ActiveCurrencyAndAmount, BigDecimal](_.value)((_value: BigDecimal) => (activecurrencyandamount: ActiveCurrencyAndAmount) => activecurrencyandamount.copy(value = _value)) | |
def attributes: monocle.Lens[ActiveCurrencyAndAmount, Map[String, scalaxb.DataRecord[Any]]] = monocle.Lens[ActiveCurrencyAndAmount, Map[String, scalaxb.DataRecord[Any]]](_.attributes)((_attributes: Map[String, scalaxb.DataRecord[Any]]) => (activecurrencyandamount: ActiveCurrencyAndAmount) => activecurrencyandamount.copy(attributes = _attributes)) | |
def attributes(key: String): monocle.Lens[ActiveCurrencyAndAmount, Option[scalaxb.DataRecord[Any]]] = ActiveCurrencyAndAmount.attributes.composeLens(at(key)) | |
implicit class ActiveCurrencyAndAmountW[A](l: monocle.Lens[A, ActiveCurrencyAndAmount]) { | |
def value: monocle.Lens[A, BigDecimal] = l.composeLens(ActiveCurrencyAndAmount.value) | |
def attributes: monocle.Lens[A, Map[String, scalaxb.DataRecord[Any]]] = l.composeLens(ActiveCurrencyAndAmount.attributes) | |
} | |
implicit class ActiveCurrencyAndAmountO[A](l: monocle.Optional[A, ActiveCurrencyAndAmount]) { | |
def value: monocle.Optional[A, BigDecimal] = l.composeLens(ActiveCurrencyAndAmount.value) | |
def attributes: monocle.Optional[A, Map[String, scalaxb.DataRecord[Any]]] = l.composeLens(ActiveCurrencyAndAmount.attributes) | |
} | |
} | |
case class AnotherChoice(anotherchoiceoption: scalaxb.DataRecord[generated.AnotherChoiceOption]) | |
object AnotherChoice { | |
def anotherchoiceoption: monocle.Lens[AnotherChoice, scalaxb.DataRecord[generated.AnotherChoiceOption]] = monocle.Lens[AnotherChoice, scalaxb.DataRecord[generated.AnotherChoiceOption]](_.anotherchoiceoption)((_anotherchoiceoption: scalaxb.DataRecord[generated.AnotherChoiceOption]) => (anotherchoice: AnotherChoice) => anotherchoice.copy(anotherchoiceoption = _anotherchoiceoption)) | |
implicit class AnotherChoiceW[A](l: monocle.Lens[A, AnotherChoice]) { | |
def anotherchoiceoption: monocle.Lens[A, scalaxb.DataRecord[generated.AnotherChoiceOption]] = l.composeLens(AnotherChoice.anotherchoiceoption) | |
} | |
implicit class AnotherChoiceO[A](l: monocle.Optional[A, AnotherChoice]) { | |
def anotherchoiceoption: monocle.Optional[A, scalaxb.DataRecord[generated.AnotherChoiceOption]] = l.composeLens(AnotherChoice.anotherchoiceoption) | |
} | |
} | |
trait AnotherChoiceOption | |
case class ContactMethodChoice(contactmethodchoiceoption: scalaxb.DataRecord[Any]) | |
object ContactMethodChoice { | |
def contactmethodchoiceoption: monocle.Lens[ContactMethodChoice, scalaxb.DataRecord[Any]] = monocle.Lens[ContactMethodChoice, scalaxb.DataRecord[Any]](_.contactmethodchoiceoption)((_contactmethodchoiceoption: scalaxb.DataRecord[Any]) => (contactmethodchoice: ContactMethodChoice) => contactmethodchoice.copy(contactmethodchoiceoption = _contactmethodchoiceoption)) | |
implicit class ContactMethodChoiceW[A](l: monocle.Lens[A, ContactMethodChoice]) { | |
def contactmethodchoiceoption: monocle.Lens[A, scalaxb.DataRecord[Any]] = l.composeLens(ContactMethodChoice.contactmethodchoiceoption) | |
} | |
implicit class ContactMethodChoiceO[A](l: monocle.Optional[A, ContactMethodChoice]) { | |
def contactmethodchoiceoption: monocle.Optional[A, scalaxb.DataRecord[Any]] = l.composeLens(ContactMethodChoice.contactmethodchoiceoption) | |
} | |
} | |
trait ContactMethodChoiceOption | |
sealed trait PreferredContactMethod1Code | |
object PreferredContactMethod1Code { | |
def fromString(value: String, scope: scala.xml.NamespaceBinding)(implicit fmt: scalaxb.XMLFormat[generated.PreferredContactMethod1Code]): PreferredContactMethod1Code = fmt.reads(scala.xml.Text(value), Nil) match { | |
case Right(x: PreferredContactMethod1Code) => x | |
case x => throw new RuntimeException(s"fromString returned unexpected value $x for input $value") | |
} | |
lazy val values: Seq[PreferredContactMethod1Code] = Seq(LETT, MAIL, PHON, FAXX, CELL) | |
} | |
case object LETT extends PreferredContactMethod1Code { override def toString = "LETT" } | |
case object MAIL extends PreferredContactMethod1Code { override def toString = "MAIL" } | |
case object PHON extends PreferredContactMethod1Code { override def toString = "PHON" } | |
case object FAXX extends PreferredContactMethod1Code { override def toString = "FAXX" } | |
case object CELL extends PreferredContactMethod1Code { override def toString = "CELL" } | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import monocle.std.option.some | |
import monocle.function.all._ | |
import monocle.Traversal | |
// I could take it a bit further by generating companion object methods to compose Traversal's too | |
case class Contact4(Nm: String, | |
EmailAdr: Option[String] = None, | |
Charge: Option[ActiveCurrencyAndAmount] = None, | |
ContactMethod: List[ContactMethodChoice] = Nil, | |
AltContactMethod: AnotherChoice, | |
Othr: List[OtherContact1] = Nil, | |
PrefrdMtd: Option[PreferredContactMethod1Code] = None) | |
object Contact4 { | |
def Nm: monocle.Lens[Contact4, String] = monocle.Lens[Contact4, String](_.Nm)((_Nm: String) => (contact4: Contact4) => contact4.copy(Nm = _Nm)) | |
def EmailAdr: monocle.Lens[Contact4, Option[String]] = monocle.Lens[Contact4, Option[String]](_.EmailAdr)((_EmailAdr: Option[String]) => (contact4: Contact4) => contact4.copy(EmailAdr = _EmailAdr)) | |
def Charge: monocle.Lens[Contact4, Option[ActiveCurrencyAndAmount]] = monocle.Lens[Contact4, Option[ActiveCurrencyAndAmount]](_.Charge)((_Charge: Option[ActiveCurrencyAndAmount]) => (contact4: Contact4) => contact4.copy(Charge = _Charge)) | |
def ContactMethod: monocle.Lens[Contact4, List[ContactMethodChoice]] = monocle.Lens[Contact4, List[ContactMethodChoice]](_.ContactMethod)((_ContactMethod: List[ContactMethodChoice]) => (contact4: Contact4) => contact4.copy(ContactMethod = _ContactMethod)) | |
def ContactMethod(idx: Int): monocle.Optional[Contact4, ContactMethodChoice] = Contact4.ContactMethod.composeOptional(index(idx)) | |
def eachContactMethod: monocle.Traversal[Contact4, ContactMethodChoice] = Contact4.ContactMethod.composeTraversal(each) | |
def AltContactMethod: monocle.Lens[Contact4, AnotherChoice] = monocle.Lens[Contact4, AnotherChoice](_.AltContactMethod)((_AltContactMethod: AnotherChoice) => (contact4: Contact4) => contact4.copy(AltContactMethod = _AltContactMethod)) | |
def Othr: monocle.Lens[Contact4, List[OtherContact1]] = monocle.Lens[Contact4, List[OtherContact1]](_.Othr)((_Othr: List[OtherContact1]) => (contact4: Contact4) => contact4.copy(Othr = _Othr)) | |
def Othr(idx: Int): monocle.Optional[Contact4, OtherContact1] = Contact4.Othr.composeOptional(index(idx)) | |
def eachOthr: monocle.Traversal[Contact4, OtherContact1] = Contact4.Othr.composeTraversal(each) | |
def PrefrdMtd: monocle.Lens[Contact4, Option[PreferredContactMethod1Code]] = monocle.Lens[Contact4, Option[PreferredContactMethod1Code]](_.PrefrdMtd)((_PrefrdMtd: Option[PreferredContactMethod1Code]) => (contact4: Contact4) => contact4.copy(PrefrdMtd = _PrefrdMtd)) | |
implicit class Contact4W[A](l: monocle.Lens[A, Contact4]) { | |
def Nm: monocle.Lens[A, String] = l composeLens Contact4.Nm | |
def EmailAdr: monocle.Lens[A, Option[String]] = l composeLens Contact4.EmailAdr | |
def Charge: monocle.Lens[A, Option[ActiveCurrencyAndAmount]] = l composeLens Contact4.Charge | |
def ContactMethod: monocle.Lens[A, List[ContactMethodChoice]] = l composeLens Contact4.ContactMethod | |
def AltContactMethod: monocle.Lens[A, AnotherChoice] = l composeLens Contact4.AltContactMethod | |
def Othr: monocle.Lens[A, List[OtherContact1]] = l composeLens Contact4.Othr | |
def PrefrdMtd: monocle.Lens[A, Option[PreferredContactMethod1Code]] = l composeLens Contact4.PrefrdMtd | |
} | |
implicit class Contact4O[A](l: monocle.Optional[A, Contact4]) { | |
def Nm: monocle.Optional[A, String] = l.composeLens(Contact4.Nm) | |
def EmailAdr: monocle.Optional[A, Option[String]] = l.composeLens(Contact4.EmailAdr) | |
def Charge: monocle.Optional[A, Option[ActiveCurrencyAndAmount]] = l.composeLens(Contact4.Charge) | |
def ContactMethod: monocle.Optional[A, List[ContactMethodChoice]] = l.composeLens(Contact4.ContactMethod) | |
def AltContactMethod: monocle.Optional[A, AnotherChoice] = l.composeLens(Contact4.AltContactMethod) | |
def Othr: monocle.Optional[A, List[OtherContact1]] = l.composeLens(Contact4.Othr) | |
def PrefrdMtd: monocle.Optional[A, Option[PreferredContactMethod1Code]] = l.composeLens(Contact4.PrefrdMtd) | |
} | |
implicit class Contact4X[A](l: monocle.Lens[A, Option[Contact4]]) { | |
def Nm: monocle.Optional[A, String] = l.composePrism(some).composeLens(Contact4.Nm) | |
def EmailAdr: monocle.Optional[A, String] = l.composePrism(some).composeOptional(Contact4.EmailAdr.composePrism(some)) | |
def Charge: monocle.Optional[A, ActiveCurrencyAndAmount] = l.composePrism(some).composeOptional(Contact4.Charge.composePrism(some)) | |
def ContactMethod: monocle.Optional[A, List[ContactMethodChoice]] =l.composePrism(some).composeLens(Contact4.ContactMethod) | |
def ContactMethod(idx: Int): monocle.Optional[A, ContactMethodChoice] = l.composePrism(some).composeOptional(Contact4.ContactMethod(idx)) | |
def AltContactMethod: monocle.Optional[A, AnotherChoice] = l.composePrism(some).composeLens(Contact4.AltContactMethod) | |
def Othr: monocle.Optional[A, List[OtherContact1]] =l.composePrism(some).composeLens(Contact4.Othr) | |
def Othr(idx: Int): monocle.Optional[A, OtherContact1] = l.composePrism(some).composeOptional(Contact4.Othr(idx)) | |
def PrefrdMtd: monocle.Optional[A, PreferredContactMethod1Code] = l.composePrism(some).composeOptional(Contact4.PrefrdMtd.composePrism(some)) | |
} | |
} | |
case class OtherContact1(ChanlTp: String, | |
Id: Option[String] = None, | |
PrefrdMtd: PreferredContactMethod1Code, | |
ContactMethod: Option[ContactMethodChoice]) extends AnotherChoiceOption | |
object OtherContact1 { | |
def ChanlTp: monocle.Lens[OtherContact1, String] = monocle.Lens[OtherContact1, String](_.ChanlTp)((_ChanlTp: String) => (othercontact1: OtherContact1) => othercontact1.copy(ChanlTp = _ChanlTp)) | |
def Id: monocle.Lens[OtherContact1, Option[String]] = monocle.Lens[OtherContact1, Option[String]](_.Id)((_Id: Option[String]) => (othercontact1: OtherContact1) => othercontact1.copy(Id = _Id)) | |
def PrefrdMtd: monocle.Lens[OtherContact1, PreferredContactMethod1Code] = monocle.Lens[OtherContact1, PreferredContactMethod1Code](_.PrefrdMtd)((_PrefrdMtd: PreferredContactMethod1Code) => (othercontact1: OtherContact1) => othercontact1.copy(PrefrdMtd = _PrefrdMtd)) | |
def ContactMethod: monocle.Lens[OtherContact1, Option[ContactMethodChoice]] = monocle.Lens[OtherContact1, Option[ContactMethodChoice]](_.ContactMethod)((_ContactMethod: Option[ContactMethodChoice]) => (othercontact1: OtherContact1) => othercontact1.copy(ContactMethod = _ContactMethod))) | |
implicit class OtherContact1W[A](l: monocle.Lens[A, OtherContact1]) { | |
def ChanlTp: monocle.Lens[A, String] = l composeLens OtherContact1.ChanlTp | |
def Id: monocle.Lens[A, Option[String]] = l composeLens OtherContact1.Id | |
def PrefrdMtd: monocle.Lens[A, PreferredContactMethod1Code] = l composeLens OtherContact1.PrefrdMtd | |
def ContactMethod: monocle.Lens[A, Option[ContactMethodChoice]] = l composeLens OtherContact1.ContactMethod | |
} | |
implicit class OtherContact1O[A](l: monocle.Optional[A, OtherContact1]) { | |
def ChanlTp: monocle.Optional[A, String] = l.composeLens(OtherContact1.ChanlTp) | |
def Id: monocle.Optional[A, Option[String]] = l.composeLens(OtherContact1.Id) | |
def PrefrdMtd: monocle.Optional[A, PreferredContactMethod1Code] = l.composeLens(OtherContact1.PrefrdMtd) | |
def ContactMethod: monocle.Optional[A, Option[ContactMethodChoice]] = l.composeLens(OtherContact1.ContactMethod) | |
} | |
implicit class OtherContact1X[A](l: monocle.Lens[A, Option[OtherContact1]]) { | |
def ChanlTp: monocle.Optional[A, String] = l.composePrism(some).composeLens(OtherContact1.ChanlTp) | |
def Id: monocle.Optional[A, String] = l.composePrism(some).composeOptional(OtherContact1.Id.composePrism(some)) | |
def PrefrdMtd: monocle.Optional[A, PreferredContactMethod1Code] = l.composePrism(some).composeLens(OtherContact1.PrefrdMtd) | |
def ContactMethod: monocle.Optional[A, ContactMethodChoice] = l.composePrism(some).composeOptional(OtherContact1.ContactMethod.composePrism(some)) | |
} | |
} | |
case class ActiveCurrencyAndAmount(value: BigDecimal, | |
attributes: Map[String, scalaxb.DataRecord[Any]] = Map.empty) extends AnotherChoiceOption { | |
lazy val Ccy = attributes("@Ccy").as[String] | |
} | |
object ActiveCurrencyAndAmount { | |
def value: monocle.Lens[ActiveCurrencyAndAmount, BigDecimal] = monocle.Lens[ActiveCurrencyAndAmount, BigDecimal](_.value)((_value: BigDecimal) => (activecurrencyandamount: ActiveCurrencyAndAmount) => activecurrencyandamount.copy(value = _value)) | |
def attributes: monocle.Lens[ActiveCurrencyAndAmount, Map[String, scalaxb.DataRecord[Any]]] = monocle.Lens[ActiveCurrencyAndAmount, Map[String, scalaxb.DataRecord[Any]]](_.attributes)((_attributes: Map[String, scalaxb.DataRecord[Any]]) => (activecurrencyandamount: ActiveCurrencyAndAmount) => activecurrencyandamount.copy(attributes = _attributes)) | |
implicit class ActiveCurrencyAndAmountW[A](l: monocle.Lens[A, ActiveCurrencyAndAmount]) { | |
def value: monocle.Lens[A, BigDecimal] = l composeLens ActiveCurrencyAndAmount.value | |
def attributes: monocle.Lens[A, Map[String, scalaxb.DataRecord[Any]]] = l composeLens ActiveCurrencyAndAmount.attributes | |
} | |
implicit class ActiveCurrencyAndAmountO[A](l: monocle.Optional[A, ActiveCurrencyAndAmount]) { | |
def value: monocle.Optional[A, BigDecimal] = l.composeLens(ActiveCurrencyAndAmount.value) | |
def attributes: monocle.Optional[A, Map[String, scalaxb.DataRecord[Any]]] = l.composeLens(ActiveCurrencyAndAmount.attributes) | |
} | |
implicit class ActiveCurrencyAndAmountX[A](l: monocle.Lens[A, Option[ActiveCurrencyAndAmount]]) { | |
def value: monocle.Optional[A, BigDecimal] = l.composePrism(some).composeLens(ActiveCurrencyAndAmount.value) | |
def attributes: monocle.Optional[A, Map[String, scalaxb.DataRecord[Any]]] = l.composePrism(some).composeLens(ActiveCurrencyAndAmount.attributes) | |
} | |
} | |
case class AnotherChoice(anotherchoiceoption: scalaxb.DataRecord[AnotherChoiceOption]) | |
object AnotherChoice { | |
def anotherchoiceoption: monocle.Lens[AnotherChoice, scalaxb.DataRecord[AnotherChoiceOption]] = monocle.Lens[AnotherChoice, scalaxb.DataRecord[AnotherChoiceOption]](_.anotherchoiceoption)((_anotherchoiceoption: scalaxb.DataRecord[AnotherChoiceOption]) => (anotherchoice: AnotherChoice) => anotherchoice.copy(anotherchoiceoption = _anotherchoiceoption)) | |
implicit class AnotherChoiceW[A](l: monocle.Lens[A, AnotherChoice]) { | |
def anotherchoiceoption: monocle.Lens[A, scalaxb.DataRecord[AnotherChoiceOption]] = l composeLens AnotherChoice.anotherchoiceoption | |
} | |
implicit class AnotherChoiceO[A](l: monocle.Optional[A, AnotherChoice]) { | |
def anotherchoiceoption: monocle.Optional[A, scalaxb.DataRecord[AnotherChoiceOption]] = l.composeLens(AnotherChoice.anotherchoiceoption) | |
} | |
implicit class AnotherChoiceX[A](l: monocle.Lens[A, Option[AnotherChoice]]) { | |
def anotherchoiceoption: monocle.Optional[A, scalaxb.DataRecord[AnotherChoiceOption]] = l.composePrism(some).composeLens(AnotherChoice.anotherchoiceoption) | |
} | |
} | |
trait AnotherChoiceOption | |
case class ContactMethodChoice(contactmethodchoiceoption: scalaxb.DataRecord[Any]) | |
object ContactMethodChoice { | |
def contactmethodchoiceoption: monocle.Lens[ContactMethodChoice, scalaxb.DataRecord[Any]] = monocle.Lens[ContactMethodChoice, scalaxb.DataRecord[Any]](_.contactmethodchoiceoption)((_contactmethodchoiceoption: scalaxb.DataRecord[Any]) => (contactmethodchoice: ContactMethodChoice) => contactmethodchoice.copy(contactmethodchoiceoption = _contactmethodchoiceoption)) | |
implicit class ContactMethodChoiceW[A](l: monocle.Lens[A, ContactMethodChoice]) { | |
def contactmethodchoiceoption: monocle.Lens[A, scalaxb.DataRecord[Any]] = l composeLens ContactMethodChoice.contactmethodchoiceoption | |
} | |
implicit class ContactMethodChoiceO[A](l: monocle.Optional[A, ContactMethodChoice]) { | |
def contactmethodchoiceoption: monocle.Optional[A, scalaxb.DataRecord[Any]] = l.composeLens(ContactMethodChoice.contactmethodchoiceoption) | |
} | |
implicit class ContactMethodChoiceX[A](l: monocle.Lens[A, Option[ContactMethodChoice]]) { | |
def contactmethodchoiceoption: monocle.Optional[A, scalaxb.DataRecord[Any]] = l.composePrism(some).composeLens(ContactMethodChoice.contactmethodchoiceoption) | |
} | |
} | |
trait ContactMethodChoiceOption | |
sealed trait PreferredContactMethod1Code | |
object PreferredContactMethod1Code { | |
def fromString(value: String, scope: scala.xml.NamespaceBinding)(implicit fmt: scalaxb.XMLFormat[PreferredContactMethod1Code]): PreferredContactMethod1Code = fmt.reads(scala.xml.Text(value), Nil) match { | |
case Right(x: PreferredContactMethod1Code) => x | |
case x => throw new RuntimeException(s"fromString returned unexpected value $x for input $value") | |
} | |
lazy val values: Seq[PreferredContactMethod1Code] = Seq(LETT, MAIL, PHON, FAXX, CELL) | |
} | |
case object LETT extends PreferredContactMethod1Code { override def toString = "LETT" } | |
case object MAIL extends PreferredContactMethod1Code { override def toString = "MAIL" } | |
case object PHON extends PreferredContactMethod1Code { override def toString = "PHON" } | |
case object FAXX extends PreferredContactMethod1Code { override def toString = "FAXX" } | |
case object CELL extends PreferredContactMethod1Code { override def toString = "CELL" } | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment