/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package cz.vutbr.feec.utko.fojtoval.krypto.sifry;

import cz.vutbr.feec.utko.fojtoval.krypto.funkce.Constant;

/**
 * Substituce pomoci nahodne vygenerovane abecedy.
 * @author fojtoval
 */
public class NahodnaAbeceda extends Substituce {

    private char[] abeceda = null;

    /**
     * Sifrovani nahodnou abecedou.
     * @param zdroj otevreny text
     * @return zasifrovany text
     */
    @Override
    public String sifruj(String zdroj) {
        this.abeceda = Utils.nahodnaAbeceda (Constant.abcd);
	return Utils.zmenaTextuSubs (zdroj, this.abeceda, true);

    }


    /**
     * V teto sifre se nenastavuji zadne parametry, metoda se nepouziva.
     * @param parametr
     */
    @Override
    public void setParametr(Object parametr) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
        
    /**
     * Desifrovani nahodne abecedy se v teto tride neresi (resi trida SubstituceZadaniAbecedy).
     * @param zdroj
     * @return
     */
    @Override
    public String lusti(String zdroj) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    /**
     * Prevod sifrovaci abecedy na String.
     * @return nova abeceda
     */
    @Override
    public String abecedaSifToString() {
        return String.valueOf (this.abeceda);
    }

    /**
     * V teto tride neni reseno (resi trida SubstituceZadaniAbecedy).
     * @return
     */
    @Override
    public String abecedaLusToString() {
        throw new UnsupportedOperationException("Not supported yet.");
    }
   
}
