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

Joerg Schaible commented on IO-342:
-----------------------------------

Can you declare charset as transient and use lazy-initialization for 
{{getCharset()}} (don't forget to synchronize)? This keeps binary compatibility 
for serialization and performs the _expensive_ lookup only if really requested.
                
> Add getChartset/getBOMCharset methods to ByteOrderMark/BOMInputStream
> ---------------------------------------------------------------------
>
>                 Key: IO-342
>                 URL: https://issues.apache.org/jira/browse/IO-342
>             Project: Commons IO
>          Issue Type: Improvement
>          Components: Utilities
>            Reporter: Yaniv Kunda
>            Priority: Minor
>         Attachments: ByteOrderMark-charset.patch
>
>
> ByteOrderMark/BOMInputStream currently support getting the detected charset 
> name via getCharsetName/getBOMCharsetName.
> Calling Charset.forName() is rather expensive, and its result should be fixed 
> throughout the life of a JVM.  Adding a cached copy of its result in 
> ByteOrderMark will save callers of BOMInputStream.getBOMCharsetName this 
> price.
> In case the JVM does not support the detected charset, the method can either 
> throw the standard exception or return null.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to