-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCommandWords.java
More file actions
executable file
·68 lines (60 loc) · 1.51 KB
/
CommandWords.java
File metadata and controls
executable file
·68 lines (60 loc) · 1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import java.util.HashMap;
/**
* classe gerant les mots-commande
* @author Clément Chomicki
*/
public class CommandWords
{
private HashMap<String, CommandWord> aValidCommands;
/**
* Constructeur par defaut
*/
public CommandWords()
{
this.aValidCommands = new HashMap<String, CommandWord>();
for(CommandWord vCmd : CommandWord.values())
{
if(vCmd != CommandWord.UNKNOWN)
{
for (Language vLang : Language.values())
{
this.aValidCommands.put(vCmd.toString(vLang), vCmd);
}
}
}
}
/**
* Verifie si une String donnee fait partie des commandes valides.
* @param pString la String a tester
* @return true si pString est une comande valide, false sinon
*/
public boolean isCommand( final String pString )
{
return aValidCommands.containsKey(pString);
}
/**
* Methode construisant et retournant les commandes autorisees dans une String.
* @return Une string listant les commandes autorisees.
*/
public String makeCommandList ()
{
String vS = "";
for (String vCmd : aValidCommands.keySet())
{
vS += vCmd + " ";
}
return vS;
}
/**
* Donne le mot-commande correspondant a une String
* @param pWord String correspondant a un mot-commande
* @return le mot-commande correspondant
*/
public CommandWord getCommand(final String pWord)
{
if ( this.isCommand(pWord) )
return this.aValidCommands.get(pWord);
else
return CommandWord.UNKNOWN;
}
}