originator.java

来自「java与模式 一书的源码」· Java 代码 · 共 47 行

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

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

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

    /** @link dependency 
     * @label wide*/
    /*#Memento lnkMemento;*/
	
	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 + -
显示快捷键?