All Downloads are FREE. Search and download functionalities are using the official Maven repository.

oc-commons.4.4.0.source-code.ChangeLog.wiki Maven / Gradle / Ivy

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy