Java application for storing data (design patterns).