design-patterns/behavioral/memento/concrete_memento.py
Ruidy bf1d5dd7f0
Memento (#19)
* doc: add documentation

* doc: update general documentation

* add code example
2020-10-03 20:45:32 +02:00

25 lines
631 B
Python

from datetime import datetime
from behavioral.memento.memento import Memento
class ConcreteMemento(Memento):
def __init__(self, state: str) -> None:
self._state = state
self._date = str(datetime.now())[:19]
def get_state(self) -> str:
"""
The Originator uses this method when restoring its state.
"""
return self._state
def get_name(self) -> str:
"""
The rest of the methods are used by the Caretaker to display metadata.
"""
return f"{self._date} / ({self._state[0:9]}...)"
def get_date(self) -> str:
return self._date