|
Lift Framework example source code file (DefaultRoutines.scala)
The Lift Framework DefaultRoutines.scala source code/* * Copyright 2010-2011 WorldWide Conferencing, LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.liftweb package http import java.util.{ResourceBundle, Locale} import common._ import util._ /** * Many routines in Lift can be customized in LiftRules, * but have default behaviors. This singleton contains * the default routines. <b>**DO NOT** call these methods * directly. Use LiftRules to call them. So, why make them * public? So, we can document the default behaviors. */ object DefaultRoutines { private val resourceMap: LRUMap[(String, List[String]), Box[ResourceBundle]] = new LRUMap(2000) private def rawResBundle(loc: Locale, path: List[String]): Box[ResourceBundle] = { val realPath = path match { case Nil => List("_resources") case x => x } for { xml <- Templates(realPath, loc) or Templates("templates-hidden" :: realPath, loc) or Templates(realPath.dropRight(1) ::: ("resources-hidden" :: realPath.takeRight(1)), loc) bundle <- BundleBuilder.convert(xml, loc) } yield bundle } private def resBundleFor(loc: Locale, path: List[String]): Box[ResourceBundle] = resourceMap.synchronized { val key = loc.toString -> path resourceMap.get(key) match { case Full(x) => x case _ => { val res = rawResBundle(loc, path) if (!Props.devMode) resourceMap(key) = res res } } } /** * Returns the resources for the current request. In development * mode, these resources will be reloaded on each request. In * production mode, the resources will be cached (up to 2000 * resource bundles will be cached). <br/> Other Lift Framework examples (source code examples)Here is a short list of links related to this Lift Framework DefaultRoutines.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.