package com.example.pocketknife; import android.content.Intent; import android.os.Bundle; import pocketknife.PocketKnifeBundleSerializer; import pocketknife.PocketKnifeIntentSerializer; public class FooSerializer implements PocketKnifeBundleSerializer<Foo>, PocketKnifeIntentSerializer<Foo> { private static final String BAR = ".BAR"; private static final String BAZ = ".BAZ"; @Override public void put(Bundle bundle, Foo foo, String keyPrefix) { bundle.putString(keyPrefix + BAR, foo.getBar()); bundle.putInt(keyPrefix + BAZ, foo.getBaz()); } @Override public Foo get(Bundle bundle, Foo foo, String keyPrefix) { foo.setBar(bundle.getString(keyPrefix + BAR)); foo.setBaz(bundle.getInt(keyPrefix + BAZ)); return foo; } @Override public void put(Intent intent, Foo foo, String keyPrefix) { intent.putExtra(keyPrefix + BAR, foo.getBar()); intent.putExtra(keyPrefix + BAZ, foo.getBaz()); } @Override public Foo get(Intent intent, Foo foo, String keyPrefix) { foo.setBar(intent.getStringExtra(keyPrefix + BAR)); foo.setBaz(intent.getIntExtra(keyPrefix + BAZ, 0)); return foo; } }