BIG JAVA: LATE OBJECTS
BIG JAVA: LATE OBJECTS
2nd Edition
ISBN: 9781119626220
Author: Horstmann
Publisher: WILEY
Question
Book Icon
Chapter 24, Problem 12PP
Program Plan Intro

  To design an XML format for the appointments in an appointment calendar

Program plan:

  • In the file AppointmentDate.java”, import necessary package, and create a class AppointmentDate”,
    • Declare necessary variables.
    • Define the constructor.
    • Define the method “equals()” to determine if the dates are equal.
    • Define the method “toString()” to print a string representation of the date.
  • In the file AppointmentTime.java”, import necessary package, and create a class AppointmentTime”,
    • Declare necessary variables.
    • Define the constructor.
    • Define the method “hashCode()” to get the hash code..
    • Define the method “equals()” to determine if the appointment times are equal.
    • Define the method “toString()” to print a string representation of the time.
  • In the file AppointmentCalendar.java”, import necessary package, and create a class AppointmentCalendar”,
    • Declare an array list.
    • Define the constructor.
    • Define the method “add()” to add an appointment to the calendar.
    • Define the method “cancel()” to cancel an appointment from the calendar.
    • Define the method “getAppointmentsForDay()” to get all appointments for a certain date.
    • Define the method “getAllAppointments()” to get all appointments.
  • In the file Appointment.java”, import necessary package, and create a class Appointment”,
    • Declare necessary variables.
    • Define the constructor.
    • Define the method “equals()” to determine if the appointment is the same as another appointment.
    • Define the method “hashCode()” to get the hash code.
    • Define the method “fallsOn()” to determine if an appointment falls on a certain day.
    • Define the method “format()” to format the appointment.
    • Define the method “getDescription()” to get the description.
    • Define the method “getDay()” of type “AppointmentDate” to get the day.
    • Define the method “getFrom()” of type “AppointmentTime” to get the "from" time.
    • Define the method “getTo()” of type “AppointmentTime” to get the "to" time.
  • In the file AppointmentParser.java”, import necessary packages, and create a class AppointmentParser”,
    • Declare necessary variables.
    • Define the constructor.
    • Define the method “parseCalendar()” to parse an “AppointmentCalendar” from the given file.
    • Define the method “parseCommands()” to write an AppointmentCalendar to the given file.
  • In the file AppointmentSystem.java”, import necessary packages, and create a class AppointmentSystem”,
    • Define the method “main()”,
      • If the arguments length is less than “2”.
        • Print the message.
      • Create required file objects.
      • Execute “try” statement.
        • Create an object for “AppointmentParser”.
        • Parse calendar from file.
        • Call the method to parse and run commands from file.
        • Call the method to write the calendar.
      • Catch and handle “XPathExpressionException” exception.
      • Catch and handle “ParserConfigurationException” exception.
      • Catch and handle “TransformerConfigurationException” exception.
      • Catch and handle “TransformerException” exception.
      • Catch and handle “SAXException” exception.
      • Catch and handle “IOException” exception.

Blurred answer
Students have asked these similar questions
Pastner Brands is a calendar-year firm with operations in several countries. As part of its executive compensation plan, at January 1, 2024, the company issued 480,000 executive stock options permitting executives to buy 480,000 shares of Pastner stock for $38 per share. One-fourth of the options vest in each of the next four years beginning at December 31, 2024 (graded vesting). Pastner elects to separate the total award into four groups (or tranches) according to the year in which they vest and measures the compensation cost for each vesting date as a separate award. The fair value of each tranche is estimated at January 1, 2024, as follows: Vesting Date Amount Fair Value Vesting per Option: December 31, 2024 25% $ 3.90 December 31, 2025 25% $ 4.40 25% $ 4.90 25% $ 5.40 December 31, 2026 December 31, 2027 Required: 1. Determine the compensation expense related to the options to be recorded each year 2024-2027, assuming Pastner allocates the compensation cost for each of the four…
What is one benefit with regards to time complexity of using a Doubly Linked List as opposed to an Array when implementing a Deque?
What is one benefit with regards to space complexity of using a Doubly Linked List as opposed to an Array when implementing a Deque?
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education