-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Infinitum is an extensible, modular framework enabling Android developers to quickly create rich, domain-driven applications while facilitating the convention-over-configuration paradigm.
Infinitum consists of various modules including ORM, AOP and Web. Infinitum Core is the required dependency which provides a number of different features like inversion of control, logging, and Activity injection. It's also required for all other framework modules.
This user guide is designed to provide explanation for some of the various framework core features and, perhaps more important, how to use them. For information on using other module features, see their respective wikis.
For information on what's in progress and what's planned for Infinitum, check out the Road Map. Also be sure to check out the FAQ.
-
Resources
- infinitum.cfg.xml: XML framework configuration file.
-
Components
-
InfinitumContext: stores framework configuration data read from
infinitum.cfg.xml
and provides a service-locator API for the bean factory. -
ContextFactory: access point for retrieving
InfinitumContext
singletons.
-
InfinitumContext: stores framework configuration data read from
-
Components
-
BeanFactoryPostProcessor: enables an
InfinitumContext
to have itsBeanFactory
modified after it has been configured. - BeanPostProcessor: allows for beans to be modified after they have been initialized by the container.
- BeanProvider: allows beans to be programmatically registered at framework initialization.
-
BeanFactoryPostProcessor: enables an
-
Annotations
- Component: indicates that the annotated class is a framework component, meaning it is a candidate for auto-detection.
-
Bean: specialization of the
Component
annotation indicating that the annotated class is a dependency-injection bean. - Scope: indicates the scope of a bean.
- Autowired: indicates that the annotated constructor, setter, or field is to be injected by the framework.
- PostConstruct: indicates that the annotated method is to be invoked after dependency injection.
Infinitum provides a set of Activity
and Fragment
extensions which take care of framework initialization, provide support for resource injection and event binding, and expose an InfinitumContext
.
-
Components
-
InfinitumActivity:
Activity
extension that provides support for resource injection and event binding. -
InfinitumListActivity:
ListActivity
extension that provides support for resource injection and event binding. -
InfinitumFragmentActivity:
FragmentActivity
extension that provides support for resource injection and event binding. -
InfinitumFragment:
Fragment
extension that provides support for resource injection and event binding. -
InfinitumListFragment:
ListFragment
extension that provides support for resource injection and event binding.
-
InfinitumActivity:
-
Annotations
-
InjectLayout: indicates that the annotated
Activity
is to be injected with a layout by the framework. - InjectView: indicates that the given field is to be injected with a view by the framework.
- InjectResource: indicates that the given field is to be injected with a resource by the framework.
-
Bind: indicates that the annotated
View
is to be bound to a callback method for a given event type.
-
InjectLayout: indicates that the annotated
-
Components
- Logger: prints log messages to Logcat but adheres to environment configuration.
-
Components
- EventSubscriber: allows for an implementing class to consume published events.
-
Annotations
- Event: indicates that the annotated method should be published as a framework event when invoked.
-
EventPayload: indicates that the annotated parameter is part of an
Event
payload.