Skip to content
- Allow JAR File support. 
    - Fixing a bug where a JAR file cannot be built from the project. Code cleaning is needed in ClassFinder.java.
    - Fixed a bug where the method 'printInformation()' is not added when the cipher's constructor is missing. When 'informationList' is set but 'information' is not set, the method was excluded.
    - Add Jar support for information text files.
- Add Cipher: Rot13
- Add Logger. For each class: If you want to log, use `Cipherlogger.LOGGER.log() or any other calling method form java.util.logging`
- Fixed a bug where the method 'printInformation()' is not added when the cipher's constructor is missing. When 'informationList' is set but 'information' is not set, the method was excluded.
- Public methods in Ciphers.Ciphers.java that are only meant to be invoked by the menu and not called by a specific cipher (e.g. startCryption() and setInformationFile()) are now only accessible by invoking. That way, if one of these methods is accidentally called, the program handles this issue. If, from a specific cipher, the method is for some reason invoked, this will still give an error. But this implementation is to handle accidental method calling.
- Move Shift method from Caesar to Subclass for future Rot13 implementation

- Small changes:
    - Add issue page references to README.md to encourage ticket creation.
    - Add cipher information for Caesar and Rot13
    - Rename Cipher interface method 'addInfoToOutputFile()' to 'writeAdditionalInfo()'
    - Add .gitignore
    - Update issue templates
    - Update readme to add Setup (Instructions)
    - Add Run.bat for releases

Ciphers:
- Add header of 20 to encapsulate 'printInformation()' when having multiple lines.
- Reworking Cipher.java to diminish public methods (so that these methods cannot be called from a specific cipher. Some methods are meant to only be run by the main code (menu.java)).
- Add custom exception to prevent public Ciphers.Ciphers.java classes to be called by specific ciphers. It may only be invoked by other classes like menu.java or write.java

Caesar:
 - Fix a bug where the input is changed after shifting. Java is not entirely pass by value after all.
 - Add writing shift to output file.
 - Reworked code a bit.
 
ClassFinder:
 - Jar file of the project can now successfully be built.

Write:
 - Prepend filename to output.txt

WriteHelpers:
- Add writeInteger to write a number to the output file

Menu:
- Allow ciphers to have classes that will not be added to the menu, like a nested exception class.
- Add log.
- Add JavaDoc