org.javasimon
Class ManagerConfiguration

java.lang.Object
  extended by org.javasimon.ManagerConfiguration

public final class ManagerConfiguration
extends Object

Holds configuration for one Simon Manager. Configuration is read from the stream and it is merged with any existing configuration read before. Method clear() must be used in order to reset this configuration object.

Every Manager holds its own configuration and programmer has to take care of the initialization of the configuration. Default SimonManager is privileged and can be configured via file or resource when Java property javasimon.config.file (constant SimonManager.PROPERTY_CONFIG_FILE_NAME) or javasimon.config.resource (constant SimonManager.PROPERTY_CONFIG_RESOURCE_NAME) is used.

Structure of the configuration XML:

<simon-configuration>
 ... TODO
 </simon-configuration>

Author:
Richard "Virgo" Richter

Field Summary
private  Map<SimonPattern,SimonConfiguration> configs
           
private  Manager manager
           
 
Constructor Summary
ManagerConfiguration(Manager manager)
          Creates manager configuration for a specified manager.
 
Method Summary
private  void assertEndTag(XMLStreamReader reader, String name)
           
private  void assertName(XMLStreamReader reader, String operation, String name)
           
private  void assertStartTag(XMLStreamReader reader, String name)
           
 void clear()
          Clears any previously loaded configuration.
(package private)  SimonConfiguration getConfig(String name)
          Returns configuration for the Simon with the specified name.
private  String getText(XMLStreamReader reader)
           
private  boolean isStartTag(XMLStreamReader reader, String name)
           
private  Callback processCallback(XMLStreamReader xr)
           
private  void processEndElement(XMLStreamReader reader, String name)
           
private  Callback processFilterCallback(XMLStreamReader xr)
           
private  void processRule(XMLStreamReader xr, FilterCallback callback)
           
private  void processSet(XMLStreamReader xr, Callback callback)
           
private  void processSetAndCallbacks(XMLStreamReader xr, Callback callback)
           
private  void processSimon(XMLStreamReader xr)
           
private  Map<String,String> processStartElement(XMLStreamReader reader, String elementName, String... requiredAttributes)
           
private  Map<String,String> processStartElementPrivate(XMLStreamReader reader, String elementName, String... requiredAttributes)
           
private  Map<String,String> readAttributes(XMLStreamReader reader)
           
 void readConfig(Reader reader)
          Reads config from provided buffered reader.
private  String readerPosition(XMLStreamReader reader)
           
private  void setProperty(Callback callback, String property, String value)
          Sets the callback property.
private  String setterName(String name)
           
private  String toEnum(String enumVal)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

configs

private Map<SimonPattern,SimonConfiguration> configs

manager

private final Manager manager
Constructor Detail

ManagerConfiguration

ManagerConfiguration(Manager manager)
Creates manager configuration for a specified manager.

Parameters:
manager - manager on whos behalf this configuration is created
Method Detail

clear

public void clear()
Clears any previously loaded configuration.


readConfig

public void readConfig(Reader reader)
                throws IOException
Reads config from provided buffered reader. Package level because of tests.

Parameters:
reader - reader containing configuration
Throws:
IOException - thrown if problem occurs while reading from the reader

processCallback

private Callback processCallback(XMLStreamReader xr)
                          throws XMLStreamException
Throws:
XMLStreamException

processFilterCallback

private Callback processFilterCallback(XMLStreamReader xr)
                                throws XMLStreamException
Throws:
XMLStreamException

processSetAndCallbacks

private void processSetAndCallbacks(XMLStreamReader xr,
                                    Callback callback)
                             throws XMLStreamException
Throws:
XMLStreamException

processRule

private void processRule(XMLStreamReader xr,
                         FilterCallback callback)
                  throws XMLStreamException
Throws:
XMLStreamException

processSet

private void processSet(XMLStreamReader xr,
                        Callback callback)
                 throws XMLStreamException
Throws:
XMLStreamException

setProperty

private void setProperty(Callback callback,
                         String property,
                         String value)
Sets the callback property.

Parameters:
callback - callback object
property - name of the property
value - value of the property

setterName

private String setterName(String name)

processSimon

private void processSimon(XMLStreamReader xr)
                   throws XMLStreamException
Throws:
XMLStreamException

getConfig

SimonConfiguration getConfig(String name)
Returns configuration for the Simon with the specified name.

Parameters:
name - Simon name
Returns:
configuration for that particular Simon

toEnum

private String toEnum(String enumVal)

processStartElement

private Map<String,String> processStartElement(XMLStreamReader reader,
                                               String elementName,
                                               String... requiredAttributes)
                                        throws XMLStreamException
Throws:
XMLStreamException

processStartElementPrivate

private Map<String,String> processStartElementPrivate(XMLStreamReader reader,
                                                      String elementName,
                                                      String... requiredAttributes)
                                               throws XMLStreamException
Throws:
XMLStreamException

assertStartTag

private void assertStartTag(XMLStreamReader reader,
                            String name)
                     throws XMLStreamException
Throws:
XMLStreamException

readAttributes

private Map<String,String> readAttributes(XMLStreamReader reader)

assertName

private void assertName(XMLStreamReader reader,
                        String operation,
                        String name)
                 throws XMLStreamException
Throws:
XMLStreamException

readerPosition

private String readerPosition(XMLStreamReader reader)

assertEndTag

private void assertEndTag(XMLStreamReader reader,
                          String name)
                   throws XMLStreamException
Throws:
XMLStreamException

isStartTag

private boolean isStartTag(XMLStreamReader reader,
                           String name)

processEndElement

private void processEndElement(XMLStreamReader reader,
                               String name)
                        throws XMLStreamException
Throws:
XMLStreamException

getText

private String getText(XMLStreamReader reader)
                throws XMLStreamException
Throws:
XMLStreamException


Copyright © 2013. All Rights Reserved.