mirror of
https://github.com/rjNemo/design-patterns
synced 2026-06-06 02:26:40 +00:00
25 lines
631 B
Python
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
|