Modification système de ProtocolReader.java qui permet de lire/ecrire un fichier sur le réseau.
This commit is contained in:
parent
f0461537f6
commit
a1b3463d3b
@ -1,5 +1,7 @@
|
||||
package lightcontainer.protocol;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.BufferedWriter;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@ -17,12 +19,41 @@ public abstract class ProtocolReader {
|
||||
STOREBACKEND
|
||||
}
|
||||
|
||||
public enum FileOptions {
|
||||
|
||||
/**
|
||||
* Ne lire/ecrire aucun fichier
|
||||
*/
|
||||
NONE,
|
||||
|
||||
/**
|
||||
* Lire un fichier : Implementer la méthode 'read'
|
||||
*/
|
||||
READ,
|
||||
|
||||
/**
|
||||
* Ecrire un fichier : Implementer la méthode 'write'
|
||||
*/
|
||||
WRITE
|
||||
}
|
||||
|
||||
/**
|
||||
* Modèle utilisé par tout les résultats des règles de protocol.
|
||||
* Lorsqu'il retourne son résultat, on vérifie si il y a une demande de lecture/écriture de fichier depuis le réseau. Si oui on appel ces méthodes, sinon on ne fait rien.
|
||||
* Ensuite on regarde après l'exécution de ces méthode ou non si il y a une commande de retour ou non et l'envoyons au receiver spécifié par la commande.
|
||||
*/
|
||||
public abstract class ProtocolResult {
|
||||
|
||||
/**
|
||||
* Permet de déterminer si la class souhaite lire ou écrire un fichier.
|
||||
*/
|
||||
private final FileOptions option;
|
||||
|
||||
/**
|
||||
* Command qui sera renvoyée par exemple au client
|
||||
*/
|
||||
private String resultCommand;
|
||||
|
||||
/**
|
||||
* Désigne vers ou cette commande est envoyée.
|
||||
* ResultCmdReceiver.CLIENT : Signifie que cette commande va être directement revoyée au client.
|
||||
@ -31,18 +62,60 @@ public abstract class ProtocolReader {
|
||||
private ResultCmdReceiver receiver;
|
||||
|
||||
|
||||
/**
|
||||
* Spécifier une option correct afin de permettre au système de détecter ce qu'il doit exécuter.
|
||||
* @param option Option
|
||||
*/
|
||||
public ProtocolResult(FileOptions option) {
|
||||
this.option = option;
|
||||
}
|
||||
|
||||
|
||||
public ResultCmdReceiver getReceiver() {
|
||||
return receiver;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Récupérer la commande à envoyer
|
||||
* @return
|
||||
*/
|
||||
public String getResultCommand() {
|
||||
return resultCommand;
|
||||
}
|
||||
|
||||
/**
|
||||
* Mettre la commande à envoyer
|
||||
* @param resultCommand Commande à envoyer
|
||||
* @param receiver Le receveur de cette commande
|
||||
*/
|
||||
public void setResultCommand(String resultCommand, ResultCmdReceiver receiver) {
|
||||
this.resultCommand = resultCommand;
|
||||
this.receiver = receiver;
|
||||
}
|
||||
|
||||
/**
|
||||
* Permet de récupérer l'option associée au protocol.
|
||||
* @return L'option associée
|
||||
*/
|
||||
public FileOptions getOption() {
|
||||
return option;
|
||||
}
|
||||
|
||||
/**
|
||||
* Permet de lire un fichier. Cad reçevoir le contenu d'un fichier provenant du réseau.
|
||||
* Redéfinissez cette méthode pour l'utiliser
|
||||
* @param reader Buffer rempli du fichier
|
||||
*/
|
||||
public void read(BufferedReader reader) {}
|
||||
|
||||
|
||||
/**
|
||||
* Permet d'écrire un fichier. Cad reçevoir le contenu d'un fichier provenant du réseau
|
||||
* @param writer Buffer à remplir, et qui sera envoyer au destinataire
|
||||
*/
|
||||
public void write(BufferedWriter writer) {}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2,6 +2,7 @@ package lightcontainer.protocol.rules.reader;
|
||||
|
||||
import lightcontainer.protocol.ProtocolReader;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@ -26,6 +27,7 @@ public class HelloRule extends ProtocolReader {
|
||||
private final int port;
|
||||
|
||||
public Result(String domain, int port) {
|
||||
super(FileOptions.NONE);
|
||||
this.domain = domain;
|
||||
this.port = port;
|
||||
}
|
||||
@ -37,6 +39,8 @@ public class HelloRule extends ProtocolReader {
|
||||
public int getPort() {
|
||||
return port;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -24,7 +24,7 @@ public class SigninRule extends ProtocolReader {
|
||||
private final String password;
|
||||
|
||||
public Result(String login, String password) {
|
||||
|
||||
super(FileOptions.NONE);
|
||||
this.login = login;
|
||||
this.password = password;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user