org.opennms.netmgt.config
Class LinkdConfigFactory

java.lang.Object
  extended by org.opennms.netmgt.config.LinkdConfigManager
      extended by org.opennms.netmgt.config.LinkdConfigFactory
All Implemented Interfaces:
LinkdConfig

public final class LinkdConfigFactory
extends LinkdConfigManager

This is the singleton class used to load the configuration for the OpenNMS linkd service from the linkd-configuration xml file. A mapping of the configured URLs to the iplist they contain is built at init() time so as to avoid numerous file reads. Note: Users of this class should make sure the init() is called before calling any other method to ensure the config is loaded before accessing other convenience methods.

Author:
Antonio Russo, James Zuo , Mike Davidson , Sowmya Nataraj , OpenNMS

Field Summary
 
Fields inherited from class org.opennms.netmgt.config.LinkdConfigManager
m_config
 
Constructor Summary
LinkdConfigFactory(long currentVersion, Reader reader)
          Private constructor
 
Method Summary
static LinkdConfig getInstance()
          Return the singleton instance of this factory.
static void init()
          Load the config from the default config file and create the singleton instance of this factory.
static void reload()
          Reload the config from the default config file
protected  void saveXml(String xml)
           
static void setInstance(LinkdConfig instance)
           
 void update()
           
 
Methods inherited from class org.opennms.netmgt.config.LinkdConfigManager
autoDiscovery, createPackageIpListMap, enableDiscoveryDownload, enableVlanDiscovery, enumeratePackage, getAllPackageMatches, getClassName, getConfiguration, getDiscoveryLink, getDiscoveryLinkInterval, getFirstPackageMatch, getInitialSleepTime, getIpList, getPackage, getSnmpCollection, getSnmpCollections, getSnmpPollInterval, getThreads, hasClassName, interfaceInPackage, interfaceInPackageRange, reloadXML, save, saveRouteTable, saveStpInterfaceTable, saveStpNodeTable, useBridgeDiscovery, useCdpDiscovery, useIpRouteDiscovery
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LinkdConfigFactory

public LinkdConfigFactory(long currentVersion,
                          Reader reader)
                   throws org.exolab.castor.xml.MarshalException,
                          org.exolab.castor.xml.ValidationException,
                          IOException
Private constructor

Throws:
IOException - Thrown if the specified config file cannot be read
org.exolab.castor.xml.MarshalException - Thrown if the file does not conform to the schema.
org.exolab.castor.xml.ValidationException - Thrown if the contents do not match the required schema.
Method Detail

init

public static void init()
                 throws IOException,
                        org.exolab.castor.xml.MarshalException,
                        org.exolab.castor.xml.ValidationException
Load the config from the default config file and create the singleton instance of this factory.

Throws:
IOException - Thrown if the specified config file cannot be read
org.exolab.castor.xml.MarshalException - Thrown if the file does not conform to the schema.
org.exolab.castor.xml.ValidationException - Thrown if the contents do not match the required schema.

reload

public static void reload()
                   throws IOException,
                          org.exolab.castor.xml.MarshalException,
                          org.exolab.castor.xml.ValidationException
Reload the config from the default config file

Throws:
IOException - Thrown if the specified config file cannot be read/loaded
org.exolab.castor.xml.MarshalException - Thrown if the file does not conform to the schema.
org.exolab.castor.xml.ValidationException - Thrown if the contents do not match the required schema.

saveXml

protected void saveXml(String xml)
                throws IOException
Specified by:
saveXml in class LinkdConfigManager
Throws:
IOException

getInstance

public static LinkdConfig getInstance()
Return the singleton instance of this factory.

Returns:
The current factory instance.
Throws:
IllegalStateException - Thrown if the factory has not yet been initialized.

setInstance

public static void setInstance(LinkdConfig instance)

update

public void update()
            throws IOException,
                   org.exolab.castor.xml.MarshalException,
                   org.exolab.castor.xml.ValidationException
Specified by:
update in interface LinkdConfig
Specified by:
update in class LinkdConfigManager
Throws:
IOException
org.exolab.castor.xml.MarshalException
org.exolab.castor.xml.ValidationException


Copyright © 2009. All Rights Reserved.