TECUJ Library
Introduction To TECUJ
1. Introduction
Technology Exponent Common Utilities for Java (TECUJ) is a Java library that makes common programming tasks easier. TECUJ is a free software with a GNU LGPL license. Examples of things made easier by the library include:
Enhancements to the Java and Jakarta-commons collections API
File I/O.
Configuration and properties files.
JDBC handling.
Email.
Logging.
XML processing.
String processing.
A powerful list of String items.
Configurable tokenizers.
And many more ...
TECUJ aspires to achieve the following:
Eliminate repetitive Java programming chores.
TECUJ is not a framework that forces you to either use it all or not at all. If you decide to use any of its features, you could continue to use your favorite libraries or framework.
TECUJ tries not to reinvent the wheel, it builds on existing standards and open source libraries.
TECUJ uses the following libraries (which are included in the tecuj.x.zip download):
Java Mail API: mail.jar, version 1.4
JavaBeans Activation Framework: activation.jar, version 1.1
Apache Jakarta Commons lang library: commons-lang-2.3.jar
Apache Jakarta Commons collections library: commons-collections-3.2.jar
Apache Jakarta Commons codec library: commons-codec-1.3.jar
Apache Jakarta Commons IO library: commons-io-1.3.2.jar
Apache Log4j library: log4j-1.2.15.jar
Apache Jakarta Commons Logging library: commons-logging-1.1.jar
TECUJ should run with any version of Java 1.4 or higher. To use this library, just make sure that Tek271Util.jar (and the other dependent jars) are in your classpath.
2. Classes
The following is a list of classes and a brief description of each. The green background indicates the start of a new package.
3. Changes
Version 1.2, 2009.01.15
Added com.tek271.util.internet.html.menu.MultiLevelMenu
Added com.tek271.util.internet.html.menu.XmlMultiLevelMenu
Added com.tek271.util.internet.html.menu.multiLevelTopMenu.css (style sheet)
Added com.tek271.util.string.StringUtility.deleteControlChars()
Added com.tek271.util.string.StringUtility.mutate()
Added com.tek271.util.string.StringUtility.selectOption()
Added com.tek271.util.string.StringUtility.pluralize()
Added com.tek271.util.string.WordUtility
Added com.tek271.util.reflect.ReflectUtil.getPackageDirectoryOfClass()
Added com.tek271.util.reflect.ReflectUtil.getSuperclasses()
Added com.tek271.util.reflect.ReflectUtil.isDefaultScope()
Added com.tek271.util.reflect.BasicTypes
Added com.tek271.util.reflect.IPrimitiveWrapper
Added com.tek271.util.reflect.filter.MethodFilter
Added com.tek271.util.reflect.filter.MethodSignature
Added com.tek271.util.collections.set.SetUtility
Added com.tek271.util.collections.list.ListOfString.readFromTextFileInContext()
Updated com.tek271.util.reflect.accessors.MethodAccessor.invoke() to call non-public methods
Added overloaded factory methods to XmlTree to enable preserving space in elemetns's data. Thanks Nilanjan Raychaudhuri.
Fixed the spelling error in class com.tek271.util.thread.OsExecutor name
Version 1.1, 2008.01.02
Added com.tek271.util.collections.CollectionUtility.addAll(Collection, Object[])
Added com.tek271.util.collections.array.ArrayUtilities.toArrayOfString(Object[])
Added com.tek271.util.collections.array.ArrayUtilities.toArrayOfString(Collection)
Added com.tek271.util.reflect.accessors.BeanAccessor
Added com.tek271.util.reflect.accessors.FieldAccessor
Added com.tek271.util.reflect.accessors.MethodAccessor
Added com.tek271.util.thread.OsExecutor
Added com.tek271.util.string.StringUtility.replaceBetween*() methods
Added com.tek271.util.string.StringUtility.removeBetween*() methods
Added com.tek271.util.string.StringUtility.defaultToNull() method
Added com.tek271.util.string.StringUtility.substringAfterOpenClose(str, open, close, fromIndex) method
Added com.tek271.util.log.Log4jAdapter.Log4jAdapter(URL) constructor
Version 1.01, 2007.09.21
Updated the used libraries (Jakarta Commons and Log4J) to the latest release.
Version 1.0, 2007.09.15
This is a major release with many updates and bug fixes.
Added Ant build script.
Converted the project to use Eclipse.
Cleaned up many of JavaDocs warnings.
Added com.tek271.util.io.Compress
Added com.tek271.util.thread.ThreadUtility.sleepMillis()
Added com.tek271.util.collections.map.OrderedMapOfTimestamp
Added com.tek271.util.collections.map.TimedLruMap
Added com.tek271.util.collections.array.ArrayUtilities.clone(String[] aArray)
Refactored com.tek271.util.cache.CacheStore to use com.tek271.util.collections.map.TimedLruMap instead of org.apache.commons.collections.map.LRUMap
Fixed a bug in com.tek271.util.cache.CacheStore.equals()
Deprecated com.tek271.util.cache.CacheItem
Deprecated com.tek271.util.cache.ICacheItem
Added these fields to com.tek271.util.internet.html.HtmlTable: classHeader, classRow1, and classRow2
Added com.tek271.util.security.Encryption
Added com.tek271.util.string.StringUtility.deleteControlChars(String)
Added com.tek271.util.string.TextTemplate.setText(String) method.
Added com.tek271.util.string.TextTemplate.getAllTagNames(String aStartsWith) method.
Added com.tek271.util.xml.XmlTree.isEqualTag(String aTag, boolean aIsRegExp)
Added com.tek271.util.xml.XmlTree.findAllChildren(String aTagPath, boolean aIsRegExp)
Version 0.19, 2006.08.16
Fixed a bug in com.tek271.util.xml.XmlUtil.tagStart() where attributes that contain the double-quote character will be surrounded by single quotes.
Refactored com.tek271.util.xml.* classes to use none-deprecated SAX APIs.
Added com.tek271.util.internet.html.TableUtils.rowListToHtmlTable()
Added com.tek271.util.collections.list.RowList.set/getColumnHeadersList()
Added com.tek271.util.reflect.builder.AbstractBeanBuilder
Added com.tek271.util.reflect.builder.BeanFromMapBuilder
Added methods to com.tek271.util.collections.list.RowList: set/getRowInterface(), getRowAsBean()
Added com.tek271.util.collections.map.MapUtility
Version 0.18, 2006.06.22
Added a new constructor to com.tek271.util.log.Log4jAdapter that takes a Log4j Logger object
Add the class com.tek271.util.log.CommonsLoggingAdapter
Fixed a bug in the generation of JavaDocs where the source code was not viewable form FireFox browser.
Version 0.17, 2006.06.14
Small bug fixes. Also, added the following classes and packages:
com.tek271.util.string.StringEscapeUtility
com.tek271.util.string.StringComparator
com.tek271.util.collections.CollectionUtility
com.tek271.util.collections.graph.*
com.tek271.util.collections.tree.*