Big Java Late Objects
Big Java Late Objects
2nd Edition
ISBN: 9781119330455
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
Knowledge Booster
Background pattern image
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