originator.java

来自「《Java与模式》一书的源代码」· Java 代码 · 共 43 行

JAVA
43
字号
package com.javapatterns.memento.whiteboxcheckpoints;

import java.util.Enumeration;
import java.util.Vector;

public class Originator
{
    private Vector states;
    private int index;

    public Originator()
    {
        states = new Vector();
        index = 0;
    }

    public Memento createMemento()
    {
        return new Memento(states, index);
    }

    public void restoreMemento(Memento memento)
    {
        states = memento.getStates();
        index = memento.getIndex();
    }

    public void setState(String state)
    {
        this.states.addElement(state);
        index++;
    }

    public void printStates()
    {
        System.out.println("Total number of states : " + index);
        for (Enumeration e = states.elements(); e.hasMoreElements(); )
        {
            System.out.println(e.nextElement());
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?