Interface TagActorFactory

  • All Known Implementing Classes:
    HistoryActorFactory, ScalingActorFactory

    public interface TagActorFactory
    A TagActorFactory creates TagActors, which are the execution building blocks of tags. The factory itself exists per tag provider (instantiated by the TagActorRegistry).
    Since:
    8.0
    • Method Detail

      • getId

        default java.lang.String getId()
        This id is used to uniquely identify the factory. Must be implemented if there will be multiple factories for a given classification, otherwise the default implementation (classification id) can be used.
      • getActorClassification

        ActorClassification getActorClassification()
        Every tag can only have one of each actorTypeId. Note that actorId does not necessarily indicate a certain implementation, but instead a type of actor.
      • startup

        void startup​(GatewayContext gwContext)
        Called when the factory is registered, before any actors are created.
      • shutdown

        void shutdown()
        Indicates the provider or system is shutting down. All of the tags may have been shut down, but at this point, the factory can stop doing anything.
      • configureTagModel

        default void configureTagModel​(MutableConfigurationPropertyModel model)
        If specified, these properties will be merged into the main tag configuration model. This occurs during registration. Once registered, there is no way to mutate the model apart from re-registering.
      • configureTagGroupModel

        default void configureTagGroupModel​(MutableConfigurationPropertyModel model)
        If specified, these properties will be merged into the main tag group configuration model. This occurs during registration. Once registered, there is no way to mutate the model apart from re-registering.
      • getMonitoredProperties

        java.util.Set<Property<?>> getMonitoredProperties()
        These are the properties that this actor monitors for changes. This is used to optimize how factories/actors are managed after edits. Any property that the actor cares about (even system properties) should be represented in the returned Set, otherwise the actor will not be notified of edits.
      • getKeyPropertyValues

        default <T> void getKeyPropertyValues​(java.util.Set<T> values,
                                              Property<T> keyProperty)
        TODO This is an experimental method for retrieving key values of a certain property. Make official or remove. Currently used to get allowed value sources.
      • isApplicable

        boolean isApplicable​(PropertySet config)
        Indicates that the PropertySet has settings that would result in this actor type being created.
      • addBrowseTraits

        default void addBrowseTraits​(NodeDescription.NodeDescriptionBuilder desc,
                                     PropertySet config)
        Gives the actor factory a chance to report NodeAttribute traits for the tag it belongs to. NodeAttributes are registered in the designer in order to modify the display of browse nodes.
      • getBrowseValue

        default QualifiedValue getBrowseValue​(PropertySet config)
        Returns a value for use in browse display in situations where we need to show some information about the actor/ tag, but don't have a running value. Can be anything, and bad quality can be used to communicate configuration errors. Typically only implemented by ValueGeneratingActors, since that is all that is displayed through definition browsing at this time. Default return value is null/Good.