java.lang.Object
com.erudika.para.core.utils.Para
This is the main utility class and entry point.
Dependency injection is initialized with the provided modules.
- Author:
- Alex Bogdanovski [[email protected]]
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
Registers a new destruction listener.static void
Registers a new initialization listener.static void
addIOListener
(IOListener iol) Registers a new Para I/O listener.static void
Registers a new Para I/O listener for listening to search queries.static void
asyncExecute
(Runnable runnable) Executes aRunnable
asynchronously.static ScheduledFuture
<?> asyncExecutePeriodically
(Runnable task, long delay, long interval, TimeUnit t) Executes aRunnable
at a fixed interval, asynchronously.static RateLimiter
createRateLimiter
(int rateLimitPerMin, int rateLimitPerHour) Creates a simple rate limiter.static RateLimiter
createRateLimiter
(int rateLimitPerMin, int rateLimitPerHour, int rateLimitPerDay) Creates a simple rate limiter.static void
destroy()
Calls all registered listeners on exit.static Cache
getCache()
static ParaConfig
static List
<CustomResourceHandler> Try loading externalCustomResourceHandler
classes.static DAO
getDAO()
static Set
<DestroyListener> static ExecutorService
Returns the Para executor service.static FileStore
static Set
<InitializeListener> static Set
<IOListener> Returns a list of I/O listeners (callbacks).static ClassLoader
Returns theURLClassLoader
classloader for Para.static Queue
getQueue()
static ScheduledExecutorService
Returns the Para scheduled executor service.static Search
static Set
<IOListener> Returns a list of I/O listeners for search queries.static String
The current version of Para.static void
Executes all initialize listeners and prints logo.Creates a new application and returns the credentials for it.Creates a new application and returns the credentials for it.static void
Prints the Para logo to System.out.static void
registerCoreClasses
(Class<? extends ParaObject>... classes) Explicitly registers core classes for reflection.setup()
Creates the root application and returns the credentials for it.
-
Field Details
-
LOGO
The ASCII logo.
-
-
Method Details
-
initialize
public static void initialize()Executes all initialize listeners and prints logo. Call this method first. -
destroy
public static void destroy()Calls all registered listeners on exit. Call this method last. -
getDAO
- Returns:
- an instance of the core persistence class.
- See Also:
-
getSearch
- Returns:
- an instance of the core search class.
- See Also:
-
getCache
- Returns:
- an instance of the core cache class.
- See Also:
-
getQueue
- Returns:
- an instance of the core queue class.
- See Also:
-
getFileStore
- Returns:
- an instance of the core FileStore class.
- See Also:
-
addInitListener
Registers a new initialization listener.- Parameters:
il
- the listener
-
getInitListeners
- Returns:
- a list of
InitializeListener
-
addDestroyListener
Registers a new destruction listener.- Parameters:
dl
- the listener
-
getDestroyListeners
- Returns:
- a list of
DestroyListener
-
addIOListener
Registers a new Para I/O listener.- Parameters:
iol
- the listener
-
getIOListeners
Returns a list of I/O listeners (callbacks).- Returns:
- the list of registered listeners
-
addSearchQueryListener
Registers a new Para I/O listener for listening to search queries.- Parameters:
iol
- the listener
-
getSearchQueryListeners
Returns a list of I/O listeners for search queries.- Returns:
- the list of registered listeners for listening to search queries
-
getExecutorService
Returns the Para executor service.- Returns:
- a fixed thread executor service
-
getScheduledExecutorService
Returns the Para scheduled executor service.- Returns:
- a scheduled executor service
-
asyncExecute
-
asyncExecutePeriodically
public static ScheduledFuture<?> asyncExecutePeriodically(Runnable task, long delay, long interval, TimeUnit t) Executes aRunnable
at a fixed interval, asynchronously.- Parameters:
task
- a taskdelay
- run afterinterval
- run at this interval of timet
- time unit- Returns:
- a Future
-
createRateLimiter
Creates a simple rate limiter.- Parameters:
rateLimitPerMin
- rate limit per minuterateLimitPerHour
- rate limit per hour- Returns:
- a new rate limiter instance
-
createRateLimiter
public static RateLimiter createRateLimiter(int rateLimitPerMin, int rateLimitPerHour, int rateLimitPerDay) Creates a simple rate limiter.- Parameters:
rateLimitPerMin
- rate limit per minuterateLimitPerHour
- rate limit per hourrateLimitPerDay
- rate limit per day- Returns:
- a new rate limiter instance
-
getCustomResourceHandlers
Try loading externalCustomResourceHandler
classes. These will handle custom API requests. viaServiceLoader.load(java.lang.Class)
.- Returns:
- a loaded list of ServletContextListener class.
-
getParaClassLoader
Returns theURLClassLoader
classloader for Para. Used for loading JAR files from 'lib/*.jar'.- Returns:
- a classloader
-
registerCoreClasses
Explicitly registers core classes for reflection.- Parameters:
classes
- a list of classes
-
setup
-
newApp
public static Map<String,String> newApp(String appid, String name, boolean sharedTable, boolean sharedIndex) Creates a new application and returns the credentials for it.- Parameters:
appid
- the app identifiername
- the full name of the appsharedTable
- false if the app should have its own tablesharedIndex
- false if the app should have its own index- Returns:
- credentials for the root app
-
newApp
public static Map<String,String> newApp(String appid, String name, String creatorid, boolean sharedTable, boolean sharedIndex) Creates a new application and returns the credentials for it.- Parameters:
appid
- the app identifiername
- the full name of the appcreatorid
- the id of theUser
who owns this appsharedTable
- false if the app should have its own tablesharedIndex
- false if the app should have its own index- Returns:
- credentials for the root app
-
printLogo
public static void printLogo()Prints the Para logo to System.out. -
getVersion
The current version of Para.- Returns:
- version string, from pom.xml
-
getConfig
- Returns:
- the default Para CONF instance.
-