/ / Entität innerhalb von Lift Scala net.liftweb.util.Box Objekt - Scala, Scala-2.8, Lift

Access Entity innerhalb Lift Scala net.liftweb.util.Box Objekt - Scala, Scala-2.8, Aufzug

Ich habe ein net.liftweb.util.Box-Objekt, das als Ergebnis einer Suche nach einer Benutzer-ID zurückgegeben wird. Das Boxobjekt gibt Folgendes zurück:

net.liftweb.util.Box[MyEntity{attributes}]

Wie kann ich auf die Entität innerhalb der Box zugreifen? Insbesondere möchte ich auf die Attribute der Entität innerhalb der Box zugreifen.

Antworten:

5 für die Antwort № 1

Bitte sehen http://lift.la/scala-option-lift-box-and-how-to-make-your-co

Sie können auf den Inhalt einer Box innerhalb eines Aufrufs von foreach / map zugreifen. Wenn Sie beispielsweise den Namen aus Ihrer Entität abrufen möchten:

myBoxedEntity.map(_.name) openOr "No Name Provided"

Wenn das Feld voll ist, erhalten Sie den Entitätsnamen, andernfalls erhalten Sie die Nachricht.


1 für die Antwort № 2

Wenn Sie eine Operation am Objekt in Box dmap ausführen möchten, ist es hilfreich.

Beispielsweise:

fooBox.dmap("Yo!")(foo =>
// dome some staff with foo
result // must be string
)

Sie können das Element direkt abrufen, indem Sie fooBox.open_ aufrufen. Es wird jedoch nicht empfohlen. Es führt häufig zu einer Nullzeigerausnahme, wenn das Feld leer ist.