org.red5.server

## Class CoreHandler

- java.lang.Object
- - org.red5.server.CoreHandler

All Implemented Interfaces:
  IEventHandler, IScopeHandler, CoreHandlerMXBean

    public class CoreHandler
    extends Object
    implements IScopeHandler, CoreHandlerMXBean

Base IScopeHandler implementation

### Field Summary

Fields
`protected static org.slf4j.Logger` `log`

### Constructor Summary

Constructors
Constructor and Description
`CoreHandler()`

### Method Summary

Methods
`boolean` `addChildScope(IBasicScope scope)` Called just before a child scope is added.
`boolean` `connect(IConnection conn, IScope scope)` Connects client to the scope
`boolean` `connect(IConnection conn, IScope scope, Object[] params)` Connects client to the scope
`void` `disconnect(IConnection conn, IScope scope)` Called just after the a connection is disconnected.
`boolean` `handleEvent(IEvent event)` Handle an event
`boolean` `join(IClient client, IScope scope)` Called just before a client enters the scope.
`void` `leave(IClient client, IScope scope)` Called just after the client leaves the scope.
`void` `removeChildScope(IBasicScope scope)` Called just after a child scope has been removed.
`boolean` `serviceCall(IConnection conn, IServiceCall call)` Remote method invocation
`boolean` `start(IScope scope)` Called when a scope is created for the first time.
`void` `stop(IScope scope)` Called just before a scope is disposed.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### log

    protected static org.slf4j.Logger log

### Constructor Detail

#### CoreHandler

    public CoreHandler()

### Method Detail

#### addChildScope

    public boolean addChildScope(IBasicScope scope)

Called just before a child scope is added.

Specified by:
  `addChildScope` in interface `IScopeHandler`
Parameters:
  `scope` - Scope that will be added
Returns:
  `true` to allow, `false` to deny

#### connect

    public boolean connect(IConnection conn,
                  IScope scope)

Connects client to the scope

Specified by:
  `connect` in interface `CoreHandlerMXBean`
Parameters:
  `conn` - Client conneciton
  `scope` - Scope
Returns:
  true if client was registred within scope, false otherwise

#### connect

    public boolean connect(IConnection conn,
                  IScope scope,
                  Object[] params)

Connects client to the scope

Specified by:
  `connect` in interface `IScopeHandler`
Specified by:
  `connect` in interface `CoreHandlerMXBean`
Parameters:
  `conn` - Client connection
  `scope` - Scope
  `params` - Params passed from client side with connect call
Returns:
  true if client was registered within scope, false otherwise

#### disconnect

    public void disconnect(IConnection conn,
                  IScope scope)

Called just after the a connection is disconnected.

Specified by:
  `disconnect` in interface `IScopeHandler`
Specified by:
  `disconnect` in interface `CoreHandlerMXBean`
Parameters:
  `conn` - Connection object
  `scope` - Scope object

#### join

    public boolean join(IClient client,
               IScope scope)

Called just before a client enters the scope.

Specified by:
  `join` in interface `IScopeHandler`
Specified by:
  `join` in interface `CoreHandlerMXBean`
Parameters:
  `client` - Client object
  `scope` - Scope that is joined by client
Returns:
  `true` to allow, `false` to deny connection

#### leave

    public void leave(IClient client,
             IScope scope)

Called just after the client leaves the scope.

Specified by:
  `leave` in interface `IScopeHandler`
Specified by:
  `leave` in interface `CoreHandlerMXBean`
Parameters:
  `client` - Client object
  `scope` - Scope object

#### removeChildScope

    public void removeChildScope(IBasicScope scope)

Called just after a child scope has been removed.

Specified by:
  `removeChildScope` in interface `IScopeHandler`
Specified by:
  `removeChildScope` in interface `CoreHandlerMXBean`
Parameters:
  `scope` - Scope that has been removed

#### serviceCall

    public boolean serviceCall(IConnection conn,
                      IServiceCall call)

Remote method invocation

Specified by:
  `serviceCall` in interface `IScopeHandler`
Specified by:
  `serviceCall` in interface `CoreHandlerMXBean`
Parameters:
  `conn` - Connection to invoke method on
  `call` - Service call context
Returns:
  true on success

#### start

    public boolean start(IScope scope)

Called when a scope is created for the first time.

Specified by:
  `start` in interface `IScopeHandler`
Specified by:
  `start` in interface `CoreHandlerMXBean`
Parameters:
  `scope` - the new scope object
Returns:
  `true` to allow, `false` to deny

#### stop

    public void stop(IScope scope)

Called just before a scope is disposed.

Specified by:
  `stop` in interface `IScopeHandler`
Specified by:
  `stop` in interface `CoreHandlerMXBean`
Parameters:
  `scope` - Scope that id disposed

#### handleEvent

    public boolean handleEvent(IEvent event)

Handle an event

Specified by:
  `handleEvent` in interface `IEventHandler`
Specified by:
  `handleEvent` in interface `CoreHandlerMXBean`
Parameters:
  `event` - event to handle
Returns:
  true if event was handled, false if it should bubble