monitoredobjectimpl.java

来自「JAVA 所有包」· Java 代码 · 共 134 行

JAVA
134
字号
/* * @(#)MonitoredObjectImpl.java	1.5 05/11/17 *  * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.corba.se.impl.monitoring;import java.util.Map;import java.util.HashMap;import java.util.Collection;import java.util.Iterator;import com.sun.corba.se.spi.monitoring.MonitoredObject;import com.sun.corba.se.spi.monitoring.MonitoredAttribute;public class MonitoredObjectImpl implements MonitoredObject {    private final String name;    private final String description;       // List of all child Monitored Objects    private Map children = new HashMap();    // All the Attributes of this Monitored Object instance    private Map monitoredAttributes = new HashMap();    private MonitoredObject parent = null;    // Constructor    MonitoredObjectImpl( String name, String description ) {        this.name = name;        this.description = description;    }    public MonitoredObject getChild( String name ) {        synchronized( this ) {            return (MonitoredObject) children.get( name );        }    }     public Collection getChildren( ) {         synchronized( this ) {            return children.values();        }    }    public void addChild( MonitoredObject m ) {        if (m != null){            synchronized( this ) {                children.put( m.getName(), m);                m.setParent( this );            }        }             }    public void removeChild( String name ) {        if (name != null){            synchronized( this ) {                children.remove( name );            }        }             }    public synchronized MonitoredObject getParent( ) {       return parent;    }    public synchronized void setParent( MonitoredObject p ) {        parent = p;    }    public MonitoredAttribute getAttribute( String name ) {        synchronized( this ) {            return (MonitoredAttribute) monitoredAttributes.get( name );        }    }     public Collection getAttributes( ) {         synchronized( this ) {            return monitoredAttributes.values();        }    }    public void addAttribute( MonitoredAttribute value ) {        if (value != null) {            synchronized( this ) {                monitoredAttributes.put( value.getName(), value );            }        }    }    public void removeAttribute( String name ) {        if (name != null) {            synchronized( this ) {                monitoredAttributes.remove( name );            }        }    }    /**     * calls clearState() on all the registered children MonitoredObjects and      * MonitoredAttributes.      */    public void clearState( ) {        synchronized( this ) {            Iterator i = monitoredAttributes.values().iterator();            // First call clearState on all the local attributes            while( i.hasNext( ) ) {                ((MonitoredAttribute)i.next()).clearState();            }            i = children.values().iterator();            // next call clearState on all the children MonitoredObjects            while( i.hasNext() ) {                ((MonitoredObject)i.next()).clearState();           }        }    }    public String getName( ) {        return name;    }    public String getDescription( ) {        return description;    }}               

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?