org.red5.server.api.scope

## Interface IBasicScope

All Superinterfaces:
  ICoreObject, IEventDispatcher, IEventHandler, IEventListener, IEventObservable

All Known Subinterfaces:
  IBroadcastScope, IGlobalScope, IScope, ISharedObject

All Known Implementing Classes:
  BasicScope, BroadcastScope, GlobalScope, RoomScope, Scope, SharedObjectScope, WebScope

    public interface IBasicScope
    extends ICoreObject, IEventObservable

Base interface for all scope objects, including SharedObjects.

Author:
  The Red5 Project (red5@osflash.org), Luke Hubbard (luke@codegent.com)

### Method Summary

Methods
`int` `getDepth()` Get the scopes depth, how far down the scope tree is it.
`String` `getName()` Get the name of this scope.
`IScope` `getParent()` Get this scopes parent.
`String` `getPath()` Get the full absolute path.
`IPersistenceStore` `getStore()` Get the persistable store
`ScopeType` `getType()` Get the type of the scope.
`boolean` `hasParent()` Does this scope have a parent? You can think of scopes as of tree items where scope may have a parent and children (child).
`boolean` `isValid()` Validates a scope based on its name and type
`void` `setKeepDelay(int keepDelay)` Sets the amount of time to keep the scope available after the last disconnect.

### Methods inherited from interface org.red5.server.api.event.IEventDispatcher

`dispatchEvent`

### Methods inherited from interface org.red5.server.api.event.IEventHandler

`handleEvent`

### Methods inherited from interface org.red5.server.api.event.IEventListener

`notifyEvent`

### Methods inherited from interface org.red5.server.api.event.IEventObservable

`addEventListener, getEventListeners, removeEventListener`

### Method Detail

#### hasParent

    boolean hasParent()

Does this scope have a parent? You can think of scopes as of tree items where scope may have a parent and children (child).

Returns:
  `true` if this scope has a parent, otherwise `false`

#### getParent

    IScope getParent()

Get this scopes parent.

Returns:
  parent scope, or `null` if this scope doesn't have a parent

#### getDepth

    int getDepth()

Get the scopes depth, how far down the scope tree is it. The lowest depth is 0x00, the depth of Global scope. Application scope depth is 0x01. Room depth is 0x02, 0x03 and so forth.

Returns:
  the depth

#### getName

    String getName()

Get the name of this scope. Eg. `someroom`.

Returns:
  the name

#### getStore

    IPersistenceStore getStore()

Get the persistable store

Returns:
  the store

#### getPath

    String getPath()

Get the full absolute path. Eg. `host/myapp/someroom`.

Returns:
  Absolute scope path

#### getType

    ScopeType getType()

Get the type of the scope.

Returns:
  Type of scope

#### setKeepDelay

    void setKeepDelay(int keepDelay)

Sets the amount of time to keep the scope available after the last disconnect.

Parameters:
  `keepDelay` - delay

#### isValid

    boolean isValid()

Validates a scope based on its name and type

Returns:
  true if both name and type are valid, false otherwise