Task
Your task is to write a simple program that converts between APP and PPM values. The screenshots below demonstrate the expected functionality:
Your program should be able to maintain fidelity between images. That is, when you convert blocks.ppm to blocks.app and then reconvert blocks.app to blocks_new.ppm, both blocks.ppm and blocks_new.ppm should represent the exact same image. I've included both sample PPM and APP images for you to play around with.
UML Diagram
This lab contains only one class, called Point:
We use Point to represent a single point in our APP file. As such, toString() should correspond to a given line in the APP file, the generic form being ",,,,,". Likewise, we'll use the static method fromString() to convert from the same format into a Point. In doing so, we're essentially implementing a simple factory directly in our class. Doing this isn't always the best practice, but it works well for our purposes.