net.ranides.assira.config
Class ConfigService

java.lang.Object
  extended by net.ranides.assira.config.ConfigService

public final class ConfigService
extends Object

Klasa zarządzająca cyklem wyszukiwania, ładowania i dostępem do poszczególnych konfiguracji. Dzięki menagerowi nie musimy w aplikacji tworzyć globalnie dostępnych instancji - każdy moduł może zażądać udostępnienia odpowiedniej konfiguracji na podstawie typu oraz abstrakcyjnej nazwy.

Klasa zarządza również zarejestrowanymi fabrykami, obsługującymi różne formaty konfiguracyjne.

Author:
ranides

Method Summary
static Configuration getInstance(String path)
           Zwraca konfigurację o podanej nazwie oraz typie.
static ConfigProvider getProvider(String name)
          Zwraca fabrykę o określonej nazwie.
static void register(ConfigProvider provider)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static Configuration getInstance(String path)

Zwraca konfigurację o podanej nazwie oraz typie. Zwrócona konfiguracja jest załadowana. Jeśli wskazana konfiguracja została już załadowana do pamięci wcześnej, operacja nie jest powtarzana. Metoda może być wywoływana wielokrotnie bez negatywnego wpływu na wydajność.

Uwaga! Wielokrotne wywołanie metody gwarantuje, że zwróci poprzednią instancję tak długo, jak gdziekolwiek w programie będzie istnieć referencja do niej. Z tego względu każda niezależna część aplikacji, która chce mieć gwarancję, że wprowadzane przez nią zmiany będą globalnie widoczne, musi przechowywać referencję do wyniku. Innymi słowy, z Configuration należy postępować identycznie jak z Logger.

Parameters:
path - "provider:path" co najczęściej przekłada się na "provider:protocol:location"
Returns:

getProvider

public static ConfigProvider getProvider(String name)
Zwraca fabrykę o określonej nazwie. Wyniki zwracane przez metodę są buforowane, ale nie jest gwarantowane, że wywołanie metody z tą samą nazwą zwraci te same obiekty. Jeśli aplikacja musi cały czas pracować z tym samym providerem, to musi samodzielnie przechowywać referencję do wyniku uzyskanego po pierwszym wywołaniu.

Parameters:
name -
Returns:

register

public static void register(ConfigProvider provider)
Parameters:
provider -


Copyright © 2013. All Rights Reserved.