litesoft
@ 947
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 37 38 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.codec; import org.litesoft.commonfoundation.charstreams.*; import org.litesoft.commonfoundation.annotations.*; import org.litesoft.commonfoundation.typeutils.*; import org.litesoft.mementobeansupport.*; /** * Convert Mementoable value to/from a self-terminating string representation */ public class MemoableTypedTerminatingCodec<T extends Mementoable<T>> extends AbstractTypedTerminatingCodec<T> { private T mDefaultInstance; public MemoableTypedTerminatingCodec( T pDefaultInstance ) { Objects.assertNotNull( "DefaultInstance", mDefaultInstance = pDefaultInstance ); } @Override protected @NotNull void encodeNonNull( CharSink pCharSink, T pValue ) { CharSink zCharSink = new CharSinkToString(); pValue.toMemento( zCharSink ); String zEncodedAsString = zCharSink.toString(); StringTypedTerminatingCodec.INSTANCE.encodeNonNull( pCharSink, zEncodedAsString ); } @Override protected @NotNull T decodeNonNull( CharSource pCharSource ) { String zEncodedAsString = StringTypedTerminatingCodec.INSTANCE.decodeNonNull( pCharSource ); CharSource zCharSource = new CharSourceFromSequence( zEncodedAsString ); return validateConsumed( zEncodedAsString, zCharSource, mDefaultInstance.fromMemento( zCharSource ) ); } } |
Commits for litesoft/trunk/Java/core/Anywhere/src/org/litesoft/codec/MemoableTypedTerminatingCodec.java
Revision | Author | Commited | Message |
---|---|---|---|
947 Diff | GeorgeS | Fri 06 Jun, 2014 23:36:56 +0000 | Correct Spelling of package! |
942 Diff | GeorgeS | Mon 02 Jun, 2014 23:41:46 +0000 | Extracting commonfoundation |
939 Diff | GeorgeS | Mon 02 Jun, 2014 21:30:31 +0000 | Extracting commonfoundation |
834 Diff | GeorgeS | Sun 02 Sep, 2012 14:00:11 +0000 | |
814 Diff | GeorgeS | Sat 18 Aug, 2012 17:52:17 +0000 | |
813 Diff | GeorgeS | Sat 18 Aug, 2012 17:48:21 +0000 | |
804 Diff | GeorgeS | Wed 15 Aug, 2012 12:48:51 +0000 | |
779 Diff | GeorgeS | Mon 16 Jul, 2012 04:34:33 +0000 | |
773 Diff | GeorgeS | Sun 15 Jul, 2012 22:39:12 +0000 | |
772 | GeorgeS | Sun 15 Jul, 2012 16:55:51 +0000 | ! |