Logo Search packages:      
Sourcecode: zemberek version File versions  Download package

ZemberekAyarlari.java

/*
 * Lisans bilgisi icin lutfen proje ana dizinindeki zemberek2-lisans.txt dosyasini okuyunuz.
 */

package net.zemberek.bilgi;

import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.util.Properties;
import java.util.logging.Logger;

import net.zemberek.araclar.Kayitci;

/**
 * User: ahmet
 * Date: Feb 17, 2006
 */
00019 public final class ZemberekAyarlari {

    private static Logger logger = Kayitci.kayitciUret(ZemberekAyarlari.class);

    private Properties konfigurasyon;
    private boolean oneriDeasciifierKullan = true;
    private int oneriMax = 12;
    private boolean oneriKokFrekansKullan = true;
    private boolean disKaynakErisimi = false;
    private boolean oneriBilesikKelimeKullan = true;
    private boolean cepKullan = true;

    private URI bilgiEk;
    private URI bilgiKokler;
    private URI bilgiAlfabe;
    private URI bilgiDizini;
    private URI bilgiCep;


    /**
     * classpath kokunden zemberek_'locale_str'.properties dosyasina erismeye calisir.
     * Bu dosyanin normalde projede yer almis olmasi gerekir. Eger bulunamazsa sistem
     * varsayilan degerleri kullanir.
     *
     * @param dilKisaAdi kisa ad (tr,az vs)
     */
00045     public ZemberekAyarlari(String dilKisaAdi) {
        try {
            konfigurasyon = new KaynakYukleyici().konfigurasyonYukle("zemberek_" + dilKisaAdi + ".properties");
        } catch (IOException e) {
            logger.warning("Konfigurasyon dosyasina erisilemiyor! varsayilan degerler kullanilacak");
        }
        konfigurasyonOku(konfigurasyon);
    }


    /**
     * Isaret edilen Properties dosyasindan verilere erisilmesye calisilir.
     *
     * @param ayarlar
     */
00060     public ZemberekAyarlari(Properties ayarlar) {
        this.konfigurasyon = ayarlar;
        konfigurasyonOku(ayarlar);
    }

    private void konfigurasyonOku(Properties ayarlar) {
        try {
            oneriDeasciifierKullan = boolOku(ayarlar, "oneri.deasciifierKullan");
            oneriKokFrekansKullan = boolOku(ayarlar, "oneri.kokFrekansKullan");
            oneriBilesikKelimeKullan = boolOku(ayarlar, "oneri.bilesikKelimeKullan");
            oneriMax = Integer.parseInt(ayarlar.getProperty("oneri.max"));
            disKaynakErisimi = boolOku(ayarlar, "bilgi.disKaynakErisimi");
            cepKullan = boolOku(ayarlar, "denetleme.cepKullan");
            if (disKaynakErisimi) {
                File dizin = new File(ayarlar.getProperty("bilgi.dizin"));
                bilgiDizini = dizin.toURI();
                bilgiEk = new File(dizin, ayarlar.getProperty("bilgi.ekler")).toURI();
                bilgiKokler = new File(dizin, ayarlar.getProperty("bilgi.kokler")).toURI();
                bilgiAlfabe = new File(dizin, ayarlar.getProperty("bilgi.harf")).toURI();
                bilgiCep = new File(dizin, ayarlar.getProperty("bilgi.harf")).toURI();
            }
        } catch (NumberFormatException e) {
            logger.severe("property erisim hatasi! Muhtemel tip donusum problemi.. varsayilan parametreler kullanilacak ");
        } catch (Exception e) {
            logger.severe("property erisim hatasi! property yer almiyor, ya da adi yanlis yazilmis olabilir. varsayilan konfigurasyon kullanilacak.");
        }
    }

    private boolean boolOku(Properties ayarlar, String anahtar) {
        return Boolean.parseBoolean(ayarlar.getProperty(anahtar));
    }

    public Properties getKonfigurasyon() {
        return konfigurasyon;
    }

    public boolean oneriDeasciifierKullan() {
        return oneriDeasciifierKullan;
    }

    public boolean oneriBilesikKelimeKullan() {
        return oneriBilesikKelimeKullan;
    }

    public int getOneriMax() {
        return oneriMax;
    }

    public boolean oneriKokFrekansKullan() {
        return oneriKokFrekansKullan;
    }

    public URI getBilgiEk() {
        return bilgiEk;
    }

    public URI getBilgiKokler() {
        return bilgiKokler;
    }

    public URI getBilgiDizini() {
        return bilgiDizini;
    }

    public URI getBilgiAlfabe() {
        return bilgiAlfabe;
    }

    public URI getBilgiCep() {
        return bilgiCep;
    }

    public boolean disKaynakErisimi() {
        return disKaynakErisimi;
    }

    public boolean cepKullan() {
        return cepKullan;
    }

}

Generated by  Doxygen 1.6.0   Back to index