org.red5.server.util
Class ScopeUtils

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

public class ScopeUtils
extends Object

Collection of utilities for working with scopes


Constructor Summary
ScopeUtils()
           
 
Method Summary
static IScope findApplication(IScope from)
          Returns the application scope for specified scope.
static IScope findRoot(IScope from)
          Finds root scope for specified scope object.
static Object getScopeService(IScope scope, Class<?> intf)
          Returns scope service that implements a given interface.
static Object getScopeService(IScope scope, Class<?> intf, boolean checkHandler)
           
static Object getScopeService(IScope scope, Class<?> intf, Class<?> defaultClass)
          Returns scope service that implements a given interface.
static Object getScopeService(IScope scope, Class<?> intf, Class<?> defaultClass, boolean checkHandler)
           
protected static Object getScopeService(IScope scope, String name)
          Returns scope service by bean name.
protected static Object getScopeService(IScope scope, String name, Class<?> defaultClass)
          Returns scope services (e.g.
static boolean isAncestor(IBasicScope from, IBasicScope ancestor)
          Check whether one scope is an ancestor of another
static boolean isApp(IBasicScope scope)
          Check whether scope is an application scope (level 1 leaf in scope tree) or not
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)
static boolean isRoom(IBasicScope scope)
          Check whether scope is a room scope (level 2 leaf in scope tree or lower, e.g.
static boolean isRoot(IBasicScope scope)
          Checks whether scope is root or not
static IScope resolveScope(IScope from, String path)
          Resolves scope for specified scope and path.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ScopeUtils

public ScopeUtils()
Method Detail

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)


Copyright © 2006-2012 The Red5 Project