package com.github.code4craft.helloworld.behavioral.memento; import com.github.code4craft.helloworld.HelloWorld; /** * @author yihua.huang@dianping.com */ public class HelloWorldMementoOriginator implements HelloWorld{ private String state; public HelloWorldMementoOriginator set(String state) { this.state = state; return this; } public Memento saveToMemento() { return new Memento(state); } public void restoreFromMemento(Memento memento) { state = memento.getSavedState(); } @Override public String helloWorld() { return state; } public static class Memento { private final String state; public Memento(String stateToSave) { state = stateToSave; } public String getSavedState() { return state; } } }