Example usage for com.jgoodies.binding.beans Model getPropertyChangeListeners

List of usage examples for com.jgoodies.binding.beans Model getPropertyChangeListeners

Introduction

In this page you can find the example usage for com.jgoodies.binding.beans Model getPropertyChangeListeners.

Prototype

@Override
public final synchronized PropertyChangeListener[] getPropertyChangeListeners() 

Source Link

Document

Returns an array of all the property change listeners registered on this component.

Usage

From source file:de.dan_nrw.binding.SetterAspect.java

License:Open Source License

@AfterReturning("setterPointcut()")
public void afterReturingSetter(final JoinPoint joinPoint) {
    MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();

    Method method = null;//www . j a v a  2 s .c o m

    try {
        method = joinPoint.getTarget().getClass().getMethod(methodSignature.getName().replace("set", "get"));
    } catch (NoSuchMethodException ex) {
        // if no getter exists, there must be no update
        return;
    }

    if (method.getParameterTypes().length > 0) {
        // if getter expects arguments, method should abort
        return;
    }

    Matcher matcher = SETTER_PATTERN.matcher(methodSignature.getName());
    matcher.find();
    String propertyName = (matcher.group(1).toLowerCase() + matcher.group(2));

    try {
        // getting new value
        Model model = (Model) joinPoint.getTarget();
        Object newValue = method.invoke(model);

        for (PropertyChangeListener listener : model.getPropertyChangeListeners()) {
            PropertyChangeEvent evt = new PropertyChangeEvent(model, propertyName, "", newValue);
            listener.propertyChange(evt);
        }
    } catch (InvocationTargetException ex) {
        ex.printStackTrace(System.err);
        return;
    } catch (IllegalArgumentException ex) {
        ex.printStackTrace(System.err);
        return;
    } catch (IllegalAccessException ex) {
        ex.printStackTrace(System.err);
        return;
    }
}

From source file:org.gitools.utils.events.EventUtils.java

License:Open Source License

public static void removeListeners(Model model) {
    PropertyChangeListener[] listeners = model.getPropertyChangeListeners();

    for (PropertyChangeListener listener : listeners) {
        model.removePropertyChangeListener(listener);
    }/*from   w  ww .  j av a 2 s .  c o  m*/
}

From source file:org.gitools.utils.events.EventUtils.java

License:Open Source License

public static void moveListeners(Model from, Model to) {
    removeListeners(to);//from   w ww  . j  av  a2  s.c  o m
    for (PropertyChangeListener listener : from.getPropertyChangeListeners()) {
        to.addPropertyChangeListener(listener);
    }

    removeListeners(from);
}