[ 
https://issues.apache.org/jira/browse/IMAGING-159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14310760#comment-14310760
 ] 

Michael Groß commented on IMAGING-159:
--------------------------------------

Completed POJO parameter objects in 
http://github.com/mgmechanics/commons-imaging/tree/IMAGING-159-POJO
Some parameters may still missing but I am on it.

I am working to remove the Map<String, Object> object which held the parameters 
from all the classes and replace it by ImagingParameters resp. inherited 
ImagingParameters<IMAGE_FORMAT like Jpeg, Pcx, Tiff> POJO classes. While I am 
working on this the source in the branch IMAGING-159-POJO in my repository may 
not compile. 

> There should be a Parameters class
> ----------------------------------
>
>                 Key: IMAGING-159
>                 URL: https://issues.apache.org/jira/browse/IMAGING-159
>             Project: Commons Imaging
>          Issue Type: Improvement
>          Components: imaging.*
>            Reporter: Benedikt Ritter
>             Fix For: Review Patch
>
>
> Currently options for image I/O are defined as Maps. The leads to the problem 
> that our code has to validate parameter types when they are used:
> {code:java}
> final Object value = params.get(PARAM_KEY_COMPRESSION);
> if (value != null) {
>   if (!(value instanceof Number)) {
>     throw new ImageWriteException(
>       "Invalid compression parameter, must be numeric: "
>          + value);
>   }
>   compression = ((Number) value).intValue();
> }
> {code}
> This can be simplified if we define a Parameters class that provides 
> additional methods like {{public int getInt(String key)}}. The implementation 
> could then look up the value from the map through an exception if it is null 
> or not a number.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to