001package co.codewizards.cloudstore.core.bean; 002 003import java.beans.PropertyChangeListener; 004 005public class PropertyChangeListenerUtil { 006 007 private PropertyChangeListenerUtil() { 008 } 009 010 public static WeakPropertyChangeListener addWeakPropertyChangeListenerNonTypeSafe(Object bean, Object property, PropertyChangeListener listener) { 011 final WeakPropertyChangeListener weakListener = new WeakPropertyChangeListener(bean, property, listener); 012 weakListener.addPropertyChangeListener(); 013 return weakListener; 014 } 015 016 public static <P extends PropertyBase, B extends Bean<P>> WeakPropertyChangeListener addWeakPropertyChangeListener(B bean, P property, PropertyChangeListener listener) { 017 final WeakPropertyChangeListener weakListener = new WeakPropertyChangeListener(bean, property, listener); 018 weakListener.addPropertyChangeListener(); 019 return weakListener; 020 } 021 022 public static WeakPropertyChangeListener addWeakPropertyChangeListener(Object bean, PropertyChangeListener listener) { 023 final WeakPropertyChangeListener weakListener = new WeakPropertyChangeListener(bean, null, listener); 024 weakListener.addPropertyChangeListener(); 025 return weakListener; 026 } 027}