Interface Application

All Known Implementing Classes:
AbstractApplication, AbstractCyclingApplication, ArchiveCounterApplication, ArrayAssemblyApplication, ArrayBufferApplication, CyclingApplication, CyclingApplicationMaster, DelayStateMachine, DeviceGroupApplication, DeviceTableApplication, DummyStateMachine, EmbeddedApplicationServer, FeedbackLoopApplication, FeedbackLoopMicrotron, ITestCyclingApplication, OperationModeStateMachine, OrbitCheckApplication, OrbitServerApplication, PowerSupply, ProcessManagerApplication, ProcessManagerGroupApplication, PSRampingTaskApplication, PSSwitchApplication, RunningCounterApplication, ScanApplication, SequenceStateMachine, StateMachine, StepOptimizationApplication, SteppingFeedbackLoopApplication, ValueLevelAlarmApplication, ValueStateMachine, WaveformSumApplication, WigglerRampApplication

public interface Application

Application interface.

Author:
igor@scictrl.com
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Application has now reference to Database.
    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.
    fullRecordName.
    getName.
    Return configured Record instance with prepared ValueProcessor.
    Returns array of record names.
    Return array of configured Record instances with prepared ValueProcessor.
    void
    initialize(Database database)
    initialize.
    boolean
    Activate has been called, application has reference to Database.
    boolean
    Returns true if this application is capable of creating new records when asked to.
  • Method Details

    • fullRecordName

      String fullRecordName(String name)

      fullRecordName.

      Parameters:
      name - a String object
      Returns:
      a String object
    • configure

      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.
      Parameters:
      name - a String object
      config - configuration with room inside application tag.
    • getRecord

      Record getRecord(String name)
      Return configured Record instance with prepared ValueProcessor. Of null if record with this name does not exist. By default a full PV name of returned record should consist of name of application with appended name of the record.
      Parameters:
      name - the record name, appended to application name makes full record name (PV name)
      Returns:
      a record with this name or null
    • getRecords

      Record[] getRecords()
      Return array of configured Record instances with prepared ValueProcessor.
      Returns:
      an array of records
    • getRecordNames

      String[] getRecordNames()
      Returns array of record names. Important: these are not full PV names, just prefixes valid within context of the application.
      Returns:
      array of application relative record names.
    • isDynamicRecordCreator

      boolean isDynamicRecordCreator()
      Returns true if this application is capable of creating new records when asked to. Applications which return true, will be asked if they have record, when a EPICS request with PV name arrives and beginning of PV name matches with application name.
      Returns:
      a boolean
    • getName

      String getName()

      getName.

      Returns:
      a String object
    • initialize

      void initialize(Database database)

      initialize.

      Parameters:
      database - a Database object
    • activate

      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.
    • isActivated

      boolean isActivated()
      Activate has been called, application has reference to Database.
      Returns:
      if true application has been activated