Class SessionScriptWrapper.SafetyWrapper

java.lang.Object
com.inductiveautomation.perspective.gateway.script.SessionScriptWrapper.SafetyWrapper
All Implemented Interfaces:
PropertyTreeOwner
Enclosing class:
SessionScriptWrapper

public static class SessionScriptWrapper.SafetyWrapper extends Object
Delegates to the actual view, this prevents the scripting system from being able to call everything on ViewModel, like startup(), shutdown, etc.

Also gives us a good place to implement methods that make sense for script authors, that don't belong on the the model object, like more user friendly versions of getChild

  • Field Details

  • Constructor Details

    • SafetyWrapper

      public SafetyWrapper(Session session)
  • Method Details

    • getProject

      public String getProject()
    • getProjectInfo

      public org.python.core.PyObject getProjectInfo()
    • refreshBinding

      public boolean refreshBinding(String propertyStr) throws Throwable
      Throws:
      Throwable
    • getInfo

      public org.python.core.PyObject getInfo()
      Returns:
      info about this session. Note that the return format matches the format of system.perspective.getSessionInfos() except that this object does include the pages array.
    • getPage

      @Nullable public Page getPage(String id)
    • getPages

      public List<? extends Page> getPages()
    • close

      public void close()
    • close

      public void close(@Nullable String message)
    • invokeOnQueue

      public org.python.core.PyObject invokeOnQueue(org.python.core.PyObject func) throws Exception
      Invokes a python script on the queue. In general this is a big no-no, but it can be useful in certain circumstances where you need atomicity across multiple statements with respect to changes to property trees. For example, an atomic increment. We use this method for testing. Not documented for customer use.
      Throws:
      Exception
    • getPropertyTreeOf

      @Nullable public PropertyTree getPropertyTreeOf(@Nullable PropertyType propertyType)
      Description copied from interface: PropertyTreeOwner
      Fetch the PropertyTree associated with the given PropertyType
      Specified by:
      getPropertyTreeOf in interface PropertyTreeOwner
      Parameters:
      propertyType - The PropertyType of the PropertyTree we want to fetch
      Returns:
      The PropertyTree or null if this PropertyTreeOwner does not manage a PropertyTree for the given PropertyType or if a null PropertyType is given
    • print

      public void print(String message)
    • getView

      public View getView()
    • getSession

      public Session getSession()
    • getPage

      public Page getPage()
    • getName

      public String getName()