blob: 89f6c41a8485c5518db1371112d73cf7ac3632d1 [file] [log] [blame]
/**
* Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Florian Pirchner - Initial implementation
*/
package org.eclipse.osbp.runtime.web.vaadin.components.fields.search.filter;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.util.Locale;
// TODO: Auto-generated Javadoc
/**
* The Class FilterProperty.
*/
public abstract class FilterProperty implements IFilterProperty {
/** The property change support. */
protected PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(
this);
/** The property id. */
private Object propertyId;
/** The locale. */
private Locale locale;
/** The old filter. */
private Object oldFilter;
/**
* Instantiates a new filter property.
*
* @param propertyId
* the property id
* @param locale
* the locale
*/
public FilterProperty(Object propertyId, Locale locale) {
this.propertyId = propertyId;
this.locale = locale;
}
/**
* Adds the property change listener.
*
* @param listener
* the listener
* @see PropertyChangeSupport#addPropertyChangeListener(PropertyChangeListener)
*/
public void addPropertyChangeListener(final PropertyChangeListener listener) {
propertyChangeSupport.addPropertyChangeListener(listener);
}
/**
* Adds the property change listener.
*
* @param propertyName
* the property name
* @param listener
* the listener
* @see PropertyChangeSupport#addPropertyChangeListener(String,
* PropertyChangeListener)
*/
public void addPropertyChangeListener(final String propertyName,
final PropertyChangeListener listener) {
propertyChangeSupport.addPropertyChangeListener(propertyName, listener);
}
/**
* Removes the property change listener.
*
* @param listener
* the listener
* @see PropertyChangeSupport#removePropertyChangeListener(PropertyChangeListener)
*/
public void removePropertyChangeListener(
final PropertyChangeListener listener) {
propertyChangeSupport.removePropertyChangeListener(listener);
}
/**
* Removes the property change listener.
*
* @param propertyName
* the property name
* @param listener
* the listener
* @see PropertyChangeSupport#removePropertyChangeListener(String,
* PropertyChangeListener)
*/
public void removePropertyChangeListener(final String propertyName,
final PropertyChangeListener listener) {
propertyChangeSupport.removePropertyChangeListener(propertyName,
listener);
}
/**
* Fire property change.
*
* @param propertyName
* the property name
* @param oldValue
* the old value
* @param newValue
* the new value
* @see PropertyChangeSupport#firePropertyChange(String, Object, Object)
*/
public void firePropertyChange(final String propertyName,
final Object oldValue, final Object newValue) {
propertyChangeSupport.firePropertyChange(propertyName, oldValue,
newValue);
}
/**
* Gets the locale.
*
* @return the locale
*/
public Locale getLocale() {
return locale;
}
/* (non-Javadoc)
* @see org.eclipse.osbp.runtime.web.vaadin.components.fields.search.filter.IFilterProperty#getPropertyId()
*/
@Override
public Object getPropertyId() {
return propertyId;
}
/**
* Notify filter changed.
*/
protected void notifyFilterChanged() {
firePropertyChange("filter", oldFilter, oldFilter = getFilter());
}
}