Gestione degli oggetti in modalità IRC

0

Attualmente sto lavorando su un server IRC in Java. Esiste un certo numero di "modalità" predefinite (ovvero flag) definite nel protocollo IRC. Queste modalità possono essere applicate a un utente o a un canale sul server. Mi chiedo da un punto di vista del design quale sia il metodo migliore per creare un'istanza e fornire l'accesso a queste modalità predefinite.

Allo stato attuale ho un oggetto ModeSet, in cui definisco semplicemente un numero di oggetti in modalità statica.

per es.

class ModeSet {

    public static final ChannelMode MODERATED = 
        new ChannelMode("m", "MODERATED", false, StandardChannelModeStrategy.class)
    ;

    public static final ChannelMode SECRET = 
        new ChannelMode("s", "SECRET", false, StandardChannelModeStrategy.class)
    ;

    // for easier lookup
    public final static HashMap<String, ChannelMode> chanModes = 
        new HashMap<String, ChannelMode>()
    ;
    static {
        chanModes.put(MODERATED.getFlag(), MODERATED);
        chanModes.put(SECRET.getFlag(), SECRET);
    };
}

Ritengo che questo non sia un modo ideale per fare le cose, ma è comodo da usare per esempio:

if (channel.hasMode(ModeSet.MODERATED)) {
    // channel is moderated
}
    
posta fbailey 23.03.2018 - 03:22
fonte

0 risposte

Leggi altre domande sui tag