Class ScopeUtils

java.lang.Object
org.red5.server.util.ScopeUtils

public class ScopeUtils extends Object
Collection of utilities for working with scopes
  • Field Details

  • Constructor Details

    • ScopeUtils

      public ScopeUtils()
  • Method Details

    • resolveScope

      public static IScope resolveScope(IScope from, String path)
      Resolves scope for specified scope and path.
      Parameters:
      from - Scope to use as context (to start from)
      path - Path to resolve
      Returns:
      Resolved scope
    • findRoot

      public static IScope findRoot(IScope from)
      Finds root scope for specified scope object. Root scope is the top level scope among scope's parents.
      Parameters:
      from - Scope to find root for
      Returns:
      Root scope object
    • findApplication

      public static IScope findApplication(IScope from)
      Returns the application scope for specified scope. Application scope has depth of 1 and has no parent. See
       isApp
       
      method for details.
      Parameters:
      from - Scope to find application for
      Returns:
      Application scope.
    • isAncestor

      public static boolean isAncestor(IBasicScope from, IBasicScope ancestor)
      Check whether one scope is an ancestor of another
      Parameters:
      from - Scope
      ancestor - Scope to check
      Returns:
       true
       
      if ancestor scope is really an ancestor of scope passed as from parameter,
       false
       
      otherwise.
    • isRoot

      public static boolean isRoot(IBasicScope scope)
      Checks whether scope is root or not
      Parameters:
      scope - Scope to check
      Returns:
       true
       
      if scope is root scope (top level scope),
       false
       
      otherwise.
    • isGlobal

      public static boolean isGlobal(IBasicScope scope)
      Check whether scope is the global scope (level 0 leaf in scope tree) or not When user connects the following URL: rtmp://localhost/myapp/foo/bar then / is the global level scope, myapp is app level, foo is room level and bar is room level as well (but with higher depth level)
      Parameters:
      scope - Scope to check
      Returns:
       true
       
      if scope is the global scope,
       false
       
      otherwise.
    • isApp

      public static boolean isApp(IBasicScope scope)
      Check whether scope is an application scope (level 1 leaf in scope tree) or not
      Parameters:
      scope - Scope to check
      Returns:
       true
       
      if scope is an application scope,
       false
       
      otherwise.
    • isRoom

      public static boolean isRoom(IBasicScope scope)
      Check whether scope is a room scope (level 2 leaf in scope tree or lower, e.g. 3, 4, ...) or not
      Parameters:
      scope - Scope to check
      Returns:
       true
       
      if scope is a room scope,
       false
       
      otherwise.
    • getScopeService

      protected static Object getScopeService(IScope scope, String name)
      Returns scope service by bean name. See overloaded method for details.
      Parameters:
      scope - scope
      name - name
      Returns:
      object
    • getScopeService

      protected static Object getScopeService(IScope scope, String name, Class<?> defaultClass)
      Returns scope services (e.g. SharedObject, etc) for the scope. Method uses either bean name passes as a string or class object.
      Parameters:
      scope - The scope service belongs to
      name - Bean name
      defaultClass - Class of service
      Returns:
      Service object
    • getScopeService

      public static Object getScopeService(IScope scope, Class<?> intf)
      Returns scope service that implements a given interface.
      Parameters:
      scope - The scope service belongs to
      intf - The interface the service must implement
      Returns:
      Service object
    • getScopeService

      public static Object getScopeService(IScope scope, Class<?> intf, boolean checkHandler)
    • getScopeService

      public static Object getScopeService(IScope scope, Class<?> intf, Class<?> defaultClass)
      Returns scope service that implements a given interface.
      Parameters:
      scope - The scope service belongs to
      intf - The interface the service must implement
      defaultClass - Class that should be used to create a new service if no service was found.
      Returns:
      Service object
    • getScopeService

      public static Object getScopeService(IScope scope, Class<?> intf, Class<?> defaultClass, boolean checkHandler)