⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jrelation.java

📁 基于java地snmpMIB地访问地实现,已经使用了较长时间.
💻 JAVA
字号:
/* * Copyright (c) 2002-2003 UTStarcom, Inc. * All rights reserved. */package core.relation.jrelation;import core.relation.common.Relation;import core.relation.common.Body;import core.relation.common.FilterBody;import core.relation.common.MessageFilter;import java.util.Iterator;import java.util.Vector;/** * The JRelation class. * observer * @author Heter pan */public class JRelation implements Relation {    Vector children;    Object cache;    Body parentBody;    Vector messages;    public JRelation() {        children = new Vector( 1 );        messages = new Vector( 1 );    }    public JRelation( Body aParentBody ) {        parentBody = aParentBody;        children = new Vector( 1 );        messages = new Vector( 1 );    }    // set parent and remove all child and messages;    public void reset( Body aParentBody ) {        parentBody = aParentBody;        messages.removeAllElements();        children.removeAllElements();    }    public void removeAllMessages() {        messages.removeAllElements();    }    public void addMessage( Object message ) {        if ( messages.contains( message ) ) {            messages.remove( message );            messages.add( message );        }        messages.add( message );    }    public void removeMessage( Object message ) {        messages.remove( message );    }    // for message cache, used with addMessage and removeMessage    public void send() {        Iterator i = children.iterator();        while ( i.hasNext() ) {            Body body = ( Body ) i.next();            if ( body instanceof FilterBody ) {                MessageFilter mf = ( ( FilterBody ) body ).getFilter();                Iterator itor = messages.iterator();                while ( itor.hasNext() ) {                    System.out.println( "ok" );                    Object message = itor.next();                    if ( mf.filter( message ) ) body.receive( message );                }            } else {                Iterator itr = messages.iterator();                while ( itr.hasNext() ) {                    body.receive( itr.next() );                }            }        }    }    public void readyReceive( boolean b ) {        Iterator i = children.iterator();        while ( i.hasNext() ) {            Body body = ( Body ) i.next();            if ( body instanceof FilterBody ) {                ( ( FilterBody ) body ).readyReceive( b );           }        }    }    public void send( boolean filter ) {        if ( filter ) {            send();            return;        }        Iterator i = children.iterator();        while ( i.hasNext() ) {            Body body = ( Body ) i.next();            if ( body instanceof FilterBody ) {                Iterator itor = messages.iterator();                while ( itor.hasNext() ) {                    System.out.println( "ok" );                    Object message = itor.next();                    body.receive( message );                }            } else {                Iterator itr = messages.iterator();                while ( itr.hasNext() ) {                    body.receive( itr.next() );                }            }        }    }    public void sendCache() {        if ( cache == null ) return;        Iterator i = children.iterator();        while ( i.hasNext() ) {            Body body = ( Body ) i.next();            if ( body instanceof FilterBody ) {                MessageFilter mf = ( ( FilterBody ) body ).getFilter();                if ( mf.filter( cache ) ) body.receive( cache );            } else {                body.receive( cache );            }        }    }    public void sendAndSave( Object message ) {        Iterator i = children.iterator();        while ( i.hasNext() ) {            Body e = ( Body ) i.next();            if ( e instanceof FilterBody ) {                if ( ( ( FilterBody ) e ).getFilter().filter( message ) )                    e.receive( message );            } else                e.receive( message );        }        cache = message;    }    public void send( Object message ) {        Iterator i = children.iterator();        while ( i.hasNext() ) {            Body e = ( Body ) i.next();            if ( e instanceof FilterBody ) {                if ( ( ( FilterBody ) e ).isReadyReceive() )                    if ( ( ( FilterBody ) e ).getFilter().filter( message ) )                        e.receive( message );            } else                e.receive( message );        }    }    public void sendAndCache( Object message ) {        Iterator i = children.iterator();        while ( i.hasNext() ) {            Body e = ( Body ) i.next();            if ( e instanceof FilterBody ) {                if ( ( ( FilterBody ) e ).isReadyReceive() )                    if ( ( ( FilterBody ) e ).getFilter().filter( message ) )                        e.receive( message );            } else                e.receive( message );        }       cache = message;    }    public void send( Object message, boolean filter ) {        if ( filter ) send( message );        Iterator i = children.iterator();        while ( i.hasNext() ) {            Body e = ( Body ) i.next();            if ( e instanceof FilterBody ) {                if ( ( ( FilterBody ) e ).isReadyReceive() )                    e.receive( message );            } else                e.receive( message );        }    }    public void addChildBody( Body b ) {        children.add( b );    }    public void removeChildBody( Body b ) {        children.remove( b );    }    public void removeAllChildren() {        children.removeAllElements();    }}

⌨️ 快捷键说明

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