New major Features
- New major feature - XmlAdapter implementations for most PropertyTypes (to use with JAXB for XML), see more info XML Adapters in JHPropertyTypes and XML Adapters in JHPropertyTypesExtensions
- New major feature - JSF Validator implementations for most PropertyTypes, see more info JSF Validators in JHPropertyTypesExtensions
- New major feature - ResourceFilePropertyIO is now deprecated, and divided into ResourceStreamPropertyIO and ResourceBundlePropertyIO. ResourceFilePropertyIO will be DELETED in next version.
- New major feature - new PropertyIO - ResourceBundlePropertyIO - replaces part of ResourceFilePropertyIO.
- New major feature - new PropertyIO - ResourceStreamPropertyIO - replaces part of ResourceFilePropertyIO.
- #
New Features
- New feature - Can now initialize the RootDirectoryNode with a file, added a new method "public final void initialize(File rootDirectory)"
- New feature - DateTimePropertyType now has minValue/maxValue attributes to set a valid range which the Date value must be inside of. (Optional)
- New feature - FilePropertyIO now use CommentedProperties instead of Properties, so comments are preserved.
- New feature - TimeSpanPropertyType now has minValue/maxValue attributes to set a valid range which the TimeSpan value must be inside of. (Optional)
- New feature - TimeUnitPropertyType now has minValue/maxValue attributes to set a valid range which the TimeSpan value must be inside of. (Optional)
- New feature - Added utility XMLFileIO for reading and writing a xml object to and from file.
- New feature - Encryption interface added, used by PasswordEncryption and AbstractPasswordEncryption. Added for future used if we choose to implements encryption for PropertyIO.
- New feature - New ColorFormat supported - CMYKColorFormat - by request from users.
- New feature - New ColorFormat supported - YUVColorFormat
- New feature - New PropertyChangeListener abstract implementation "OnChangePropertyChangeListener", which is trigger when the Property is succesfully changed.
- New feature - New PropertyType - BigIntegerPropertyType - by request from users.
- New feature - New PropertyType - BigDecimalPropertyType - by request from users.
- New feature - MapUtils - Static utility methods for Hashtables, HashMaps, HashSets and Map.
- New feature - New TypeFromGeneric implementation KeyValuesFromTextFile which is a quick reader for adhoc multi valued properties.
- New feature - New TypeFromGeneric implementation KeyMultiLineValuesFromTextFile which is a quick reader for adhoc multi valued multi line properties.
- New feature - Created AbstractFilePropertyIO, from which several PropertyIO is now inherited from and some methods is pushed up to. (FilePropertyIO,AbstractXMLFilePropertyIO)
- #
Changes
- Changes - Removed the method "getId" from "PropertyChangeListener" class, it is an unnessecary method.
- Changes - New "dk.heick.properties.types.interfaces.Range" interface, which forces an uniform implementation of PropertyTypes with an optional minValue and maxValue restrictions.
- Changes - New "dk.heick.properties.types.utils.RangeUtils" static class which implements the <T> version of Range#validateMinMaxValues and Range#validateIsInRange.
- Changes - All Range type PropertyTypes now validates that default value is inside the valid range.
- Changes - ColorPropertyType now will/can now use the same (last) ColorFormat to save the Color as String, which it use to load. This can be set on the ColorPropertyType instance.
- Changes - Updates in javadoc and documentation.
- Changes - New method "public String generatePassword();" to "PasswordEvaluator"
- Changes - AESPasswordEncryption deleted - Renamed/refactored to AESEncryption
- Changes - PasswordEncryption interface updates
- Changes - TimeSpan now has two new method "isLessThan" and "isGreatherThan"
- Changes - TimeSpan now has new methods for add, substract and multiply.
- Changes - TimeSpan now throws a IllegalArgumentException if the millisecond value is less than zero. This will result in a PropertyException in TimeSpanPropertyType in the "validateValue" method.
- Changes - TypeUtils.isInList is removed, duplicate method in ArrayUtils.isInArray
- Changes - TypeUtils.toString(T[] a,String divider) moved to ArrayUtils
- Changes - TypeUtils renamed to GenericFilterUtils
- Changes - Cleaned up in JHPropertiesTypeWebDemo.
- Changes - PrintLines renamed to SystemOutUtils - it is a better class name.
- Changes - Refined ant scripts, automate everything.
- Changes - Standardized performance logging message with two new methods in AbstractPropertyIO - "logPerformanceGetProperties(start)" and "logPerformanceSetValue(propertyName,start)".
- Changes - Standardized readonly handling and message in AbstractPropertyIO, with new method - "validateWritable(propertyName)".
- Changes - PropertyExposedFieldCollection, PropertyExposedFinalFieldCollection and PropertyStaticCollection was declared abstract, they typically always inherited but there is no need for them to be abstract.
- #
Bugfixes
- Bugfix - PropertyTypes with range possibilty, could have default value outside the range defined for the PropertyType, this is now checked during "validateConstraints".
- Bugfix - CommentedProperties had an error when loading with a Reader, the stream was closed to soon. Removed the method for using a reader, it has never worked.
- Bugfix - Fixes wrong example code for XmlFileDemoProperties
- Bugfix - Javadoc now has working link to JavaAPI when references is made to them i @see etc.
- Bugfix - Cleaned up a bit in JHPropertiesTypedWebDemo, added some missing properties and renderers, will have a bit more focus in the future, it is really nice to have as reference.
- Bugfix - Fixed NullPointerException in ProxyPropertyType toString() method.
- Bugfix - Fixed bug in CompositePropertyIOFactory, not adding file to list when trying to locate them.
- Bugfix - Fixed bug in RenderFactory in web, did not properly detect a DerivedPropertyType.
- Bugfix - Updated documentation for PropertyCollection's.
- Bugfix - PBKDF2Encryption was mentioned in the documentation, NO implementation of PBKDF2 encryption is currently in the framework, documentation updated.
- Bugfix - Updated documentation for PropertyTypes in JHPropertyTypes and JHPropertyTypesExtension, default optional values .
- #
|