mardi 18 septembre 2018

Best way to avoid multiple parallel if else loop in java 8

What is the best way to avoid multiple parallel if-else loop. I tried with switch statement as well, but again that doesn't look readable. I have hundreds of such statements:

public static Map getKqvSecureNodeResponse(Sample secureNodeData, Map<String, Object> map) {
    if(map.containsKey(Constants.NAME_KQV)) {
        map.put(Constants.NAME_KQV, secureNodeData.getNodename());
    }
    if(map.containsKey(Constants.SPOV)) {
        map.put(Constants.SPOV, secureNodeData.getOverride());
    }
    if(map.containsKey(Constants.SPEP)) {
        map.put(Constants.SPEP, secureNodeData.getEnabledProtocol());
    }
    if(map.containsKey(Constants.SPTO)) {
        map.put(Constants.SPTO, secureNodeData.getAuthTimeout());
    }
    if(map.containsKey(Constants.TLCN)) {
        map.put(Constants.TLCN, secureNodeData.getCommonName());
    }
    if(map.containsKey(Constants.SEDT)) {
        map.put(Constants.SEDT, secureNodeData.getEncryptData());
    }
    if(map.containsKey(Constants.TLCF)) {
        map.put(Constants.TLCF, secureNodeData.getKeyCertLabel());
    }
    if(map.containsKey(Constants.TLCL)) {
        map.put(Constants.TLCL, secureNodeData.getCipherSuites());
    }
    return map;
}

Please note that I have to invoke different getter of secureNodeData for every check.

Aucun commentaire:

Enregistrer un commentaire