This is a java project i am working on i am half way but what is asking me to implement the methods, adding an element to the array, and i don't know ho to communicate between classes Can someone help me i am a bit desperate here

This project is a miniature version of an online store. A user will have the option to get
information about a food market and a bookstore. In this exercise, use the code in the
package called scope. Here is a class diagram showing the relationships between the
classes in this package.
The code for most of these classes has already been provided for you. The main method
for this cluster of classes lies in Driver. When Driver starts up, it asks the user to input
a 3-digit user ID in the console. After doing this, the user sees a set of options. The user
types one of the letters A – H or N (to exit) to obtain the requested result. The user may
continue after seeing an output result by typing ‘Y’.
The Driver class is responsible for fulfilling user requests, and to accomplish its aim, it
wants to access information stored in the Market and Bookstore classes. But Driver
lives in a different package from these classes and so does not have access to them (in
effect, Driver doesn’t know that these classes exist). The StoreDirectory class has
been designed to provide public access to the data stored in these other classes.
Therefore, Driver must fulfill requests by invoking the public methods available in
StoreDirectory.
This exercise asks you to understand the relationship between

  1. StoreDirectory and Market/Bookstore
  2. Driver and StoreDirectory
  3. BookStore and Book/Employee
    A crude form of access control has been introduced in this code. Only when the 3-digit
    ID that you enter at the beginning is on a “good list” are you able to gain access to the
    data that you request.
    Here is what you need to do for this project:
    In the BookStore class, implement the methods
    getNumBooks()
    getNumEmployees()
    addNewBook(String)
    addNewEmployee(String)
    bookIsInStock(String)
    These methods require you to work with a Book or Employee array in the BookStore
    class. For example: addNewBook method adds a new book to the end of the Book array.
    Note: If the book array gets full, we simply do not allow adding more books. In other
    words, we are not going to worry about resizing array in this project. You can add an
    exception handling strategy for more adds when the array is full.
    In the StoreDirectory class, implement the methods
    getNumberOfBooks()
    getNumberOfBookstoreEmployees()
    addNewEmployee(String)
    bookIsInStock(String)
    addNewBook(String)
    marketCarriesFoodItem(String)
    The last method requires you to work with the Market class and others require you to
    work with BookStore class.
    In the Driver class, the following methods have been only partially implemented:
    displayNumberOfBooks()
    displayNumberOfEmployees()
    addEmployee(String)
    addBook(String)
    checkIfBookIsInStock(String)
    checkWhetherFoodItemInMarket(String)
    Values that are used in these partial implementations are “fake” – the real values are
    stored or computed by accessing the StoreDirectory class. To see how to access
    StoreDirectory, use the implementation of
    displayNumberOfBooks()
    in Driver as a guideline.