de.bsvrz.puk.config.configFile.datamodel
Class ConfigNonMutableSet

java.lang.Object
  extended by de.bsvrz.puk.config.configFile.datamodel.AbstractConfigSystemObject
      extended by de.bsvrz.puk.config.configFile.datamodel.ConfigSystemObject
          extended by de.bsvrz.puk.config.configFile.datamodel.ConfigConfigurationObject
              extended by de.bsvrz.puk.config.configFile.datamodel.ConfigObjectSet
                  extended by de.bsvrz.puk.config.configFile.datamodel.ConfigNonMutableSet
All Implemented Interfaces:
ConfigurationObject, NonMutableCollection, NonMutableSet, ObjectSet, SystemObject, SystemObjectCollection, Comparable

public class ConfigNonMutableSet
extends ConfigObjectSet
implements NonMutableSet

Implementierung des Interfaces NonMutableSet für nicht veränderbare Mengen auf Seiten der Konfiguration.

Author:
Stephan Homeyer (sth), Kappich Systemberatung

Nested Class Summary
private  class ConfigNonMutableSet.NonMutableElement
          Repräsentiert ein Element der Menge mit einer Versionsnummer, ab der das Element zur Menge gehört und einer Versionsnummer, ab der das Element nicht mehr zur Menge gehört.
 
Field Summary
private static Debug _debug
          DebugLogger für Debug-Ausgaben
 
Fields inherited from class de.bsvrz.puk.config.configFile.datamodel.ConfigSystemObject
_systemObjectInfo
 
Constructor Summary
ConfigNonMutableSet(ConfigurationArea configurationArea, SystemObjectInformationInterface systemObjectInfo)
          Konstruktor für eine Konfigurationsmenge.
 
Method Summary
 void add(SystemObject[] objects)
           
 List<SystemObject> getElements()
           
 List<SystemObject> getElements(long time)
           
 List<SystemObject> getElementsDuringPeriod(long startTime, long endTime)
           
 List<SystemObject> getElementsInAllVersions(short fromVersion, short toVersion)
           
 List<SystemObject> getElementsInAnyVersions(short fromVersion, short toVersion)
           
 List<SystemObject> getElementsInModifiableVersion()
           
 List<SystemObject> getElementsInPeriod(long startTime, long endTime)
           
 List<SystemObject> getElementsInVersion(short version)
           
private  List<ConfigNonMutableSet.NonMutableElement> getNonMutableElements()
          Diese Methode liest den konfigurierenden Datensatz für die Elemente dieser Menge ein und gibt sie in einer Liste zurück.
 boolean isSetChanged(short modifiableVersion)
          Gibt zurück, ob es an der Menge eine Änderung in der in Bearbeitung befindlichen Version gibt.
 void remove(SystemObject[] objects)
           
private  void setConfigurationData(SystemObject[] addedElements, SystemObject[] removedElements, short changeVersion)
          Der konfigurierende Datensatz mit den Elementen wird aktualisiert.
 
Methods inherited from class de.bsvrz.puk.config.configFile.datamodel.ConfigObjectSet
add, getObjectSetType, remove
 
Methods inherited from class de.bsvrz.puk.config.configFile.datamodel.ConfigConfigurationObject
addSet, directDuplicate, directModification, duplicate, duplicate, getMutableSet, getNonMutableSet, getNotValidSince, getObjectSet, getObjectSets, getValidSince, invalidate, isValid, removeSet, revalidate, simpleRevalidate
 
Methods inherited from class de.bsvrz.puk.config.configFile.datamodel.ConfigSystemObject
checkChangePermit, createConfigurationData, equals, getConfigurationData, getConfigurationData, getConfigurationData, getConfigurationData, getConfigurationData, getConfigurationDataBytes, getId, getName, getPid, getSerializerVersion, getType, getUsedAttributeGroupUsages, hashCode, removeConfigurationData, setConfigurationData, setConfigurationData, setName, simpleInvalidation
 
Methods inherited from class de.bsvrz.puk.config.configFile.datamodel.AbstractConfigSystemObject
compareTo, getConfigurationArea, getConfigurationData, getDataModel, getInfo, getNameOrPidOrId, getPidOrId, getPidOrNameOrId, isOfType, isOfType, setConfigurationData, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.bsvrz.dav.daf.main.config.ObjectSet
add, getObjectSetType, remove
 
Methods inherited from interface de.bsvrz.dav.daf.main.config.ConfigurationObject
addSet, duplicate, duplicate, getMutableSet, getNonMutableSet, getNotValidSince, getObjectSet, getObjectSets, getValidSince, removeSet, revalidate
 
Methods inherited from interface de.bsvrz.dav.daf.main.config.SystemObject
getConfigurationArea, getConfigurationData, getConfigurationData, getConfigurationData, getDataModel, getId, getInfo, getName, getNameOrPidOrId, getPid, getPidOrId, getPidOrNameOrId, getType, getUsedAttributeGroupUsages, invalidate, isOfType, isOfType, isValid, setConfigurationData, setConfigurationData, setConfigurationData, setName, toString
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

_debug

private static final Debug _debug
DebugLogger für Debug-Ausgaben

Constructor Detail

ConfigNonMutableSet

public ConfigNonMutableSet(ConfigurationArea configurationArea,
                           SystemObjectInformationInterface systemObjectInfo)
Konstruktor für eine Konfigurationsmenge.

Parameters:
configurationArea - Konfigurationsbereich dieser Menge
systemObjectInfo - das korrespondierende Objekt aus den Konfigurationsdateien
Method Detail

getElementsInModifiableVersion

public List<SystemObject> getElementsInModifiableVersion()
Specified by:
getElementsInModifiableVersion in interface NonMutableCollection

getElementsInVersion

public List<SystemObject> getElementsInVersion(short version)
Specified by:
getElementsInVersion in interface NonMutableCollection

getElementsInAllVersions

public List<SystemObject> getElementsInAllVersions(short fromVersion,
                                                   short toVersion)
Specified by:
getElementsInAllVersions in interface NonMutableCollection

getElementsInAnyVersions

public List<SystemObject> getElementsInAnyVersions(short fromVersion,
                                                   short toVersion)
Specified by:
getElementsInAnyVersions in interface NonMutableCollection

getElements

public List<SystemObject> getElements()
Specified by:
getElements in interface SystemObjectCollection

getElements

public List<SystemObject> getElements(long time)
Specified by:
getElements in interface SystemObjectCollection

getElementsInPeriod

public List<SystemObject> getElementsInPeriod(long startTime,
                                              long endTime)
Specified by:
getElementsInPeriod in interface SystemObjectCollection

getElementsDuringPeriod

public List<SystemObject> getElementsDuringPeriod(long startTime,
                                                  long endTime)
Specified by:
getElementsDuringPeriod in interface SystemObjectCollection

add

public void add(SystemObject[] objects)
         throws ConfigurationChangeException
Specified by:
add in interface ObjectSet
Throws:
ConfigurationChangeException

remove

public void remove(SystemObject[] objects)
            throws ConfigurationChangeException
Specified by:
remove in interface ObjectSet
Throws:
ConfigurationChangeException

setConfigurationData

private void setConfigurationData(SystemObject[] addedElements,
                                  SystemObject[] removedElements,
                                  short changeVersion)
                           throws ConfigurationChangeException
Der konfigurierende Datensatz mit den Elementen wird aktualisiert.

Parameters:
addedElements - hinzugefügte Elemente oder null, falls es keine Elemente zum Hinzufügen gab
removedElements - entfernte Elemente oder null, falls es keine Elemente zum Entfernen gab
changeVersion - die Version, in der die Änderung stattfindet
Throws:
ConfigurationChangeException - Falls der Datensatz nicht geschrieben werden konnte.

isSetChanged

public boolean isSetChanged(short modifiableVersion)
Gibt zurück, ob es an der Menge eine Änderung in der in Bearbeitung befindlichen Version gibt.

Parameters:
modifiableVersion - in Bearbeitung befindliche Version dieses Bereichs
Returns:
true, wenn es eine Änderung gab, sonst false

getNonMutableElements

private List<ConfigNonMutableSet.NonMutableElement> getNonMutableElements()
Diese Methode liest den konfigurierenden Datensatz für die Elemente dieser Menge ein und gibt sie in einer Liste zurück.

Returns:
eine Liste von Elementen mit Versionsnummern, die die Zugehörigkeitszeiträume kennzeichnen