net.ranides.assira.config
Class AbstractConfiguration

java.lang.Object
  extended by net.ranides.assira.events.EventRouterDispatcher
      extended by net.ranides.assira.config.AbstractConfiguration
All Implemented Interfaces:
Configuration, EventListener<Event>, EventRouter
Direct Known Subclasses:
JSONConfiguration, XMLConfiguration

public abstract class AbstractConfiguration
extends EventRouterDispatcher
implements Configuration

Author:
ranides

Constructor Summary
AbstractConfiguration(String path)
           Tworzy nową konfigurację powiązaną z zasobem wskazywanym przez ścieżkę.
 
Method Summary
 Map<String,Object> asFlatMap()
          Zwraca spłaszczoną mapę, zawierającą wszystkie ustawienia w postaci: "ścieżka - wartość".
 Map<String,Object> asMap()
           Zwraca mapę, która przechowuje wartości konfiguracyjne.
<T> T
get(Class<T> type, String path)
           
<T> T
get(Class<T> type, String path, T ddefault)
           
 Object get(String path)
          Pobiera wartość zapisaną we wskazanej lokalizacji
 Object get(String path, Object ddefault)
          Pobiera wartość zapisaną we wskazanej lokalizacji
<T> List<T>
getList(Class<T> type, String path)
           
 List<?> getList(String path)
          Pobiera listę wartości zapisanych we wskazanej lokalizacji
 String path()
          Abstrakcyjna ścieżka do załadowanej konfiguracji
<T> void
put(Class<T> type, String path, Object value)
           
 void put(String path, Object value)
          Zmienia wartość pod wskazaną lokalizacją
<T> void
putList(Class<T> type, String path, List<?> value)
           
 void putList(String path, List<?> value)
          Umieszcza listę wartości pod wskazaną lokalizacją
 
Methods inherited from class net.ranides.assira.events.EventRouterDispatcher
addEventListener, dispose, getEventListeners, handleEvent, removeAllEventListeners, removeEventListener, signalEvent
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.ranides.assira.config.Configuration
load, save
 
Methods inherited from interface net.ranides.assira.events.EventRouter
addEventListener, dispose, getEventListeners, removeAllEventListeners, removeEventListener, signalEvent
 
Methods inherited from interface net.ranides.assira.events.EventListener
handleEvent
 

Constructor Detail

AbstractConfiguration

public AbstractConfiguration(String path)

Tworzy nową konfigurację powiązaną z zasobem wskazywanym przez ścieżkę. Konfiguracja może być ładowana i zapisywana z/do plików lokalnych. Może też być ładowana w trybie tylko-do-odczytu z zewnętrznego źródła określonego za pomocą URL.

   "/user/home/config.json"
   "file:/user/home/config.json"
   "file:d:/app/config.json"
   "url:http://example.com/config.json"
 

Parameters:
path -
Method Detail

path

public String path()
Description copied from interface: Configuration
Abstrakcyjna ścieżka do załadowanej konfiguracji

Specified by:
path in interface Configuration
Returns:

asMap

public Map<String,Object> asMap()
Description copied from interface: Configuration

Zwraca mapę, która przechowuje wartości konfiguracyjne. Format mapy nie jest określony - w szczególności obiekty zagnieżdżone mogą być reprezentowane jako zagnieżdżone mapy, albo być spłaszczone. 1-elementowe listy obiektów mogą być kolekacji albo po prostu elementami bezpośrednio wstawionymi do mapy. Modyfikacja mapy jest niezdefiniowana: może wpływać na konfigurację, ale nie musi.

Z powyższych powodów metoda zalecana tylko podczas pracy z konkretną implementacją.

Specified by:
asMap in interface Configuration
Returns:

asFlatMap

public Map<String,Object> asFlatMap()
Description copied from interface: Configuration
Zwraca spłaszczoną mapę, zawierającą wszystkie ustawienia w postaci: "ścieżka - wartość". Modyfikacja mapy nie wpływa na wartość konfiguracji. Ale jeśli wartości zapisane w konfiguracji nie są obiektami typu immutable to ich modyfikacja jest niezdefiniowana.

Specified by:
asFlatMap in interface Configuration
Returns:

get

public <T> T get(Class<T> type,
                 String path,
                 T ddefault)
      throws ConfigException
Specified by:
get in interface Configuration
Throws:
ConfigException

get

public <T> T get(Class<T> type,
                 String path)
      throws ConfigException
Specified by:
get in interface Configuration
Throws:
ConfigException

get

public Object get(String path)
           throws ConfigException
Description copied from interface: Configuration
Pobiera wartość zapisaną we wskazanej lokalizacji

Specified by:
get in interface Configuration
Returns:
odczytana wartość
Throws:
ConfigException - jeśli nie znaleziono w konfiguracji

get

public Object get(String path,
                  Object ddefault)
           throws ConfigException
Description copied from interface: Configuration
Pobiera wartość zapisaną we wskazanej lokalizacji

Specified by:
get in interface Configuration
Returns:
odczytana wartość, lub ddefault, jeśli nie znaleziono w konfiguracji
Throws:
ConfigException

getList

public List<?> getList(String path)
                throws ConfigException
Description copied from interface: Configuration
Pobiera listę wartości zapisanych we wskazanej lokalizacji

Specified by:
getList in interface Configuration
Returns:
pusta lista, jeśli nie znaleziono w konfiguracji
Throws:
ConfigException

getList

public <T> List<T> getList(Class<T> type,
                           String path)
Specified by:
getList in interface Configuration

put

public <T> void put(Class<T> type,
                    String path,
                    Object value)
         throws ConfigException
Specified by:
put in interface Configuration
Throws:
ConfigException

put

public void put(String path,
                Object value)
         throws ConfigException
Description copied from interface: Configuration
Zmienia wartość pod wskazaną lokalizacją

Specified by:
put in interface Configuration
Throws:
ConfigException

putList

public <T> void putList(Class<T> type,
                        String path,
                        List<?> value)
             throws ConfigException
Specified by:
putList in interface Configuration
Throws:
ConfigException

putList

public void putList(String path,
                    List<?> value)
             throws ConfigException
Description copied from interface: Configuration
Umieszcza listę wartości pod wskazaną lokalizacją

Specified by:
putList in interface Configuration
Throws:
ConfigException


Copyright © 2013. All Rights Reserved.