perf(AppProperties): revisa las funcionalidades de la clase
perf(AppProperties): revisa las funcionalidades de la clase
feat(AppProperties): crea la propuesta de reemplazo de Properties
copyright(FilterDispatcher): incluye la cabecera de Affero en el fichero
feat: elimina AppLogger
feat(ACoreLogger): cambia getLevel() para que devuelva el nivel efectivo
feat(ALogger): elimina los métodos con argumento AMessageKey, reemplazados por los métodos con argumento Serializable
feat(ALogger): incluye el lanzamiento de mensajes desde cualquier instancia Serializable llamando a #toString()
build: actualiza la configuración de Eclipse
feat: modifica el mecanismo de logging de los filtros y servlets
feat(ServletDispatcher): implementa getProperties()
bak: copia de seguridad
bak: copia de seguridad
feat(abk.j2ee.dispatch): elimina AHttpServiceDispatcher
feat(abk.j2ee.dispatch): elimina APathDispatcher
feat(ARequestInspector): incluye la información disponible de la máquina remota
perf(DispatchFailedException): utiliza Exception#addSuppressed(Throwable) para trazar la IOException
perf(abk.j2ee.dispatch): unifica el uso de #sendResponse()
perf(ARequestInspector): muestra requestURI
feat(abk.j2ee.dispatch): trabajos en curso de redefinición de las clases
feat(abk.j2ee.dispatch): trabajos en curso de redefinición de las clases
feat(abk.j2ee.dispatch): trabajos en curso de redefinición de las clases
feat(abk.j2ee.dispatch): trabajos en curso de redefinición de las clases
feat(abk.j2ee.dispatch): trabajos en curso de redefinición de las clases
feat(abk.j2ee.dispatch): trabajos en curso de redefinición de las clases
fix(CloseableUtils): codifica #error() conforme todos los Throwables son también ISuppressedThrowable
fix(ArrayUtils): protege #iterator(Enumerarion) e #iterable(Enumeration) de null
feat(ObjectUtils): introduce toQuoted() y modifica toString(Object,String) para asegurar que no devuelve null salvo que emptyValue sea null
fix(StringUtils): corrige la implementación para que sea robusta ante la modificación de ObjectUtils
perf(BooleanUtils): simplifica toBoolean(int,int,int):Boolean
feat(BooleanUtils): modifica el contrato del api en varios métodos
feat(IllegalBinaryException): crea la excepción
perf(AContextInspector): elimina '\n' para los retornos de carro
feat(BooleanUtils): introduce YesNoEqualsException
fix(BooleanUtils): pone boolean en vez de Boolean
feat(AppRunner): modifica la clase para que la configuración se inyecte en el constructor
eat(abk.core.app): crea el paquete para AppConfig y AppRunner
feat(AppRunner): separa la gestión del ciclo de vida de AppConfig en AppRunner
feat(AppConfig): mueve la clase AContextBoot a la clase abk.core.config.AppConfig
refactor(ContextUtils): cambia el valor devuelto por #getInitParameterNames(ServletContext) a Iterable<String>
Copia de seguridad
feat(ArrayUtils): define #iterator(Enumeration) e #iterable(Enumeration)
feat(AppendableUtils): traslada las funcionalidades de ThrowableWriter a la nueva clase AppendableUtils
feat(ThrowableWriter): renombra ThrowablePrinter como ThrowableWriter
feat: reduce la cantidad de herencia de PageContextWrapper
feat(Requests): implementa getContextPath(ServletRequest)
feat(PageContextWrapper): renombra los métodos #valueOf() como #wrapOf().
refactor(PageContextWrapper): refactoriza y documenta #valueOf(PageContext,String,Class)
feat(PageContextWrapper): define PageContextWrapper:getELContext():ELContext
feat(AQueryBuilder): sobrecarga los métodos #format() para devolver el tipo de dato de la instancia y poner el Locale.ROOT
feat(ATextBuilder): crea el método #getLocale()
fix(ABoxedNumber): implementa de nuevos los métodos xxxValue():xxx
feat(ADataItem): implementa por defecto #deepReplace(CloneablesMap)
doc(ADataItem): modifica la fecha del copyright
refactor(ADataItem): cambia clone(CloneablesMap) mediante una implementación más normativa
feat(ObjectUtils): modifica #toString(Object,String) para que nunca devuelva null
perf: elimina warnings por uso de varargs
feat(FileUtils): implementa #relativize(File,File):File y #getExtension(File|String):String
refactor(ClassUtils): cambia parte del código para adoptar sintaxis de Java 8
feat(CloneavblesMap): crea el constructor CloneablesMap(Object,Objec)
doc: corrige los estilos de la documentación
copia de seguridad
perf(ATextBuilder): cambia #format(Locale,String,Object[]) para que use try-with
refactor(IBoxedValue): cambia la interfaz a IBoxedObject e implementa métodos por defecto
doc: corrige los estilos de la documentación
feat(ClassUtils): sustituye Classes#getConstructor(Class,String, Class[]) por ClassUtils#getConstructor(Class,String, Class[])
doc: corrige la documentación
doc(jdk-1.8-green.css): modifica los estilos css
doc: corrige la documentación
doc: corrige la documentación
feat(DateUtils): sustituye la implantación de Dates
feat(DateUtils): mueve Dates#toISOString() y Dates#parseISOString() a DateUtils
fix: corrige la documentación
perf(Dates): corrige la documentación y usa Map#computeIfAbsent()
feat(ICopyable): mueve la interfaz al paquete abk.core.function
build: reubica la documentación conforme estándar Maven
build: cambia rutas de las fuentes a las estándar de Maven
feat(ISingleton): elimina la interfaz ISingleton
refactor(CachedReference): mueve abk.util.ACachedReference a abk.core.reference.CachedReference
feat(ABoxedBoolean): crea la clase ABoxedBoolean
feat(BooleanUtils): crea la nueva clase para manejo de booleanos con cadenas de texto
perf(ABoxedNumber): cambia a usar ValueException
perf(ABoxedDate): cambia a usar ValueException
feat(ValueException): crea la excepción ValueException
doc(Wrapper): introduce la documentación de la clase
feat(Wrapper): define la clase Wrapper
feat(ATextBuilder): incluye los métodos #format()
work(AHttpFileDispatcher): implementacion con HttpServiceDispatcher
work(AHttpFileDispatcher): implementacion con HttpServiceDispatcher
work(AHttpFileDispatcher): implementacion con HttpServiceDispatcher
work(AHttpFileDispatcher): identificacion de la ruta del fichero a entregar
work(AHttpFileDispatcher): identificacion de la ruta del fichero a entregar
feat(AHttpStatusDispatcher): completa la lista de códigos de estado implementados
feat(ATextBuilder): mueve la clase al paquete abk.core.text
work(AHttpFileDispatcher): inicia la escritura de la clase
work(AHttpFileDispatcher): inicia la escritura de la clase
perf(AContextInspector): entrecomilla los valores de los parámetros mostrados
perf(ThrowablePrinter): reutiliza NL por StringUtils.NEWLINE
feat(AContextBoot): crea la nueva clase
feat(ContextUtils): introduce la nueva clase