Package org.asteriskjava.live.internal

Source Code of org.asteriskjava.live.internal.AsteriskAgentImpl

/*
*  Copyright 2004-2006 Stefan Reuter
*
*  Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*
*/
package org.asteriskjava.live.internal;

import org.asteriskjava.live.AgentState;
import org.asteriskjava.live.AsteriskAgent;

/**
* Default implementation of the AsteriskAgent interface.
*
* @author <a href="mailto:patrick.breucking{@nospam}gonicus.de">Patrick Breucking</a>
* @version $Id$
*/
public class AsteriskAgentImpl extends AbstractLiveObject implements AsteriskAgent
{
    public String name;
    public String agentId;
    public AgentState state;

    AsteriskAgentImpl(AsteriskServerImpl server, String name, String agentId, AgentState state)
    {
        super(server);
        if (server == null || name == null || agentId == null)
        {
            throw new IllegalArgumentException("Parameters passed to AsteriskAgentImpl() must not be null.");
        }
        this.name = name;
        this.agentId = agentId;
        this.state = state;
    }

    public String getName()
    {
        return name;
    }

    public String getAgentId()
    {
        return agentId;
    }

    public AgentState getState()
    {
        return state;
    }

    synchronized void updateState(AgentState state)
    {
        final AgentState oldState = this.state;
        this.state = state;
        firePropertyChange(PROPERTY_STATE, oldState, this.state);
    }

    @Override
    public String toString()
    {
        final StringBuffer sb;

        sb = new StringBuffer("AsteriskAgent[");
        sb.append("agentId='").append(getAgentId()).append("',");
        sb.append("name='").append(getName()).append("',");
        sb.append("state=").append(getState()).append(",");
        sb.append("systemHashcode=").append(System.identityHashCode(this));
        sb.append("]");

        return sb.toString();
    }
}
TOP

Related Classes of org.asteriskjava.live.internal.AsteriskAgentImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.