init
This commit is contained in:
33
Enigma/EnigmaComponent.java
Normal file
33
Enigma/EnigmaComponent.java
Normal file
@@ -0,0 +1,33 @@
|
||||
/**
|
||||
* Interface EnigmaComponent unifies rotors, patchboard and reflector
|
||||
* of an enigma.
|
||||
*/
|
||||
interface EnigmaComponent {
|
||||
|
||||
/**
|
||||
* Applies the substitution chiffre of this enigma component in the current
|
||||
* state to symbol.
|
||||
*
|
||||
* @param symbol The symbol to encode with the substitution chiffre of this
|
||||
* enigma component in its current state.
|
||||
* @return The symbol which is the encoded symbol of the parameter symbol.
|
||||
*/
|
||||
int encode(int symbol);
|
||||
|
||||
/**
|
||||
* Applies the inverse substitution chiffre of this enigma component in the
|
||||
* current state to letter.
|
||||
*
|
||||
* @param symbol The symbol to decode with the (inverse) substitution
|
||||
* chiffre of this enigma component in its current state.
|
||||
* @return The symbol which is the decoded symbol of the parameter symbol.
|
||||
*/
|
||||
int decode(int symbol);
|
||||
|
||||
/**
|
||||
* In case this component can do ticks, this component performs its next
|
||||
* tick. In case this triggers ticks of subsequent components, their ticks
|
||||
* are also triggered.
|
||||
*/
|
||||
void tick();
|
||||
}
|
||||
Reference in New Issue
Block a user