import java.util.ArrayList; public class Main { public static void main(String[] args) { Market superMarket = new Market(10); } class Market {    private ArrayList fruits = new ArrayList<>();    private int fruitsNumber;    public Market(int fruitsNumber) {    if (fruitsNumber > 0) {    this.fruitsNumber = fruitsNumber;    } else {    throw new IllegalArgumentException("This argument is not valid");    }    }    private synchronized boolean isFull() {

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Draw the UML diagram for the classes and its relationships for this code:

import java.util.ArrayList;
public class Main {

public static void main(String[] args) {
Market superMarket = new Market(10);
}
class Market {
   private ArrayList<String> fruits = new ArrayList<>();
   private int fruitsNumber;
  
public Market(int fruitsNumber) {
   if (fruitsNumber > 0) {
   this.fruitsNumber = fruitsNumber;
   }
else {
   throw new IllegalArgumentException("This argument is not valid");
   }
   }

   private synchronized boolean isFull() {
      
return fruits.size() == this.fruitsNumber;
   }

   private synchronized boolean isEmpty() {
       return fruits.isEmpty();
   }

   public synchronized void farmer(String fruit) {
   if (isFull()) {
   System.out.println("We can not accept more fruites at the moment !!");
   try {
   wait();
   }
catch (InterruptedException e) {
   System.out.println("Interruption");
   }
   }
   fruits.add(fruit);
   System.out.printf("fruit : %s is added !!!%n", fruit);
   }

   public synchronized String consumer() {

   if (isEmpty()) {
   System.out.println("we don't have any goods yet");
   try {
   wait();
   }
catch (InterruptedException e) {
   System.out.println("interruption occure !!!");
   }
   }
      
   String currentFruitRecusted = fruits.remove(0);
   notifyAll();
   return currentFruitRecusted;
   }

}

Expert Solution
steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Array
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education