//  
//  ColorEventMulticaster.java
//  Copyright (c) 1998, Agustin Froufe
//  Todos los derechos reservados.
//  
//  No se asume ninguna  responsabilidad por el  uso o  alteracion  de este
//  software.  Este software se proporciona COMO ES, sin garantia de ningun
//  tipo de su funcionamiento y en ningun caso sera el autor responsable de
//  daņos o perjuicios que se deriven del mal uso del software,  aun cuando
//  este haya sido notificado de la posibilidad de dicho daņo.
// 
//   Compilador: javac 1.1.5
//        Autor: Agustin Froufe
//     Creacion: 09-Jun-1998  04:45:16
// 
//--------------------------------------------------------------------------
//  Esta informacion no es necesariamente definitiva y esta sujeta a cambios
//  que pueden ser incorporados en cualquier momento, sin avisar.
//--------------------------------------------------------------------------

class ColorEventMulticaster implements ColorListener {
    protected ColorListener a,b;

    protected ColorEventMulticaster( ColorListener a,ColorListener b ) {
        this.a = a;
        this.b = b;
        }

    public void colorSeleccionado( ColorEvent evt ) {
        a.colorSeleccionado( evt );
        b.colorSeleccionado( evt );
        }

    static ColorListener add( ColorListener a,ColorListener b ) {
        if( a == null )
            return( b );
        else if( b == null )
            return( a );
        else
            return( new ColorEventMulticaster( a,b ) );
        }

    static ColorListener remove( ColorListener a,ColorListener b ) {
        if( (a == null) || (a == b) )
            return( null );
        else if( a instanceof ColorEventMulticaster )
            return( add( remove( ((ColorEventMulticaster)a).a,b ),
                remove( ((ColorEventMulticaster)a).b,b ) ) );
        else
            return( a );
        }
    }

//----------------------------- Final del fichero ColorEventMulticaster.java
