litesoft
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.codec; import org.litesoft.core.annotations.*; import org.litesoft.core.util.*; /** * Convert String value to/from a self-terminating string representation */ public class StringCodec extends AbstractCodec<String> { public static final StringCodec INSTANCE = new StringCodec(); @Override protected @NotNull String encodeNonNull( String pValue ) { return IntegerCodec.NonNegativePrimitive.INSTANCE.encode( pValue.length() ) + pValue; } @Override protected @NotNull String decodeNonNull( CharSource pCharSource ) { int zLength = IntegerCodec.NonNegativePrimitive.INSTANCE.decode( pCharSource ); if ( zLength == 0 ) { return ""; } StringBuilder zSB = new StringBuilder( zLength ); while ( zLength-- > 0 ) { zSB.append( pCharSource.getRequired() ); } return zSB.toString(); } } |
Commits for litesoft/trunk/Java/core/Anywhere/src/org/litesoft/codec/StringCodec.java
Revision | Author | Commited | Message |
---|---|---|---|
767 Diff | GeorgeS | Sat 14 Jul, 2012 18:19:39 +0000 | |
766 Diff | GeorgeS | Sat 14 Jul, 2012 16:38:04 +0000 | ! |
490 Diff | GeorgeS | Fri 09 Sep, 2011 18:11:40 +0000 | Encoding |
50 Diff | GeorgeS | Tue 13 Apr, 2010 11:51:38 +0000 | |
49 Diff | GeorgeS | Mon 12 Apr, 2010 02:59:10 +0000 | License Text |
2 | GeorgeS | Sun 07 Feb, 2010 12:50:58 +0000 |