Доступ к объекту в объекте Lift Scala net.liftweb.util.Box - PullRequest
2 голосов
/ 02 июля 2011

У меня есть объект net.liftweb.util.Box, который возвращается в результате поиска по идентификатору пользователя.Объект Box возвращает что-то вроде:

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

Как я могу получить доступ к объекту внутри Box?В частности, я хочу получить доступ к атрибутам сущности внутри коробки.

Ответы [ 2 ]

5 голосов
/ 02 июля 2011

Пожалуйста, смотрите http://lift.la/scala-option-lift-box-and-how-to-make-your-co

Вы можете получить доступ к содержимому Box в вызове метода foreach / map. Например, если вы хотите получить имя от вашей сущности:

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

Если поле заполнено, в противном случае вы получите имя сущности, вы получите сообщение.

1 голос
/ 07 июля 2011

Если вы хотите выполнить какую-либо операцию над объектом в поле dmap, полезно.

Например:

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

Вы можете получить элемент напрямую, вызвав fooBox.open_!но это не рекомендуется.Это часто вызывает исключение нулевого указателя, когда поле пусто.

...