the absolute path hosting this application, mainly used by the getFile(path)
helper method
the application's classloader
the SourceMapper
used to retrieve source code displayed in error pages
Dev
or Prod
, passed as information for the user code
the application's classloader
The configuration used by this application.
The configuration used by this application.
play.api.Configuration
Retrieves a file relative to the application root path.
Retrieves a file relative to the application root path. This method returns an Option[File], using None if the file was not found.
For example, to retrieve a configuration file:
val myConf = application.getExistingFile("conf/myConf.yml")
the relative path of the file to fetch
an existing file
Retrieves a file relative to the application root path.
Retrieves a file relative to the application root path.
For example, to retrieve a configuration file:
val myConf = application.getFile("conf/myConf.yml")
relative path of the file to fetch
a file instance; it is not guaranteed that the file exists
Scans the application classloader to retrieve all types annotated with a specific annotation.
Scans the application classloader to retrieve all types annotated with a specific annotation.
This method is useful for some plugins, for example the EBean plugin will automatically detect all types
annotated with @javax.persistance.Entity
, using:
val entities = application.getTypesAnnotatedWith("models", classOf[javax.persistance.Entity])
Note that it is better to specify a very specific package to avoid expensive searches.
the annotation type
the root package to scan
the annotation class
a set of types names specifying the condition
The global settings object used by this application.
The global settings object used by this application.
play.api.GlobalSettings
Dev
or Prod
, passed as information for the user code
the absolute path hosting this application, mainly used by the getFile(path)
helper method
Retrieves a plugin of type T
.
Retrieves a plugin of type T
.
For example, retrieving the DBPlugin instance:
val dbPlugin = application.plugin(classOf[DBPlugin])
the plugin type
the plugin’s class
the plugin instance, wrapped in an option, used by this application
Retrieves a plugin of type T
.
Retrieves a plugin of type T
.
For example, to retrieve the DBPlugin instance:
val dbPlugin = application.plugin[DBPlugin].map(_.api).getOrElse(sys.error("problem with the plugin"))
the plugin type
The plugin instance used by this application.
The plugins list used by this application.
The plugins list used by this application.
Plugin classes must extend play.api.Plugin and are automatically discovered by searching for all play.plugins files in the classpath.
A play.plugins file contains a list of plugin classes to be loaded, and sorted by priority:
100:play.api.i18n.MessagesPlugin 200:play.api.db.DBPlugin 250:play.api.cache.BasicCachePlugin 300:play.db.ebean.EbeanPlugin 400:play.db.jpa.JPAPlugin 500:play.api.db.evolutions.EvolutionsPlugin 1000:play.api.libs.akka.AkkaPlugin 10000:play.api.GlobalPlugin
play.api.Plugin
Scans the application classloader to retrieve a resource.
Scans the application classloader to retrieve a resource.
For example, to retrieve a configuration file:
val maybeConf = application.resource("conf/logger.xml")
the absolute name of the resource (from the classpath root)
the resource URL, if found
Scans the application classloader to retrieve a resource’s contents as a stream.
Scans the application classloader to retrieve a resource’s contents as a stream.
For example, to retrieve a configuration file:
val maybeConf = application.resourceAsStream("conf/logger.xml")
the absolute name of the resource (from the classpath root)
a stream, if found
The router used by this application (if defined).
the SourceMapper
used to retrieve source code displayed in error pages
A Play application.
Application creation is handled by the framework engine.
If you need to create an ad-hoc application, for example in case of unit testing, you can easily achieve this using:
This will create an application using the current classloader.