![JAR search and dependency download from the Maven repository](/logo.png)
oc-commons.4.4.13.source-code.ChangeLog.wiki Maven / Gradle / Ivy
#summary Change log of phloc-commons
= Change log =
This content is generated. Do not modify!
Date Action Category Incompatible? Description
8/5/14 _Release *4.3.5*_
7/31/14 add api Extended SystemProperties class to get and set JDK XML limits
7/31/14 add api Extended I(SAX|DOM)ReaderSettings interfaces with methods to easily apply the settings onto the destination objects
7/31/14 add api Added new ContainerHelper.new(|Sorted|Ordered)Map overloads with other maps
7/31/14 update tech Added an exception in StringHelper.getRepeated(String,int) if the result length would exceed int range
7/31/14 add api Extended EXMLParserFeature to include XMLConstants.FEATURE`_`SECURE`_`PROCESSING
7/30/14 _Release *4.3.4*_
7/29/14 add api Extended EXMLParserFeature to include all known features
6/18/14 add api Added ValueEnforcer.isLT0 and isLE0 methods
5/27/14 add api Extended SuccessWithValue API
5/26/14 add api Added new BigDecimal and BigInteger constants in CGlobal
5/23/14 add api Added new method XMLHelper.getPathToNode2 that excludes the document node and has better index formatting
5/23/14 fix tech Fixed error in XMLHelper.getPathToNode for nodes with namespaces
5/21/14 _Release *4.3.3*_
5/21/14 change tech Updated parent-pom version to 23.1
5/20/14 _Release *4.3.2*_
5/20/14 change tech Modified POM to work with Maven central
5/20/14 remove api Moved the contents of package com.phloc.commons.collections.trove to [http://code.google.com/p/phloc-math phloc-math]
4/28/14 _Release *4.3.1*_
4/25/14 update tech Extended SimpleLSResourceResolver to support Websphere JAR files
4/3/14 change api *yes* Static TextProvider methods now return TextProvider objects
4/3/14 change api TextProvider directly implements IReadonlyMultilingualText
3/18/14 _Release *4.3.0*_
3/18/14 remove api *yes* Removed all deprecated unused methods
3/18/14 _Release *4.2.1*_
3/18/14 add api Added new enum constant EJavaVersion.JDK`_`18
3/17/14 add api Added new class ValueEnforcer to check for parameter preconditions and using it
3/12/14 add feature Extended EUnicodeBOM with more known BOMs and an optional Charset
3/10/14 update tech Updated FindBugs annotations library to 2.0.3
3/5/14 _Release *4.2.0*_
3/5/14 add api Explicitly allowing to create a new parser instance (DOM|SAX)Reader(Default)Settings.(set|is)RequiresNewXMLParserExplicitly
3/5/14 add api Added new special serializable filters (ISerializableFilter etc.)
3/4/14 add api Added new class ENewLineMode to determine the different newline modes
3/3/14 add api Added new classes PrivilegedAction`*` for classloader handling
3/3/14 fix tech Fixed an error when using the XMLReaderFactory from JDK 1.6 by cloning and fixing the class to XMLReaderFactoryPhloc
3/3/14 add api Added new class AnnotationUsageCache
3/3/14 add api Extended IMicroDataAware API with new appendData/prependData overloads
2/26/14 add api Added new annotation @Until which can be considered the counterpart to @Since
2/24/14 add api Added new method IMicroElement.getChildElementCount
2/7/14 update tech SAXReader now also has the possibility to explicitly create a new object
2/7/14 update tech Improved implementation of requiresNewXMLParser so that it returns true if an entity resolver is present - see http://docs.oracle.com/javase/tutorial/jaxp/limits/limits.html
2/7/14 add api Added method IBaseXMLReaderSettings.requiresNewXMLParser so that is is available for SAX parsers as well
2/7/14 change api *yes* Renamed DOMReaderDefaultSettings.requiresSeparateDocumentBuilderFactory to requiresNewXMLParser
2/7/14 change api *yes* Renamed DOMReaderSettings.requiresSeparateDocumentBuilderFactory to requiresNewXMLParser
2/3/14 add api Added new classes MutableBigDecimal and MutableBigInteger
1/30/14 add api Extended LocaleFormatter API slightly
1/30/14 add api Added new StringHelper methods getFirstToken and getLastToken
1/25/14 add api Added new class FileSystemCharStreamResolver based on IReaderResolver and IWriterResolver
1/25/14 change api Renamed class FileSystemStreamResolver to FileSystemByteStreamResolver and deprecated old name
1/25/14 add api Added classes IReaderResolver and IWriterResolver
1/20/14 add api Added classes IHasErrorField and ComparatorHasErrorID
1/20/14 add api Extracted interface ISimpleTextProvider from ITextProvider containing the methods without arguments.
1/20/14 add api *yes* Extended IHasLocales with containsLocale methods
1/16/14 add api Extended TextFormatter class
1/15/14 _Release *4.1.2*_
1/15/14 fix tech Fixed error serializing the default SimpleURL
1/15/14 _Release *4.1.1*_
1/14/14 add tech Added warning in (DOM|SAX)ReaderSettings.setPropertyValue if the type of the value is unexpected
1/14/14 add api Extended IBaseXMLReaderSettings with a getLocale() method
1/13/14 add api Extended URLUtils with method to POST something to the server.
1/13/14 add api Added new class SerializationConverter for better serialization handling
1/13/14 add api StringInputStreamProvider, StringReaderProvider and StringWriterProvider now implement equals and hashCode
1/13/14 add tech Made most IInputStreamProvider implementations serializable
1/13/14 add api Extended MapBasedAttributeContainer with protected callback methods for set and remove
1/12/14 add api Added new method CharsetManager.getCharsetFromNameOrNull
1/2/14 _Release *4.1.0*_
12/28/13 add api Extended DOMInputStreamProvider and MicroDOMInputStreamProvider to take an arbitrary IXMLWriterSettings object.
12/28/13 add api Updated MicroReader API to use SAXReaderSettings instead of several parameters.
12/27/13 add api Added new empty array constants to ArrayHelper
12/27/13 add api Added new class DOMReaderDefaultSettings to handle the default values for DOMReaderSettings
12/27/13 add api Added new class SAXReaderDefaultSettings to handle the default values for SAXReaderSettings
12/26/13 add api EXMLSerializeVersion now implements IHasID`<`String`>`
12/26/13 add api Extended EXMLParserProperty enum and added EXMLParserPropertyType
12/26/13 add api Added new class DOMReaderSettings to specify all settings for DOM reading
12/21/13 remove api Removed SAX stuff from XMLFactory because it was not used
12/21/13 add api Added new class SAXReader and SAXReaderSettings and therefore deprecated the SAX methods in class XMLReader
12/13/13 add api Extended EUnicodeBOM for better usability
12/12/13 add api Extended MapBasedNamespaceContext API slightly
11/27/13 add api *yes* Added support for customizable newline and indentation string in IXMLWriterSettings.
11/27/13 change tech Merging successor CDATA elements into one CDATA element on XML reading.
11/19/13 fix tech Fixed quoting of nested "] ] `>`" in CDATA elements.
11/19/13 change tech Using new XMLMaskHelper to determine chars to mask.
11/19/13 add api Added new classes XMLCharHelper, EXMLCharMode and XMLMaskHelper
11/19/13 change api Deprecated all invalid and masking methods in XMLHelper
11/18/13 fix tech Fixed FilenameHelper.getAbsoluteWithEnsuredParentDirectory so it can correctly deal with absolute paths
11/15/13 change api Corrected name typo in ToStringGenerator.appendIfNotEmpty ()
11/4/13 _Release *4.0.12*_
11/4/13 add api Added new methods ToStringGenerator.appendIfNotEmpty ()
11/4/13 add api Added new method IThirdPartyModule.getAsOptionalCopy ()
11/3/13 update tech Extended validation for LocaleCache and CountryCache to no longer store invalid elements
10/31/13 add api Added new method MicroUtils.getAllOriginalChildrenAsContainer()
10/30/13 add api Added new method MicroUtils.getAllChildrenAsContainer()
10/23/13 add api Extended TreeWalker and TreeWalkerDynamic with methods that take a callback that only contains the data and not the whole tree item
10/22/13 add api Added new method IThirdPartyModule.getAsNonOptionalCopy ()
10/17/13 add api Added interface IURIToURLConverter from [http://code.google.com/p/phloc-webbasics phloc-webbasics]
10/12/13 add api Added method StringHelper.trimStartAndEnd
10/12/13 add api AbstractMultiTreeMap and all derived classes got a constructor with a Comparator
10/7/13 add api Added LocaleFormatter.getFormatted(BigInteger) and getFormatted(BigDecimal)
9/25/13 change api LogMessage and InMemoryLogger now implement Serializable
9/25/13 change api *yes* LogMessage and InMemoryLogger only take serializable objects
9/25/13 _Release *4.0.11*_
9/25/13 change api Made class LogMessage non-final
9/25/13 add api Made InMemoryLogger more flexible to allow for custom LogMessage object creation as well as for a callback after a message was added
9/25/13 add api Moved method getMostSevereErrorLevel from IResourceErrorGroup up to IHasErrorLevels
9/25/13 change api *yes* Interface IResourceErrorGroup now implements ISeverityComparable
9/25/13 change api Class LogMessage now implements ISeverityComparable
9/25/13 add api Added interface IHasErrorID from [http://code.google.com/p/phloc-masterdata phloc-validation]
9/25/13 add api Added classes FileMonitor and FileMonitorManager to check for file system modifications.
9/23/13 add api Added method AbstractJAXBMarshaller.read(InputStream)
9/5/13 add tech Added specific support for parsing the MIME type '`*`' and improved the exception messages
9/3/13 _Release *4.0.10*_
9/3/13 add api Added the possibility to override exception handling in AbstractJAXBMarshaller
9/3/13 add api Extended IMimeType API slightly.
9/2/13 add tech Added the possibility to specify a custom IExceptionListener that will be called for SAX and DOM parsing
9/2/13 add api Made LoggingExceptionHandler more flexible
9/2/13 add api Added method StringParser.parseBoolean(String, boolean bDefault)
9/2/13 add api Added methods in MathHelper
8/28/13 _Release *4.0.9*_
8/27/13 add api Added new methods ContainerHelper.newEnumSet
8/26/13 fix api Fixed handling of StringHelper.getHexStringLeadingZero() for negative values
8/26/13 add api Added new method MimeType.removeParameterWithName
8/26/13 add api Added new class TransformResultFactory
8/23/13 add api Added new method StringHelper.removeAll(String,char)
8/23/13 add api Added new classes URLCodec
8/23/13 add api Added new classes QuotedPrintableCodec, RFC1522BCodec and RFC1522QCodec from [http://code.google.com/p/phloc-webbasics phloc-web]
8/23/13 add api Added new class Base64Codec that uses Base64 and implements ICodec
8/23/13 add api Added new annotation @WorkInProgress
8/23/13 add api Added methods ContainerHelper.removeElementAtIndex and ContainerHelper.removeAndReturnElementAtIndex
8/23/13 add api Added support for MimeType parameters
8/23/13 update api Extended MimeType handling
7/10/13 _Release *4.0.8*_
7/10/13 change tech Using Maven artifact com.google.code.findbugs:annotations instead of com.google.code.findbugs:jsr305 to avoid internalizing the FindBugs annotations.
6/27/13 add api Added MathHelper.getWithoutTrailingZeroes(BigDecimal)
6/19/13 add api Extended JAXBMarshallerUtils to differentiate between runtime and external Marshaller objects
6/17/13 add api Extended MathHelper API to support easy handling of BigDecimal.TEN and BigInteger.TEN
6/16/13 add api Added new method CountryCache.getAllCountryLocales()
6/13/13 add api Added new method StringHelper.replaceMultiple(String,char[],char)
6/11/13 add api Added protected methods in AbstractJAXBMarshaller to customize the generated Marshaller and Unmarshaller objects
6/6/13 add api Extended MathHelper API to support easy handling of BigDecimal.ONE and BigInteger.ONE
6/4/13 fix api Fixed generic types of constructors of MapBased(Readonly)AttributeContainer(ThreadSafe)
5/21/13 _Release *4.0.7*_
5/17/13 add feature Added a tool to create JDK5 versions of a project based on some meta comments in the source files.
5/15/13 add api Added new constructor to AbstractJAXBMarshaller which takes an array of XSD resources
5/13/13 add tech Added detection of application/vnd.ms-excel content in MimeTypeDeterminator
5/13/13 update tech Improved detection of text/xml content in MimeTypeDeterminator
5/7/13 _Release *4.0.6*_
5/7/13 add api Added new test method PhlocTestUtils.testInParallel
5/7/13 fix tech Made DOM XML reading thread-safe by introducing an ObjectPool for it as well
5/7/13 add api Added new overloads of XMLReader.readXMLSAX()
5/7/13 fix tech Fixed artificial dead lock in URLUtils when multi-thread testing XML parsing
5/5/13 add api Added new class AdapterRunnableToThrowingRunnable
5/4/13 change api Added new method HashCodeGenerator.hashCode() but marked as deprecated. Correct method to call is getHashCode().
5/3/13 change api Added new constructors to FileSystemRecursiveIterator to avoid ambiguities when using an AbstractFileFilter
5/3/13 _Release *4.0.5*_
5/3/13 change api Made classes SuccessWithValue, ChangeWithValue, ResourceLocation and XMLWriterSettings non-final
5/1/13 change tech *yes* InputSourceFactory.create returns null-InputSource for null-InputStream and null-Reader
5/1/13 add api Added new classes AdapterCallableToCallableWithParam and AdapterRunnableToRunnableWithParameter
4/28/13 _Release *4.0.4*_
4/28/13 add api Added new class DoNothingTransformURIResolver
4/28/13 add api Added new classes DoNothingValidationEventHandler and DoNothingValidationEventHandlerFactory
4/28/13 add api *yes* Extended IHasErrorLevels class with the following methods: containsNoSuccess(), containsNoFailure() and containsNoError()
4/25/13 fix tech Fixed determination of Sun JAXB Marshaller implementation contained in JRE in JAXBMarshallerUtils.isSunJAXB2Marshaller()
4/22/13 add data Added support for Mozilla Public License 1.0 and EUPL 1.2 in ELicense
4/22/13 update api Made IResourceError, IResourceErrorGroup and IResourceLocation Serializable
4/22/13 add api Added factory methods to FileFilterToIFilterAdapter
4/22/13 add api Added constructors to FileSystemRecursiveIterator
4/22/13 add api Added new classes FilenameFilterAlwaysTrue and FilenameFilterAlwaysFalse
4/22/13 add api Added new classes FileFilterAlwaysTrue and FileFilterAlwaysFalse
4/20/13 add api Made class AbstractNamespaceContext implement Serializable
4/18/13 add api Added new class FilenameFilterNotEquals
4/17/13 _Release *4.0.3*_
4/16/13 add api Further extended API of MapBasedXPathVariableResolver
4/15/13 add api Added possibility to add and remove variables from MapBasedXPathVariableResolver
4/15/13 add api Added possibility to determine if the AbstractJAXBMarshaller writes the output formatted or not
4/15/13 add api Added method AbstractJAXBMarshaller.getAsXMLString
4/15/13 add api Extended AbstractJAXBMarshaller to handle a single XML Schema resource
4/15/13 change api Made API of MapBasedXPathVariableResolver constructor more flexible.
4/12/13 add api Added new overloads of StringHelper.getImploded without a separator
4/8/13 add api Added new classes DoNothingSAXErrorHandler and DoNothingTransformErrorListener
4/8/13 add api Added MicroUtils.getChildTextContentTrimmed()
4/8/13 add api Added IMicroNodeWithChildren.getTextContentTrimmed()
4/5/13 change api Changed IMicroElement.getChildElements() to getAllChildElements()
4/5/13 add api Added some more static methods in AbstractReadonlyAttributeContainer
4/4/13 _Release *4.0.2*_
4/4/13 add api Added XMLWriterSettings option to disable emitting all namespace relevant XML stuff
4/2/13 change api Moved main URL input stream handling from URLResource to URLUtils
3/26/13 _Release *4.0.1*_
3/26/13 add api *yes* Extended IMultiMapListBased with putSingle(KEYTYPE,VALUETYPE,int)
3/26/13 add api *yes* Extended IMultiMap with getOrCreate(KEYTYPE)
3/25/13 add api *yes* Added new method IWrapper.isSet()
3/25/13 add api Extended URLResource.getInputStream to read the error stream fully in case of an error
3/25/13 add api Extended URLResource.getInputStream to handle an optional Map`<`String,String`>` as request properties
3/25/13 add api Added new class MessageDigestValue for storing digest algorithm and bytes
3/25/13 add api Added new constructor URLResource(ISimpleURL)
3/21/13 add api Added new static method URLResource.getAsURI
3/21/13 add tech Improved SimpleLSResourceResolver to explicitly handle classpath resources
3/21/13 add api Added new static method ClassPathResource.getWithoutClassPathPrefix
3/21/13 fix tech Fixed version handling for ChangeLog object
3/21/13 add api Deprecated class AbstractSchemaCache in favour of new class DefaultSchemaCache
3/21/13 add api Added new annotation @IsLocked as the counterpart to @MustBeLocked
3/21/13 change tech Made AbstractCache and all base-classes thread-safe
3/15/13 add api Extended ITriState with method isDefined (as the inverse of isUndefined)
3/13/13 _Release *4.0.0*_
3/13/13 add api Extended EJavaVersion API
3/13/13 fix test Fixed tests so that they run with JDK 1.7.0`_`17
3/13/13 add api Extended EJVMVendor with ORACLE`_`CLIENT and ORACLE`_`SERVER for Java 1.7
3/13/13 add api Added new case insensitive methods in EErrorLevel
3/12/13 add api Added new methods in MathHelper: isEqualTo(Zero|100)
3/11/13 add api Added new declarative annotation @MustBeLocked to indicate that a method must be called inside a lock
3/11/13 add api Added possibility to register custom mime type detectors for MimeTypeDeterminator
3/9/13 add api Added new overloads in InputSourceFactory, TransformSourceFactory, StringStreamSource and StringSAXInputSource
3/9/13 change tech Changed the handling of IMicroDocument.isStandalone - instead of determination it must now be set manually
3/9/13 fix tech Fixed invalid XML when using our serializer with the setting PutNamespaceContextPrefixesInRoot enabled, and a mapping of the default namespace URL
3/9/13 add api Added new method MapBasedNamespaceContext.setDefaultNamespaceURI()
3/7/13 add api Added new annotation @Since
3/6/13 add api Added new method StreamUtils.close(Socket)
3/6/13 add api Added new methods in StreamUtils for identifying and creating buffered InputStream, OutputStream, Reader and Writer objects
3/6/13 add api Added new classes NonBlockingBufferedInputStream and NonBlockingBufferedOutputStream
3/6/13 add api Added support for memory mapped files in FileUtils (read and write)
3/6/13 add api Added new ByteBuffer related classes: ByteBufferInputStream, ByteBuffersInputStream and ByteBufferOutputStream
3/5/13 remove api Removed the Apache commons-primitive elements in favour of Trove4J
3/4/13 update performance Improved reading Micro XML documents, by avoiding unnecessary String creations
3/4/13 add api Added a new method StopWatch.restart()
3/4/13 change tech Speed improvement in FileOperations.copyFile by using FileChannel instead of streams
3/4/13 change tech Improved locking performance in StatisticsManager by first querying in a readLock
3/4/13 add api Added new UTF-16`*` default charsets in CCharset
3/4/13 change api *yes* Deprecated FileUtils.safeEquals in favor of new special equals and hashCode implementations
3/4/13 add api Added methods MicroWriter.writeToFile()
3/4/13 change api Deprecated all methods taking a String as charset/encoding
3/4/13 add api Added new class CommonsCleanup that clears all internal caches
3/4/13 change api Extracted non-blocking versions of Bit(In|Out)putStream into base classes
3/3/13 change tech Added special caching for enums implementing IHasSimpleIntID
3/3/13 change api EMicroNodeType now implements IHasSimpleIntID
3/3/13 add api Added new methods IMicroElement.getAllAttributeNames() and getAllAttributeValues()
3/3/13 change api Renamed method IMicroElement.getAttributes() to getAllAttributes()
3/2/13 add api Added some classes for handling real I18N from Apache Abdera
2/27/13 add api Added new method ITreeItemWithID.getAllChildDataIDs ()
2/25/13 add data Added new predefined license MPL 2.0
2/24/13 _Release *3.9.6*_
2/21/13 add api Added LocaleFormatter.parseFloat
2/21/13 add api Extended CompareUtils with special overloads for byte, char, int, long and short
2/20/13 add tech Added possibility to put all namespace prefixes provided in a namespace context into the root document of a serialized XML document. This can be enabled via the XMLWriterSettings.
2/20/13 add api Added new interface IIterableNamespaceContext
2/20/13 change api Removed some hacks for non Java 1.6 API (like in DecimalFormatSymbolsFactory)
2/20/13 change api Deprecated ServiceLoaderBackport - use the java.util.ServiceLoader instead
2/19/13 add api Added new implementation classes StringSkipPrefixAndSuffixFormatter, StringSkipPrefixFormatter and StringSkipSuffixFormatter
2/19/13 add api Added new implementation class ReverseComparator`<`T`>`
2/19/13 add api Added new overload of StringHelper.getCutAfterLength
2/19/13 add api Added new interface IHasAttributeValue and extended IMicroElement to handle this
2/19/13 add api Added new interface IHasElementName and extended IMicroNode and MicroElement to handle this
2/19/13 change tech *yes* Made IdentityEncoder and IdentityDecoder singleton objects
2/18/13 change api Extracted URLUtils.getQueryStringAsMap()
2/18/13 change api *yes* Moved getTextContentWithConversion() from IMicroElement up to IMicroNodeWithChildren
2/16/13 add tech Added ServiceLoaderUtils for easy loading of SPI implementations via ServiceLoaderBackport
2/16/13 add api Added MathHelper.getUnsignedInt() for converting a signed int to an unsigned representation as long
2/14/13 _Release *3.9.5*_
2/14/13 change api *yes* Moved getTextContent() from IMicroElement up to IMicroNodeWithChildren
2/5/13 add api Extended MathHelper with comparison methods for 100 (e.g. used for percentage)
2/5/13 add api Extended StringParser.parseBigDecimal with versions that support scale and rounding mode
1/31/13 add api Extended tree item with getParentData and getParentID (where applicable)
1/28/13 add api Added new StringHelper methods like getReverse(String) or getIndexOf(String,int,String) etc.
1/28/13 add api Extended NonBlockingByteArrayOutputStream with some sanity methods like startsWith and getByteAt
1/24/13 _Release *3.9.4*_
1/24/13 update tech Updated @Nonnull(@When) annotations to have no annotations at all
1/21/13 change api *yes* Replaced ComparatorTreeItem(WithID)Value(Comparable) with ComparatorTreeItem(WithID)Data(Comparable) and extended constructors
1/18/13 add api Fixed consistency error in BasicTreeItemWithID when removing a child (child items were left in the factory)
1/18/13 add api Extended tree and tree item API to more easily access the data element
1/18/13 add api Added new interface IHasDescription
1/10/13 _Release *3.9.3*_
1/9/13 add api Added new class DateFormatSymbolsFactory working like DecimalFormatSymbolsFactors but for DateFormatSymbols
1/9/13 add api Added new package com.phloc.commons.collections.flags
1/7/13 update api Improved `*`AttributeContainer implementations slightly
12/31/12 add api Added EBaseType from [http://code.google.com/p/phloc-commons phloc-types] as the rest of the library is very rarely used
12/19/12 add api Extended IReadonlyAttributeContainer with two methods getTypedAttribute invoking the TypeConverter
12/19/12 add api Slightly extended API of NonBlockingStack (top and replaceTopElement were added)
12/18/12 add api Added possibility to enable or disable consistency checks in TextProvider
11/26/12 _Release *3.9.2*_
11/26/12 remove api *yes* Moved Graph and Matrix API to new project [http://code.google.com/p/phloc-math phloc-math]
11/20/12 update tech Improved PhlocTestUtils.testMicroTypeConversion to compare the XML-String representation
11/19/12 add api Extended IAttributeContainer API to have a sanity wrapper for boolean as well as a method to set multiple attributes at once
11/19/12 add api Added some Graph algorithms (shortest path and minimum spanning tree)
11/19/12 add api Extended GraphNode API slightly
11/5/12 _Release *3.9.1*_
11/5/12 add api Added new (Directed)Graph(Relation|Node)Fast implementations, with quicker but not 100% accurate equals and hashCode implementation
11/5/12 add api All XML serialization enums now implement IHasID`<`String`>`
11/5/12 change api *yes* Changed the EXMLSerializeFormat to differentiate between HTML and XHTML
11/5/12 update tech Improved HTML serialization by adding special handling for non-closed tags
10/25/12 _Release *3.9.0*_
10/25/12 add api Integrated the primitive collections from Apache commons-primitive in a Java5 type-safe version!
10/24/12 add api Added some MathHelper methods to easily compare BigDecimal and BigInteger to zero
10/24/12 change api Made all constants except the logger public in class AbstractPhlocTestCase
10/18/12 add api Added new Iterator-like implementations for array of primitive types (e.g. ArrayIteratorBoolean) incl. the respective interfaces
10/18/12 add tech Added new default type converter rules to primitive arrays (e.g. int[]) and String arrays
10/12/12 add api Added new methods IReadonlyAttributeContainer.getAttributeAsLong
10/12/12 add api Added new methods IAttributeContainer.setAttribute with value types int, long and double
10/10/12 add api Added new default MIME type CMimeType.IMAGE`_`WEBP
10/9/12 change api *yes* Separated graph API to differentiate between directed graphs and undirected graphs
10/9/12 change api *yes* Removed Generics and value from GraphNode because it can be handled more flexible with the attributes
10/9/12 _Release *3.8.5*_
10/8/12 add api Started some very basic GraphViz wrapping API
10/8/12 add api Added new method NonBlockingByteArrayOutputStream.writeToAndClose
10/8/12 fix tech Fixed bug in graph cycle detection in certain cases
10/6/12 add api Extended graph API slightly
10/5/12 change api Made some classes ins packages c.p.c.url.encode, c.p.c.xml, c.p.c.xml.namespace, c.p.c.xml.sax and c.p.c.xml.transform non-final
10/5/12 add api Made XPathHelper and XMLTransformerFactory more flexible
10/4/12 change tech *yes* Fixed an error in XML writing, when an empty namespace was used inside a non-empty namespace,
the namespace was inherited anyway. Example:
new MicroElement("uri1", "a").appendElement ("b")
was serialized as
`<`a xmlns="uri1"`>``<`b /`>``<`/a`>`
after the fix it is serialized as
`<`a xmlns="uri1"`>``<`ns0:b xmlns:ns0=""/`>``<`/a`>`
to have the previous result use
new MicroElement("uri1", "a").appendElement ("uri1", "b")
10/1/12 add api *yes* Extended IHasChildrenSorted to have a getFirstChild and getLastChild method
10/1/12 add api Re-added FindBugs @SuppressWarnings annotation, because some errors cannot be suppressed with an @SuppressFBWarnings :(
9/30/12 add api Added new method StringHelper.getWithoutAnySpaces
9/29/12 add api Added StringHelper.getHexDecoded(char[],int,int) method
9/26/12 add api Extended XMLReader DOM API to pass a custom entity resolver
9/26/12 add api Extended XMLReader API to pass arbitrary features to the SAX reader
9/26/12 change api Extended XMLFactory with APIs to use a custom document builder factory and a custom document builder.
9/26/12 change api Made XMLSchemaCache non-public
9/20/12 _Release *3.8.4*_
9/20/12 fix performance XMLHelper.isInvalidXMLCharacter(char) is now quicker
9/19/12 add api Added new annotation @UseDirectEqualsAndHashCode that prevents (Equals|HashCode)ImplementationRegistry to search for converters.
9/19/12 fix performance Fixed performance issues in EqualsImplementationRegistry and HashCodeImplementationRegistry
9/19/12 add api Added new Comparator classes ComparatorDisplayNameProvider and ComparatorDisplayTextProvider
9/19/12 add api Extended ContainerHelper API to handle the sort order when sorting maps by key or by value without Comparator
9/18/12 _Release *3.8.3*_
9/18/12 add api Added new method IAttributeContainer.getAndSetAttributeFlag(String) for some simplifications
9/18/12 change api Made class Wrapper non-final for simple reuse
9/15/12 fix tech Fixed IllegalArgumentException thrown from ClassPathResource.getAsFile because of non-file URL
9/15/12 fix tech Fixed implementation of MapBasedAttributeContainer and MapBasedReadonlyAttributeContainer so that the getAll... methods really delivers a copy
9/13/12 add api Extended LogUtils with overloads for IHasErrorLevel
9/10/12 change api ITextProvider is now Serializable
9/10/12 add api Extended LogUtils with an isEnabled method
9/10/12 fix api One constructor of AbstractCollationComparator was not passing on the nested Comparator
9/10/12 _Release *3.8.2*_
9/10/12 change api Deprecated ClassHelper.getClassHierarchy - solely using the ClassHierarchyCache
9/9/12 add api Extracted class hierarchy cache from ClassHelper into a separate class with correct WeakReference handling
9/9/12 remove api Removed SoftHashMap because I didn't understand it, and it was causing troubles in production!
9/7/12 _Release *3.8.1*_
9/7/12 add api Using the new overloads of StringHelper.getExploded... for performance reasons
9/7/12 add api Added new overloads of StringHelper.getExploded... taking char separators (better performance), having a limit (like in RegExHelper.getSplitToArray) or returning an array of String
9/6/12 _Release *3.8.0*_
9/5/12 _Release *3.8.0.RC1*_
9/5/12 add api Added caching of class hierarchy
9/5/12 remove api *yes* Removed all previously @Deprecated methods
9/4/12 add api Added new method NonBlockingByteArrayOutputStream.getBufferSize
9/3/12 add api Added new methods MathHelper.abs(Big(Decimal|Integer)) and MathHelper.get(Max|Min)Big(Decimal|Integer)
9/3/12 add api Added new methods ArrayHelper.isNotEmpty
9/3/12 add api Added new methods ContainerHelper.isNotEmpty
9/1/12 add api Extended API of IURLData
8/29/12 _Release *3.7.5*_
8/29/12 change tech The suggested XML writer settings are now the default settings.
8/29/12 add api Added possibility in IMicroText objects to emit the text unescaped (for HTML style and script elements)
8/29/12 add api Changed DebugModeTestRule so that the states can be passed in the ctor and after a test, the values are restored to a previous state
8/28/12 change api Made SMap a LinkedHashMap instead of a HashMap for consistent results
8/28/12 add api Added new StringHelper methods getLastIndexOf..., getFromLast and getUntilLast
8/28/12 add api Added new methods ArrayHelper.getFirstIndex(T[],T), getLastIndex(T[],T) and getExcept(T[],T[])
8/23/12 _Release *3.7.4*_
8/23/12 add api Added new method BooleanHelper.getBooleanValue
8/22/12 fix api Fixed StringHelper.getImplodedNonEmpty with array arguments - all elements were displayed
8/20/12 add api Added new StringParser methods parseBoolObjExact
8/18/12 _Release *3.7.3*_
8/18/12 add api Added RegEx based URL validator
8/17/12 add api Added SystemProperties retrieval method without logged warning
8/17/12 change api Finally made the get...TextWithArgs handling consistent. Technically you can pass null to the arguments array, but practically this makes no sense, as in the case you may call the get...Text method directly. But technically speaking you can do that
8/16/12 add api Added SecurityManager enabled ClassLoader retrieval in ClassHelper
8/15/12 change api Extracted new JUnit TestRule class DebugModeTestRule
8/15/12 _Release *3.7.2*_
8/15/12 change api Separated dead lock detector from scheduled dead lock detection
8/14/12 add api Extended GlobalIDFactory to bulk create multiple IDs at once
8/14/12 add api Added new package deadlock with JMX based deadlock detector
8/14/12 add api Added new class StringWriterProvider
8/14/12 change api RegExPattern consistency checks can now manually be enabled/disabled and executed publically
8/10/12 _Release *3.7.1*_
8/10/12 add api Added new static methods in FileSystemResource
8/9/12 add tech Added read/write check in File based ID providers and in FileSystemResourceProvider
8/9/12 add api Added new method FileUtils.canReadAndWriteFile and using it in the File(Int|Long)IDFactory
8/3/12 update performance FileOperations.copyFile now uses Buffered(Input|Output)Stream for better performance
8/2/12 add api Added new StringHelper methods getImploded(NonEmpty) using a char as separator
7/30/12 _Release *3.7.0*_
7/30/12 add api Added class AbstractFilter encapsulating a nested filter
7/30/12 change api *yes* Renamed class TypeConverterProviderExactBeforeFuzzy to TypeConverterProviderBestMatch
7/30/12 add api Added new methods in class StringHelper
7/30/12 add api Extended GlobalIDFactory API to retrieve and check for all contained ID factories
7/30/12 add api Extended GlobalIDFactory to also handle long based IDs and created factories as they are present for int IDs
7/28/12 add tech Added some type converters for Date and Calendar to and from String and Long
7/28/12 add api Added VendorInfo methods to retrieve vendor URL without protocol, the email address suffix and the vendor location
7/28/12 _Release *3.7.0.RC1*_
7/28/12 change api Improved VendorInfo to support custom inception year and adopted file header lines
7/28/12 add api Added new methods new...Vector(array) and newVector(...)
7/28/12 add api Added new interface method IMultiMap.getTotalValueCount()
7/28/12 add api Added multi map implementations based on WekHashMap
7/28/12 add api Extracted the parsing functionality from StringHelper to StringParser
7/28/12 add api Extended StringHelper to support parsing String to short/Short
7/27/12 add api Added new constructors for ClassPathResource and FileSystemResource
7/27/12 change api *yes* Removed ITypeConverterUpCast interface and added more flexible ITypeConverterRule interface
7/27/12 add tech Added some new type converter implementations
7/26/12 add api Added new methods TypeConverter.convertTo(Boolean|Byte|Char|Double|Float|Int|Long|Short)
7/26/12 add api All Mutable`*` classes except MutableBoolean are now derived from Number
7/26/12 add api Most Mutable`*` classes implement the new IMutable, IMutableNumeric and IMutableInteger interfaces
7/26/12 add api MutableBoolean now implements Comparable
7/26/12 add api Added new methods FileUtils.can(Read|Write|Execute) with File parameter
7/26/12 add api Added new classes XPathHelper and XPathExpressionHelper to easily handle XPath queries
7/26/12 add api Extended FileSystemResource with methods can(Read|Write|Execute)
7/26/12 add api Extended TimeValue API with getAs... methods
7/26/12 add api LogMessage is now implementing the interfaces ISuccessIndicator and IErrorIndicator
7/26/12 add api InMemoryLogger now implements the interface IHasErrorLevels
7/26/12 add api Extracted new interface IHasErrorLevels from IResourceErrorGroup and extended it with the methods get(Success|Failure|Error)Count
7/26/12 add api Added new class MapBasedXPathVariableResolver
7/25/12 add api Added class ThreadUtils for some threading simplifications
7/25/12 add api Extended MicroReader and XMLReader to directly handle byte[] as an argument
7/23/12 add api Extended VendorInfo to support getter and setter
7/19/12 _Release *3.6.6*_
7/19/12 add api Added methods to InputSourceFactory and TransformSourceFactory taking byte[]
7/19/12 add tech Added permission check handling in class FileOperations
7/19/12 add api Added new methods FileUtils.getDirectoryContent(File) encapsulating the File.listFiles method
7/19/12 add api Added enum members in EFileIOErrorCode
7/19/12 change tech Added check for writable parent directory in FileUtils.getOutputStream
7/19/12 change tech Made SimpleFileIO.writeFile methods correctly handle null OutputStreams if opening a file for writing fails
7/17/12 change tech Made TypeConverterRegistry thread safe
7/17/12 add api Added new method MicroTypeConverterRegistry.getRegisteredMicroTypeConverterCount
7/17/12 add api Added new method TypeConverterRegistry.getRegisteredTypeConverterCount
7/17/12 _Release *3.6.5*_
7/17/12 change api Added Locale to all formatting methods of RoundHelper
7/17/12 change tech Fixed JUnit tests on Ubuntu 12.4
7/12/12 change tech Updated to new @SuppressFBWarnings annotation from FindBugs 2.0 and deprecated old @SuppressWarnings annotation
7/10/12 _Release *3.6.4*_
7/10/12 add api Added new interface IHasWidthAndHeight
7/10/12 change tech Made DebugInputStream and DebugOutputStream API more flexible
7/10/12 add api Added new interface IHasResourceError
7/9/12 add api Added some more factory methods in FileSystemRecursiveIterator
7/9/12 update api Ensured that all getDisplayTextWithArgs methods require non-null arguments
7/9/12 add tech Added possibility in XMLEmitterPhloc to customize the handling of nested comments
7/9/12 change api Renamed some methods in RegExHelper to match the naming conventions
7/9/12 add api Added new methods RegExHelper.getAsIdentifier to pass custom replacement character/string
6/29/12 _Release *3.6.3*_
6/29/12 change api *yes* Moved static methods from ComparatorPair(First|Second) to new PairUtils class
6/29/12 add api Added some more Comparator implementations and aligned Comparator hierarchy
6/29/12 add api Added the possibility for all AbstractComparator implementations to pass nested comparators that are invoked in case the main comparison returned 0
6/29/12 add api Added new FilenameFilter implementations FilenameFilterEquals, FilenameFilterEqualsIgnoreCase and FilenameFilterStartsWith
6/29/12 change api Moved all anonymous classes from FilenameFilterFactory to separate files and deprecated FilenameFilterFactory
6/29/12 add api Extended FileSystemFolderTree constructors to also handle FilenameFilters
6/29/12 change api Extracted anonymous IFilter implementations within XMLHelper into named classes
6/29/12 change api *yes* Made FileFilterDirectoryOnly, FileFilterDirectoryPublic, FileFilterFileOnly and FileFilterParentDirectoryPublic singletons
6/29/12 change api *yes* Made FilterTrue, FilterFalse, FilterNull and FilterNotNull singletons
6/29/12 add api Added new method StopWatch.isStopped()
6/29/12 add api Added new method StringHelper.replaceMutliple(String,String[],String[])
6/29/12 add api Added new class NonBlockingStringWriter
6/28/12 change api Improved @Nullable annotation handling and made more flexible
6/27/12 change api Made EURLProtocol binary compatible with v3.6.1
6/27/12 _Release *3.6.2*_
6/27/12 change api Extracted AbstractSimpleURL abstract base class
6/27/12 add api *yes* Extended IURLData with getProcotol() and hasKnownProtocol()
6/27/12 add api Added new URL protocol handlers to register custom protocols via URLProtocolRegistry
6/25/12 _Release *3.6.1*_
6/25/12 add api Extended InputSourceFactory with 2 new overloads
6/25/12 add api Added new class TransformSourceFactory to create javax.xml.transform.Source for different input types (comparable to InputSourceFactory)
6/25/12 add api Further extended IGraphNode API
6/23/12 change api Replaced ArrayHelper.newArray(ELEMENTTYPE[],int) with newArraySameType because of potential misunderstanding
6/23/12 change api Replaced ArrayHelper.newArray(ELEMENTTYPE,Class) with newArraySingleElement because of potential name clashes with newArray(ELEMENTTYPE...)
6/23/12 add tech Added default equals/hashCode implementations for Iterator and Enumeration
6/23/12 add api Extended ContainerHelper with method getEnumeration(Map`<`?,?`>`)
6/23/12 add api Added new class ContainerEqualsUtils that compares container contents not strictly by class
6/23/12 add api Extended ContainerHelper with newQueue methods
6/23/12 change tech *yes* Made NonBlockingStack derive from AbstractList instead of AbstractCollection so that is better comparable to java.util.Stack which is derived from Vector!
6/20/12 add api Extended Graph API in several places and introduced new ISimpleGraph interface
6/20/12 change api Deprecated size() and isEmpty() in I(Readonly)AttributeContainer as these names are not specific enough. Instead getAttributeCount() and containsNoAttributes() methods were introduced
6/18/12 change tech Using the new Version constructor to read ChangeLog release versions
6/18/12 _Release *3.6.0*_
6/18/12 update tech Extended version parser to handle incorrect versions better and to handle the dash character as a separator
6/18/12 add api Added new method RegExHelper.getAllMatchingGroupValues
6/15/12 add api Added new class DoNothingExceptionHandler
6/15/12 _Release *3.6.0.RC3*_
6/15/12 fix api Fixed error in PhlocTestUtils.testGetClone declaration
6/15/12 _Release *3.6.0.RC2*_
6/15/12 add api MicroWriter and XMLWriter now have an API to write on a Writer as well
6/15/12 change api *yes* Added new interfaces IReaderProvider IWriterProvider
6/15/12 change api *yes* Renamed IReaderProvider to IInputStreamAndReaderProvider and IWriterProvider to IOutputStreamAndWriterProvider
6/15/12 add api Extended FileSystem(Recursive)Iterator with String based constructors/factory methods
6/13/12 add api Extended EnumHelper with getFromName`*` methods handling IHasName enums
6/13/12 add api Added new annotation type @LazilyInitialized
6/13/12 add api Extended StreamUtils API to support copy routines with a limit
6/13/12 add api Extended API of NonBlockingStringWriter implementing IHasSize and deprecated toString method
6/13/12 add api Added new constructors for NonBlockingStringReader
6/13/12 add api Added new MicroDOM event NODE`_`REMOVED that is triggered upon node removal
6/13/12 add api Added new package com.phloc.commons.email handling a structured email address + regex validation
6/11/12 add api Unified ArrayHelper API
6/11/12 _Release *3.6.0.RC1*_
6/11/12 add api Added new factory class InputSourceFactory
6/11/12 add api Extended API of XMLListHandler and XMLMapHandler
6/10/12 change api *yes* LoggingTransformErrorListener now requires a locale
6/10/12 remove api *yes* Removed IHasErrorText and replaced it with IHasDisplayText (especially in IResourceError)
6/10/12 change tech Made EqualsImplementationRegistry and HashCodeImplementationRegistry more efficient
6/10/12 add api Made StringHelper API more consistent using more get... methods. Old methods are deprecated.
6/10/12 add api Added ArrayHelper.getFirst and getLast for all primitive types
6/10/12 change api *yes* Renamed codec.I(En|De)coder to IByteArray(En|De)coder and derived it from .encode.I(En|De)coder
6/10/12 change api *yes* Renamed .codec classes so that they all end of Codec to be more general-purpose
6/6/12 _Release *3.5.8*_
6/6/12 add api Added new MicroContainer constructor and static factory methods for easy clone handling
6/6/12 add api Added new com.phloc.commons.codec package, with the encoders and decoders from our internal PDF package
6/4/12 add api Added new class NonBlockingBufferedReader
6/4/12 add api Added new method IMicroElement.getAllChildElementsRecursive()
5/30/12 add api Extended EURLProtocol with methods to support ISimpleURL
5/29/12 add api Added ContainerHelper.getSize(Enumeration)
5/26/12 update tech Made MicroTypeConverterRegistry more efficient
5/24/12 _Release *3.5.7*_
5/24/12 fix api Fixed error in MicroElement.getAllAttributes so that the order is maintained
5/24/12 _Release *3.5.6*_
5/24/12 add api Added new class NonBlockingStringReader and using it where applicable
5/24/12 change tech Changed some return types from returning unmodifiable objects to return copies instead
5/24/12 add api Added new annotation @PrivateAPI to indicate that public methods are not mean for public use
5/24/12 add api Added new package com.phloc.commons.encode having generic encoder and decoder interfaces
5/24/12 add api Added new interfaces IBidirectionalConverterSameType and IUnidirectionalConverterSameType
5/24/12 add api Adding methods with Charset parameters where methods with String charset-name parameters are present
5/24/12 add api Extended StreamUtils API with new createReader and createWriter methods
5/24/12 add api Added new interfaces IHasMicroNodeRepresentation and IHasXMLRepresentation
5/22/12 add api Made IReadableResource Serializable
5/15/12 _Release *3.5.5*_
5/15/12 add api Extended FilenameHelper API with some methods
5/15/12 add api Extended NonBlockingMessageDigestGenerator API with some static methods
5/8/12 add api Added the possibility to retrieve all change log items (entries and releases) in the correct oder
5/8/12 _Release *3.5.4*_
5/8/12 change api *yes* Moved ArrayEnumeration to sub-package 'iterate'
5/8/12 add api Added static factory method for SingleElement(Iterator|ListIterator|Enumeration)
5/8/12 add api Added new class SingleElementEnumeration
5/8/12 add api Added new class CombinedIterator plus access method in ContainerHelper
5/7/12 add api Added new class AbstractJAXBMarshaller as the basis for easily creating JAXB document marshallers
5/7/12 add api Made `*`SAXErrorHandler, `*`ValidationEventHandler and `*`TransformErrorListener non-final and subclassable
5/7/12 add api Added a method clearResourceErrors to CollectingSAXErrorHandler, CollectingValidationEventHandler and CollectingTransformErrorListener
5/7/12 change api Made CollectingSAXErrorHandler thread-safe
5/7/12 add api ResourceErrorGroup now implements IClearable
5/4/12 add api Added abstract base class AbstractTransformURIResolver
5/4/12 add api MicroReader and XMLReader now directly support the reading from File
5/4/12 fix api Fixed signature of ArrayHelper.newArray(Collection,Class)
5/4/12 add api Added new class ConstantValidationEventHandlerFactory and CollectingLoggingValidationEventHandlerFactory
5/4/12 _Release *3.5.3*_
5/4/12 add api Added default implementations of IValidationEventHandlerFactory for (Logging|Collecting)ValidationEventHandler
5/4/12 add api Moved JAXB (Logging|Collecting)ValidationEventHandler to a separate package and made non-final
5/4/12 add api Added a factory for JAXB ValidationEventHandlers called IValidationEventHandlerFactory
5/4/12 _Release *3.5.2*_
5/4/12 add api Extended EnumerationFromIterator to also work with Iterable objects
5/4/12 add api Added new helper classes DebugInputStream and DebugOutputStream
5/4/12 add api Extended CountingInputStream to retrieve the current position within the input stream
5/4/12 add api Added new StreamUtils methods skipFully and readFully
5/4/12 change api Deprecated NonBlockingStringWriter.getBuffer. Instead directGetStringBuilder should be used!
5/4/12 add api Added new method NonBlockingStringWriter.toCharArray()
5/4/12 change api Made method StreamUtils.getCopy(Reader) public
5/4/12 add api Added new MathHelper methods abs(int|long|float|double) handling problems with Integer.MIN`_`VALUE and Long.MIN`_`VALUE
5/4/12 add api Added new StringHelper methods getNotNull(CharSequence) and replaceAll(String,char,char)
5/3/12 add api Added new marker interface IMockException
4/30/12 add api Added new marker interface IMicroNodeWithChildren
4/27/12 _Release *3.5.1*_
4/27/12 update tech Updated to freedesktop.org shared MIME type list v1.0
4/27/12 add api Added new classes MutableChar and MutableFloat
4/26/12 add api Added new parseByte`*` methods in StringHelper
4/26/12 add api Added new classes MutableByte and MutableShort
4/26/12 fix tech Using BigDecimal.valueOf(double) instead of new BigDecimal(double) where applicable
4/24/12 add api Added new ContainerHelper methods new(Unmodifiable)SortedMap returning a TreeMap
4/23/12 _Release *3.5.0*_
4/23/12 change api *yes* Moved EqualsUtils to new package com.phloc.commons.equals
4/23/12 change api The class XMLWriterSettings now implements ICloneable
4/23/12 change api *yes* Fixed copying of 2 properties in XMLWriterSettings copy constructor
4/23/12 change api *yes* Merged AbstractXMLWriterSettings and XMLWriterSettings because a deprecated implementation was removed
4/23/12 remove api *yes* Removed all unused @Deprecated methods
4/23/12 add api *yes* Added EqualsImplementationRegistry and HashCodeImplementationRegistry to support custom equals and hashCode implementations
4/23/12 change api *yes* Changed the API of ClassHelper.getClassHierarchy to return Collection instead of List and extended it to support a version without duplicates.
4/20/12 add api Added special hashCode and equals support for org.w3c.dom.Node objects
4/18/12 update tech Fixed some specific issues with ReadWriteLock usage
4/16/12 add api Added factory methods in class MicroTypeConverterTreeXML
4/13/12 add api New method StackTraceHelper.containsUnitTestElement with a Throwable
4/11/12 change api Made StreamUtils.getCopy public
4/4/12 _Release *3.4.9*_
4/4/12 add api Extended FileSystemIterator and FileSystemRecursiveIterator factory methods to also work with FilenameFilter
4/4/12 add api Added a constructor to FileFilterToIFilterAdapter that takes a FilenameFilter
4/4/12 add api Added new class FileFilterFromFilenameFilter that works for any type of file
4/4/12 fix tech Fixed XML serialization issue, if an empty namespace prefix was used in a NamespaceContext
4/4/12 add api Added new CXML constant for XSD targetNamespace attribute
3/21/12 change api *yes* IReadonlyAttributeContainer now implements IHasSize
3/21/12 _Release *3.4.8*_
3/21/12 fix tech Clarified the specification of IAttributeContainer.setAttribute with null values - this is equal to a removeAttribute
3/19/12 add tech Added cache statistics in ImageDataManager
3/14/12 _Release *3.4.7*_
3/14/12 add api Added new method getAllAttributeValues to IReadonlyAttributeContainer interface
3/14/12 add api Added new class MapBasedAttributeContainerThreadSafe as a thread-safe wrapper around MapBasedAttributeContainer
3/4/12 add api Added new class XMLResourceBundle to easily read XML resource bundles
3/4/12 _Release *3.4.6*_
3/4/12 fix tech Fixed statistics of AbstractNotifyingCache because of double query
3/4/12 update tech Tried to improve the speed of the FileSystemResource on Unix systems by using our own non-blocking canonicalization routine
3/4/12 fix tech Improved cleansing algorithm of FilenameHelper.getCleanPath(String)
3/4/12 update tech Added cache in CollatorUtils.getCollatorSpaceBeforeDot to work around synchronization issue in Collator.getInstance()
3/1/12 add api Added new interface IHasVersionRange
3/1/12 add api Added new statistics type 'KeyedSize' incl. visit and export
3/1/12 add api Added new statistics type 'KeyedTimer' incl. visit and export
3/1/12 change api *yes* Changed the API of they statistics keyed counter slightly
2/29/12 fix tech Added XML character replacement for character 0x2028 (Unicode newline)
2/27/12 _Release *3.4.5*_
2/27/12 add api Added new IStatisticsHandlerKeyedCounter method increment(key,byHowMany)
2/27/12 update tech Improved logging for file operations
2/27/12 _Release *3.4.4*_
2/27/12 add tech Add APIs in EqualsUtils for: AtomicBoolean, AtomicInteger and AtomicLong
2/27/12 update api Made MemoryIntIDFactory thread-safe
2/27/12 fix tech Fixed concurrency problem in FileIntIDProvider
2/15/12 _Release *3.4.3*_
2/15/12 update api Added a new TypeConverterException constructor taking a root cause.
2/14/12 fix tech JAXBContextCache can now handle classes correctly, if the package does not contain an @XmlSchema annotation
2/14/12 change api Fixed FindBugs issues
2/14/12 change api *yes* ComparatorThreadID is now derived from AbstractIntegerComparator
2/14/12 change api *yes* AbstractCollationComparator, AbstractNumericComparator and ComparatorComparableNullAware are now derived from AbstractComparatorNullAware
2/14/12 add api Added new Comparator base classes AbstractComparatorNullAware and AbstractIntegerComparator
2/13/12 add api Added new customization possibility to the XML writer settings: emit space in self-closed elements or not.
2/13/12 add api Added new customization possibility to the XML writer settings: use single quotes to surround attribute values.
2/4/12 add api ESortOrder got a new method getAlternate to get the opposite value
2/2/12 add tech Added additional error messages when reading change logs via the ChangeLogSerializer
2/1/12 _Release *3.4.2*_
2/1/12 add api Added support for simple URLs
2/1/12 _Release *3.4.1*_
2/1/12 change api By default JMX is disabled for statistics and cache
1/31/12 fix tech Fixed correct logging in EXMLIncorrectCharacterHandling enums
1/31/12 update api Deprecated some methods that rely on the default encoding
1/31/12 _Release *3.4.0*_
1/31/12 add tech Added JMX support into statistic handler and AbstractCache implementations
1/31/12 add api Started adding support for JMX object handling
1/31/12 add api TypeConverter now has conversion methods to convert from primitive types
1/30/12 fix api ToStringGenerator now automatically avoids endless loops, if the source object is passed again as a member object
1/30/12 change api *yes* Moved MD`_`CH from ECountryName to ECountrySubName
1/27/12 add api Extended ETriState with new overload of getAsBooleanObj
1/27/12 add api Extended IReadonlyGraph with new method getSingleEndNode
1/27/12 add api Added new class GraphIteratorBackward
1/26/12 _Release *3.3.11*_
1/25/12 add api Extended SimpleFileIO and StreamUtils APIs for reading lines
1/25/12 add api Added new constants in CGlobal: ILLEGAL`_`USHORT, ILLEGAL`_`FLOAT, BIGINT`_`10 and BIGDEC`_`10
1/25/12 add api IMicroNode has a new method getType delivering the type of a node
1/23/12 add api Added new classes SuccessWithValue and ChangeWithValue
1/23/12 add api Added new interface IWrapper and made the Wrapper implementation cloneable
1/22/12 _Release *3.3.10*_
1/22/12 change tech Added an explicit ResourceBundle Cache in EnumTextResolverWithPropertiesOverrideAndFallback
1/22/12 change api Extracted static methods from ResourceBundleKey to ResourceBundleUtils
1/21/12 add performance Performance improvement in CombinationGenerator by using long fallback
1/21/12 add api Added new change log category 'performance'
1/21/12 add tech Added new default MicroType converters for AtomicBoolean, AtomicInteger and AtomicLong
1/21/12 _Release *3.3.9*_
1/20/12 change api All thread-safe implementations wont return an unmodifiable view of the underlying data structures but a copy instead
1/20/12 add api Added new ContainerHelper methods makeUnmodifiableNotNull that will never return null
1/20/12 change api *yes* All ContainerHelper methods working on SortedSet objects now only work with Comparable objects
1/20/12 change api All ContainerHelper methods working on SortedSet objects return SortedSet instead of Set
1/20/12 add api New class ComparatorComparableNullAware that does null-safe comparison
1/19/12 add api Added new static method ManagedExecutorService.shutdownAndWaitUntilAllTasksAreFinished
1/17/12 add api Added new overload for AbstractSchemaCache.getSchema()
1/16/12 add data Added license information for Base64 code into thirdparty configuration
1/16/12 add api Added new predefined license ELicense.PUBLIC`_`DOMAIN
1/16/12 add tech Added a default conversion between String and byte[] for MicroTypeConverter
1/16/12 change api *yes* Changed the way how the default conversion between String and byte[]. Previously it was the ISO-8859-1 String representation, now it is Base64-encoded
1/16/12 add api Added new methods in EqualsUtils: equalsTypeSpecific, equalsTypeSpecificNoCollections, nullSafeEqualsTypeSpecific and nullSafeEqualsTypeSpecificNoCollections
1/4/12 _Release *3.3.8*_
1/4/12 add api Added new ChangeLog category "data" for data files etc.
1/3/12 change tech GenericReflection.newInstance now catches Throwable instead of Exception
1/3/12 add api *yes* Started adding some support for running with a SecurityManager
12/22/11 add api Extended JAXBMarshallerUtils with the method isSunJAXB2Marshaller
12/22/11 change api Performed fixes of FindBugs 2.0.0 analysis
12/22/11 _Release *3.3.7*_
12/22/11 add api New MathHelper methods: get(Min|Max)Float with arbitrary number of arguments
12/22/11 add api Added copy constructor to XMLWriterSettings
12/21/11 change api Internally using IXMLWriterSettings instead of duplicating the fields all the time
12/21/11 change api Deprecated most methods of XMLWriter so that only the versions with the IXMLWriterSettings are used
12/21/11 add api Added possibility to customize the way how XML writer handles invalid XML characters
12/20/11 fix api XML writer does not write for the 0 byte, as this cannot be read by XML parsers
12/19/11 add api New MathHelper methods: getMax(Int|Long|Double) and getMin(Int|Long|Double) with arbitrary number of arguments
12/19/11 change api Deprecated class MicroFactory. Use the new Micro(Comment|Element|...) methods directly.
12/6/11 add api Extended IFileOperationManager and FileOperations with delete(File|Dir|DirRecursive)IfExisting methods
12/5/11 _Release *3.3.6*_
12/5/11 add api Added new class JAXBMarshallerUtils to set and retrieve JAXB marshaller properties in a type-safe manner
12/5/11 fix tech Fixed serializing of XML namespace declarations in certain cases, which may resulted in invalid XML elements.
12/5/11 add api Added the possibility for Node and IMicroNode serialization to specify some namespaceURL-to-prefix mapping.
12/5/11 add api Added new classes AdapterRunnableToCallableWithParameter and AdapterThrowingRunnableToCallableWithParameter
12/2/11 fix tech Base64Helper now catches all Exceptions in safe decoding (instead of only IOException)
11/29/11 add api Added new class AdapterThrowingRunnableToCallable for converting throwing runnables to callables
11/28/11 add api New method for Version and VersionRange: getAsString(boolean) for printing version numbers including trailing zeroes.
11/23/11 add api New ContainerHelper methods new...SortedSet creating a TreeSet
11/22/11 add tech SimpleLSResourceResolver was further improved, so that base URLs are handled correctly
11/21/11 _Release *3.3.5*_
11/21/11 add api Added new XML transformation utility classes ResourceStreamResult and StringStreamResult
11/18/11 fix tech Improved check in FilenameHelper.isValidFilename method
11/18/11 add api New FilenameHelper API containsPathSeparatorChar
11/15/11 _Release *3.3.4*_
11/14/11 add api New FileFilter implementation FileFilterDirectoryPublic
11/14/11 change api Reworked FileFilter implementations to use a common base class and also implement IFilter`<`File`>`
11/14/11 add api FileSystemRecursiveIterator has now a constructor that takes a filter determining the recursion
11/14/11 change api Simplified internal logic of FileOperations
11/14/11 add api New class LoggingFileOperationCallback
11/14/11 add api New StopWatch method stopAndGetSeconds ()
11/14/11 add tech SimpleLSResourceResolver has now special handling if the system ID to be resolved is empty
11/14/11 fix tech Fixed problems with SimpleLSResourceResolver default resource resolving when the passed base URI is not a URI
11/11/11 _Release *3.3.3*_
11/11/11 change api Moved all `*`equals methods from CompareUtils to EqualsUtils and changed the usage in this project
11/11/11 fix tech Improved UTF-8 byte counting and tests
11/11/11 change api Removed some duplicate methods from CompareUtils. They are now all in EqualUtils.
11/10/11 fix api Fixed binary compatibility of HashCodeGenerator because 3.3.2 was incompatible with 3.3.1 because of removed overload for Enum`<`?`>`
11/8/11 _Release *3.3.2*_
11/8/11 change api ResourceBundleKey and ChangeLogSerializer now have API overloads to use a custom ClassLoader
11/8/11 change api ClassPathResource is now using the URL based resolution (incl. caching) for InputStream retrieval
11/8/11 add api Extended the ClassPathResource to support custom class loaders where required
11/8/11 add api Created class EqualsUtils for easier equals implementation
11/8/11 add api Extended CompareUtils APIs for some more tricky types
11/8/11 add api Added new class HashCodeCalculator to use the standardized hash code creation outside of the HashCodeGenerator
11/6/11 change tech Made ObjectType and TypedObject implement Serializable
11/3/11 add feature Updated MIME list to shared mime info v0.91
10/30/11 add api Added new method CGStringHelper.getClassFromPath
10/25/11 _Release *3.3.1*_
10/24/11 add api Added default type conversions from primitive arrays to List, Set and OrderedSet
10/24/11 add api Added new methods ContainerHelper.newXXXList/Set/OrderedSet for all primitive types
10/23/11 add api Added new methods ArrayHelper.newXXXArray for all primitive types
10/23/11 add api Added new methods ContainerHelper.containsNullElement and ArrayHelper.containsNullElement
10/23/11 fix tech Fixed bug in ContainerHelper.getDifference. If the first container is empty, an empty Set is now returned.
10/23/11 fix tech Fixed bug in ContainerHelper.getIntersection. If any of the 2 container is empty, an empty Set is now returned.
10/20/11 add api CompareUtils got special nullSafeEquals versions for URL and BigDecimal
10/16/11 add api Extended state enum API with valueOf for the respective interfaces
10/6/11 _Release *3.3.0*_
10/6/11 add api Added a new overload of StreamUtils.readStreamLines
10/6/11 add api Added class DefaultExecutorServiceFactory as a simple default implementation of the IExecutorServiceFactory
10/6/11 change api *yes* Renamed I(Non)ThrowingCallback to I(Non)ThrowingRunnableWithParameter for consistent naming. The method name was also changed from execute to run
10/6/11 add api Added IThrowingCallable and IThrowingCallableWithParameter interface so that the hierarchy is complete
10/6/11 add api INonThrowingRunnable is now derived from IThrowingRunnable
10/5/11 add api Added method clear and interface IClearable to class InMemoryLogger
10/5/11 change api Removed final modifier from class InMemoryLogger
10/5/11 add api Added XMLHelper getNamespaceURI method, to retrieve the namespace URI of an arbitrary node
10/5/11 change tech *yes* Extracted MicroTypeConverter from MicroTypeConverterRegistry to have the same naming as the regular type converter
10/5/11 change api *yes* Changed the ITypeConverterRegistrarSPI SPI interface to take a callback interface for easier integration
10/5/11 change api *yes* Changed the IMicroTypeConverterRegistrarSPI SPI interface to take a callback interface for easier integration
10/4/11 add api Extracted classes StringMicroTypeConverter and StringBasedMicroTypeConverter and made them publically available
10/4/11 add tech Added the new changelog category 'test' for all test related issues
10/4/11 add api Added the abstract base class AbstractChildrenProviderWithUniqueIDHasChildren
9/30/11 add api NonBlockingMessageDigestGenerator got the static API getDigestFromInputStream to create a message digest from an InputStream
9/30/11 add api Added some constants in CXML
9/26/11 add api Added CompareUtils.safeEquals (BigDecimal, BigDecimal) to correctly handle comparison of BigDecimal values with different scales
9/26/11 _Release *3.2.1*_
9/26/11 add api Added class HashingOutputStream
9/26/11 change tech HashingInputStream uses now a NonBlockingMessageDigestGenerator
9/23/11 add api Extended the RegExPool and RegExHelper classes to also support options for pattern compilation (e.g. MULTILINE, DOTALL etc.)
9/23/11 add api Added new methods to FilenameHelper: getExtension(File) and hasExtension(File)
9/23/11 add api Added several new constructors to the IMulti`*`Map`*` implementations
9/22/11 change tech @ShouldBeDeprecated is now also allowed for fields
9/21/11 add api Added new class MicroTypeConverterTreeXML for converting trees to XML using the default MicroTypeConverterRegistry types
9/21/11 add api Improved API of TreeXMLConverter so that it can easily read from IMicroElement instead of IMicroDocument
9/20/11 _Release *3.2.0*_
9/20/11 change api *yes* Moved implementations of Graph objects into a separate package
9/20/11 change api *yes* Removed TreeWalkerWithID and TreeWalkerDynamicWithID as they can be replaced with TreeWalker and TreeWalkerDynamic
9/20/11 change api Removed final from most Comparator implementations
9/20/11 add api Added new classes ComparatorComparable and ComparatorHasIDComparable
9/20/11 change api *yes* Tree class hierarchy heavily changed so that all packages have the same naming for the same semantics
9/16/11 change api *yes* FolderTree`*` implementations now automatically use the keyCombinator method from the FolderTreeFactory
9/16/11 change api *yes* Made the keyCombinator of the FolderTree stuff optional. In that case the regular ID is returned instead of the concatenated ID
9/16/11 change api *yes* FileSystemFolderTree is now derived from DefaultFolderTree
9/16/11 change api *yes* Renamed "FolderTree`*`" implementations to "DefaultFolderTree`*`" and introduced abstract base implementations
9/16/11 change api Started making FolderTree more usable by being more flexible
9/15/11 add api Added IMicroElement.setAttribute(String,long) as a sanity method
9/14/11 change api *yes* GraphIterator now supports filtering relations to identify which relations to follow in iteration and which not
9/14/11 change api Introduced IGraphNode and IGraphRelation interfaces and using them
9/14/11 change api Class SimpleGraph is no longer final
9/13/11 _Release *3.1.1*_
9/13/11 change tech Added blank before self-closing tags in XML writing
9/13/11 change tech EnumTextResolverWithPropertiesOverrideAndFallback uses fallbacks for override and fallback determination
9/13/11 change api The list returned from LocaleUtils.getCalculatedLocaleListForResolving is now unmodifiable
9/12/11 add api Added SimpleFileIO.writeFile with a list of lines
9/12/11 _Release *3.1.0*_
9/12/11 fix tech Fixed error in tree with unique ID, so that "getItemWithID" calls failed afterwards, because the item was removed from the factory and not added again
9/8/11 add api Extended EnumHelper API to support case insensitive String lookup
9/6/11 add tech Changelog entries now support the 'incompatible' attribute of type boolean
9/6/11 change api Changed Generics type names to be more 'speaking' (e.g. ELEMENTTYPE instead of T)
9/6/11 add api Extracted anonymous inner classes of ContainerHelper into named public classes
9/6/11 add api Added class AggregatorConstant
9/6/11 change api *yes* Moved class to ChildrenProviderElementWithName to package com.phloc.commons.microdom.utils
9/5/11 add api Added insertAtIndex method to IMicroNode
9/2/11 add api Added IHasDisplayTextWithArgs interface
9/2/11 add api Added MicroDOMInputStreamProvider constructor using the default charset
9/1/11 add api Added new class ComparatorHasIDString, ComparatorHasSimpleIntID and ComparatorHasSimpleLongID
9/1/11 add api Added new class CDefault having constant default values for primitive and primitive wrapper types
9/1/11 add tech Added all default type conversions from and to AtomicBoolean
9/1/11 change api Removed all @Deprecated methods
9/1/11 change api Moved everything in package dyntypes and beans to separate project [http://code.google.com/p/phloc-commons phloc-types]
9/1/11 add api Added a static create method for class FactoryConstantValue
8/31/11 _Release *3.0.12*_
8/31/11 add api Added a static getAsString method to AbstractReadonlyAttributeContainer for converting a parameter Object to a String
8/30/11 add api Added a non-blocking MessageDigestGenerator as well as an IMessageDigestGenerator interface
8/30/11 add api Added a callback when reading change logs for advanced handling of the error messages.
8/30/11 fix tech Added automatic splitting of CDATA sections that contain the illegal ]]`>` elements
8/29/11 _Release *3.0.11*_
8/29/11 fix tech Changed default XML encoding of ' to ' because IE8 emits an error otherwise
8/27/11 add api Added possibility to clear ImageDataManager cache
8/26/11 _Release *3.0.10*_
8/26/11 change api Changed some methods to start with "getAs" instead of "as"
8/25/11 fix tech Fixed bug in FilenameHelper makeValidFilename in case a forbidden character was contained more than once
8/25/11 add api Added StringHelper API startsWithAny and endsWithAny
8/25/11 add api Added FilenameHelper API getAbsoluteWithEnsuredParentDirectory and getRelativeToParentDirectory
8/22/11 fix api Automatic masking of XML character ' to '
8/22/11 _Release *3.0.9*_
8/22/11 change api Each change log entry now knows its parent changelog.
8/21/11 add api Added XML serialization option to ignore comments
8/19/11 _Release *3.0.8.1*_
8/19/11 add api Added IHasErrorLevel interface
8/19/11 change api Removed final from ResourceError class
8/19/11 change api Added another ResourceLocation constructor
8/19/11 _Release *3.0.8*_
8/18/11 change api Resource error API improved with error/noError API
8/18/11 change api Trying to unify resource error group handling
8/18/11 _Release *3.0.7*_
8/18/11 add api Added class XMLSchemaValidationHelper for easy XML schema validation
8/17/11 add tech Added missing type converters for AtomicInteger, AtomicLong, StringBuffer and StringBuilder
8/17/11 _Release *3.0.6*_
8/16/11 fix tech Fixed NPE in JAXB validation event handler
8/16/11 fix tech Fixed error in emitting XML nodes with multiple different namespaces
8/16/11 _Release *3.0.5*_
8/16/11 add tech Added default micro type converters for basic types and the enumeration types in the state package
8/12/11 add tech Added default type converters for the enumeration types in the state package
8/12/11 change api Changed the way how type converters are registered. Therefore the exact type converter can be used more often which results in better performance
8/12/11 change api MicroTypeConverterRegistry now explicitly throws TypeConverterException in case no converter was found or conversion failed
8/12/11 add api Added class HasDisplayTextWithArgs
8/11/11 add api Added createDirIfNotExisting and createDirRecursiveIfNotExisting to file operations
8/10/11 _Release *3.0.4*_
8/9/11 add api Added interface ISeverityComparable for EErrorLevel
8/9/11 fix tech Ignoring comments in DTDs when reading MicroDOM XML
8/8/11 add api Extended MathHelper API adding longToInt
8/4/11 _Release *3.0.3*_
8/4/11 fix tech Fixed heuristic in MicroReader determining ignorable whitespaces
8/4/11 _Release *3.0.2*_
8/4/11 add api Added a new changelog action 'update' for the update of external components
8/4/11 add api Added a new changelog category 'security' for all security relevant issues
8/3/11 add api Added StringHelper.multiContains to check if a set of chars is contained in another set of chars
8/1/11 fix api The DynamicValue API now uses the TypeConverter more consistent and therefore also throws TypeConverterExceptions
7/31/11 _Release *3.0.1*_
7/31/11 add api Made some more APIs Serializable
7/31/11 add api Extended ContainerHelper API to support newUnmodifiableMap and newUnmodifiableOrderedMap
7/31/11 add api Extended MicroReader API with a method to handle String+EntityResolver
7/29/11 add api Extended ContainerHelper API to support getFirstElement, getFirstKey and getFirstValue on Maps
7/29/11 add api Added support for reading, modifying and writing change logs programatically
7/29/11 add api Extended FileSystemRecursiveIterator to allow to customize, in which directories to recurse and in which not
7/29/11 add api Extended IMicroNode API to support removeChildAtIndex and removeAllChildren
7/27/11 _Release *3.0.0*_
© 2015 - 2025 Weber Informatics LLC | Privacy Policy