caretaker.java

来自「《JAVA与模式》附书中源代码」· Java 代码 · 共 42 行

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

import java.util.Vector;

public class Caretaker
{
	private Originator o;
	private Vector mementos = new Vector();
	private int current;

    /**
     * @link aggregation
     * @directed
     * @label wide 
     */
    private Memento lnkMemento;
	
	public Caretaker(Originator o)
	{ 
		this.o = o;
		current = 0;
	}
	
	public int createMemento()
	{ 
		Memento memento = o.createMemento();
		mementos.addElement(memento);
		return current++;
	}
	
	public void restoreMemento(int index)
	{ 
		Memento memento = (Memento) mementos.elementAt(index);
		o.restoreMemento(memento);
	}
	
	public void removeMemento(int index)
	{ 
		mementos.removeElementAt(index);
	}
}

⌨️ 快捷键说明

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