
tll
Contains projects owned and maintained by The Logic Lab.
The following are Maven-driven code modules providing particular functionality. The inter-dependencies are intended to be as minimal as possible and are considered to be "loosely coupled".
tll-core
Core functionality mainly utility routines:
- String
- Enum
- Collection
- Crypto
- Reflection (find classes under a package name)
- Validation
tll-config
Loads one or more property files from disk.
This module extends Apache's commons configuration project with additional functionality:
- Ability to load multiple property files into a single in memory
Config
instance. - Extract properties from a loaded
Config
instance to aMap<String, String>
instance allowing for property filtering. - Save loaded properties to disk allowing for property filtering.
tll-mail
Dispatches emails programmatically.
Programmatic email assembly and distribution using Spring and javax.mail via a simplified api.
tll-schema
Processes one or more classes providing model property metadata.
- Schema annotations enabling the loading of schema related information on entity properties. The main use of this information is to decorate model data when sent to the client for client-side validation.
tll-model
Base and helper classes for defining application entities.
- Business key annotations which enable checking of business key constraints before entities are persisted.
- Validation support based on Hibernate Validator (JSR 303).
- Single entity methods for setting both sides of a bi-directional entity relationship.
EntityFactory
that handles eager setting of entity ids at time of object creation.EntityGraph
andIEntityGraphBuilder
for easily creating entity object graphs useful for testing.
tll-dao
Data persistence interfaces for basic CRUD ops and large result set retrieval via paging routines.
tll-service
Level of abstraction that sits directly above the dao layer supporting full @Transaction support.
Transactions are realized via Spring's @Transactional
via AspectJ Compile Time Weaving having no dependence on Spring's application context.
tll-servlet
Core servlet functionality.
WebClientCacheFilter
which adds caching directives to anHttpServletResponse
configured by adding declarative caching directives in the application'sweb.xml
file.
client-ui
Provides extended UI related functionality for GWT.
This includes in part: * "Global" Message display via a message panel able to display messages categorized by severity and origin (client or server). * "Local" message display via tooltip type messages triggered by mouse hovering. * Option panel supporting the selection of a single option via mouse click. * Toolbar panel which displays images triggering onvaluechange events.
client-view
A way to create and manage views in a GWT context.
This view functionality includes: * View caching (configurable). * Poppable views. A popped is removed from the DOM layout flow and is draggable. * View refreshing where data is re-retrieved from its data source including server side fetching via GWT RPC.
client-field
A way to present and modify model data in a GWT context.
This functionality includes: * Model/field data binding supporting related one and related many bindings. * Field level validation both single field and intra-field (multiple fields) validation. * Local and global validation feedback message display.
client-persist
Provides CRUD functionality in a GWT context of an application's model data (entities).
client-listing
Paging functionality for large collections of application/model data in a GWT context.
client-login
Login/logout functionality in a GWT context based on Spring Security.
smbiz
Small Business Web Administration Interface
JEE Web 2.0 prototype app using the latest and best of breed open source frameworks.
Administrative interface for managing small business B2C processes.