Class DeviceGroupApplication

java.lang.Object
org.scictrl.csshell.epics.server.application.AbstractApplication
org.scictrl.csshell.epics.server.application.devicegroup.DeviceGroupApplication
All Implemented Interfaces:
Application, OnDemandValueProcessor.ValueProvider

public class DeviceGroupApplication extends AbstractApplication

DeviceGroupApplication class.

Author:
igor@scictrl.com
  • Constructor Details

    • DeviceGroupApplication

      public DeviceGroupApplication()

      Constructor for DeviceGroupApplication.

  • Method Details

    • createNewStore

      protected org.apache.commons.configuration.PropertiesConfiguration createNewStore()
      Creates new store configuration object with file APP/APP.properties in configuration folder location. Override this method to provide different file name as storage. NEw store is created by call to AbstractApplication.getStore(String, String).
      Overrides:
      createNewStore in class AbstractApplication
      Returns:
      new properties store
    • configure

      public void configure(String name, org.apache.commons.configuration.HierarchicalConfiguration config)
      Configures the internals of this application, provides reference to configuration with root inside applications tag. Server structure is not yet initialized, so does not have reference to Database, the Database reference will be available during activate call.
      Specified by:
      configure in interface Application
      Overrides:
      configure in class AbstractApplication
      Parameters:
      name - a String object
      config - configuration with room inside application tag.
    • notifyLinkChange

      protected void notifyLinkChange(String name)
      This method is called whenever record value changed for any record, which belongs to this application (it was added to the application AbstractApplication.addRecord(String, Record)). Implementation class should override this method to intercept the update.
      Overrides:
      notifyLinkChange in class AbstractApplication
      Parameters:
      name - the name of record, that triggered change.
    • notifyRecordChange

      protected void notifyRecordChange(String name, boolean alarmOnly)
      This method is called whenever record value changed for any record, which belongs to this application (it was added to the application AbstractApplication.addRecord(String, Record)). Implementation class should override this method to intercept the update.
      Overrides:
      notifyRecordChange in class AbstractApplication
      Parameters:
      name - the name of record, that triggered change.
      alarmOnly - if true then only alarm has been changed
    • activate

      public void activate()
      Application has now reference to Database. Application might want to connect to other records on this server or PVs on other servers. This can not be done until all records from configuration has been loaded. Call to this method signals application that records has been loaded and linking to other values can be commenced.
      Specified by:
      activate in interface Application
      Overrides:
      activate in class AbstractApplication