- 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