## org.red5.server.api
Interface IAttributeStore

All Superinterfaces:
  AttributeStoreMBean

All Known Subinterfaces:
  IBasicScope, IBroadcastScope, ICastingAttributeStore, IClient, IClientSharedObject, IConnection, ICoreObject, IGlobalScope, IRemotingConnection, IScope, IServiceCapableConnection, ISharedObject, ISharedObjectBase, IStreamCapableConnection

All Known Implementing Classes:
  ApplicationAdapter, AttributeStore, BaseConnection, BaseRTMPTConnection, BasicScope, BroadcastScope, Client, ClientSharedObject, EdgeRTMPMinaConnection, GlobalScope, MultiThreadedApplicationAdapter, PersistableAttributeStore, RemotingConnection, RTMPConnection, RTMPMinaConnection, RTMPOriginConnection, RTMPTClientConnection, RTMPTConnection, Scope, SharedObject, SharedObjectScope, StatefulScopeWrappingAdapter, WebScope

    public interface IAttributeStore

extends AttributeStoreMBean

Base interface for all API objects with attributes

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

Method Summary
`Object` `getAttribute(String name)` Return the value for a given attribute.
`Object` `getAttribute(String name, Object defaultValue)` Return the value for a given attribute and set it if it doesn't exist.
`Set<String>` `getAttributeNames()` Get the attribute names.
`Map<String,Object>` `getAttributes()` Get the attributes.
`boolean` `hasAttribute(String name)` Check the object has an attribute.
`boolean` `removeAttribute(String name)` Remove an attribute.
`void` `removeAttributes()` Remove all attributes.
`boolean` `setAttribute(String name, Object value)` Set an attribute on this object.
`void` `setAttributes(IAttributeStore values)` Set multiple attributes on this object.
`void` `setAttributes(Map<String,Object> values)` Set multiple attributes on this object.

Method Detail

### getAttributeNames

    Set<String> getAttributeNames()

  Get the attribute names. The resulting set will be read-only.

  Specified by:
    `getAttributeNames` in interface `AttributeStoreMBean`
  Returns:
    set containing all attribute names

### getAttributes

    Map<String,Object> getAttributes()

  Get the attributes. The resulting map will be read-only.

  Specified by:
    `getAttributes` in interface `AttributeStoreMBean`
  Returns:
    map containing all attributes

### setAttribute

    boolean setAttribute(String name,
                         Object value)

  Set an attribute on this object.

  Specified by:
    `setAttribute` in interface `AttributeStoreMBean`
  Parameters:
    `name` - the name of the attribute to change
    `value` - the new value of the attribute
  Returns:
    true if the attribute value changed otherwise false

### setAttributes

    void setAttributes(Map<String,Object> values)

  Set multiple attributes on this object.

  Parameters:
    `values` - the attributes to set

### setAttributes

    void setAttributes(IAttributeStore values)

  Set multiple attributes on this object.

  Parameters:
    `values` - the attributes to set

### getAttribute

    Object getAttribute(String name)

  Return the value for a given attribute.

  Specified by:
    `getAttribute` in interface `AttributeStoreMBean`
  Parameters:
    `name` - the name of the attribute to get
  Returns:
    the attribute value or null if the attribute doesn't exist

### getAttribute

    Object getAttribute(String name,
                        Object defaultValue)

  Return the value for a given attribute and set it if it doesn't exist.

  This is a utility function that internally performs the following code:

  `if (!hasAttribute(name)) setAttribute(name, defaultValue);
  return getAttribute(name);
  `

  Specified by:
    `getAttribute` in interface `AttributeStoreMBean`
  Parameters:
    `name` - the name of the attribute to get
    `defaultValue` - the value of the attribute to set if the attribute doesn't exist
  Returns:
    the attribute value

### hasAttribute

    boolean hasAttribute(String name)

  Check the object has an attribute.

  Specified by:
    `hasAttribute` in interface `AttributeStoreMBean`
  Parameters:
    `name` - the name of the attribute to check
  Returns:
    true if the attribute exists otherwise false

### removeAttribute

    boolean removeAttribute(String name)

  Remove an attribute.

  Specified by:
    `removeAttribute` in interface `AttributeStoreMBean`
  Parameters:
    `name` - the name of the attribute to remove
  Returns:
    true if the attribute was found and removed otherwise false

### removeAttributes

    void removeAttributes()

  Remove all attributes.

  Specified by:
    `removeAttributes` in interface `AttributeStoreMBean`

Copyright © 2006-2010 The Red5 Project