- java.lang.Object
-
- com.erudika.para.core.utils.Para
-
public final class Para extends Object
This is the main utility class and entry point. Dependency injection is initialized with the provided modules.- Author:
- Alex Bogdanovski [alex@erudika.com]
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidaddDestroyListener(DestroyListener dl)Registers a new destruction listener.static voidaddInitListener(InitializeListener il)Registers a new initialization listener.static voidaddIOListener(IOListener iol)Registers a new Para I/O listener.static voidaddSearchQueryListener(IOListener iol)Registers a new Para I/O listener for listening to search queries.static voidasyncExecute(Runnable runnable)Executes aRunnableasynchronously.static ScheduledFuture<?>asyncExecutePeriodically(Runnable task, long delay, long interval, TimeUnit t)Executes aRunnableat a fixed interval, asynchronously.static voiddestroy()Calls all registered listeners on exit.static CachegetCache()static ParaConfiggetConfig()static List<CustomResourceHandler>getCustomResourceHandlers()Try loading externalCustomResourceHandlerclasses.static DAOgetDAO()static Set<DestroyListener>getDestroyListeners()static ExecutorServicegetExecutorService()Returns the Para executor service.static FileStoregetFileStore()static Set<InitializeListener>getInitListeners()static Set<IOListener>getIOListeners()Returns a list of I/O listeners (callbacks).static ClassLoadergetParaClassLoader()Returns theURLClassLoaderclassloader for Para.static QueuegetQueue()static ScheduledExecutorServicegetScheduledExecutorService()Returns the Para scheduled executor service.static SearchgetSearch()static Set<IOListener>getSearchQueryListeners()Returns a list of I/O listeners for search queries.static StringgetVersion()The current version of Para.static voidinitialize()Executes all initialize listeners and prints logo.static Map<String,String>newApp(String appid, String name, boolean sharedTable, boolean sharedIndex)Creates a new application and returns the credentials for it.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.static voidprintLogo()Prints the Para logo to System.out.static Map<String,String>setup()Creates the root application and returns the credentials for it.
-
-
-
Field Detail
-
LOGO
public static final String LOGO
The ASCII logo.
-
-
Method Detail
-
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.
-
getSearch
public static Search getSearch()
- Returns:
- an instance of the core search class.
- See Also:
Search
-
getCache
public static Cache getCache()
- Returns:
- an instance of the core cache class.
- See Also:
Cache
-
getQueue
public static Queue getQueue()
- Returns:
- an instance of the core queue class.
- See Also:
Queue
-
getFileStore
public static FileStore getFileStore()
- Returns:
- an instance of the core FileStore class.
- See Also:
FileStore
-
addInitListener
public static void addInitListener(InitializeListener il)
Registers a new initialization listener.- Parameters:
il- the listener
-
getInitListeners
public static Set<InitializeListener> getInitListeners()
- Returns:
- a list of
InitializeListener
-
addDestroyListener
public static void addDestroyListener(DestroyListener dl)
Registers a new destruction listener.- Parameters:
dl- the listener
-
getDestroyListeners
public static Set<DestroyListener> getDestroyListeners()
- Returns:
- a list of
DestroyListener
-
addIOListener
public static void addIOListener(IOListener iol)
Registers a new Para I/O listener.- Parameters:
iol- the listener
-
getIOListeners
public static Set<IOListener> getIOListeners()
Returns a list of I/O listeners (callbacks).- Returns:
- the list of registered listeners
-
addSearchQueryListener
public static void addSearchQueryListener(IOListener iol)
Registers a new Para I/O listener for listening to search queries.- Parameters:
iol- the listener
-
getSearchQueryListeners
public static Set<IOListener> getSearchQueryListeners()
Returns a list of I/O listeners for search queries.- Returns:
- the list of registered listeners for listening to search queries
-
getExecutorService
public static ExecutorService getExecutorService()
Returns the Para executor service.- Returns:
- a fixed thread executor service
-
getScheduledExecutorService
public static ScheduledExecutorService getScheduledExecutorService()
Returns the Para scheduled executor service.- Returns:
- a scheduled executor service
-
asyncExecute
public static void asyncExecute(Runnable runnable)
Executes aRunnableasynchronously.- Parameters:
runnable- a task
-
asyncExecutePeriodically
public static ScheduledFuture<?> asyncExecutePeriodically(Runnable task, long delay, long interval, TimeUnit t)
Executes aRunnableat a fixed interval, asynchronously.- Parameters:
task- a taskdelay- run afterinterval- run at this interval of timet- time unit- Returns:
- a Future
-
getCustomResourceHandlers
public static List<CustomResourceHandler> getCustomResourceHandlers()
Try loading externalCustomResourceHandlerclasses. These will handle custom API requests. viaServiceLoader.load(java.lang.Class).- Returns:
- a loaded list of ServletContextListener class.
-
getParaClassLoader
public static ClassLoader getParaClassLoader()
Returns theURLClassLoaderclassloader for Para. Used for loading JAR files from 'lib/*.jar'.- Returns:
- a classloader
-
setup
public static Map<String,String> setup()
Creates the root application and returns the credentials for it.- Returns:
- credentials for the root app
-
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 theUserwho 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
public static String getVersion()
The current version of Para.- Returns:
- version string, from pom.xml
-
getConfig
public static ParaConfig getConfig()
- Returns:
- the default Para CONF instance.
-
-