/*******************************************************************************
* Copyright (c) 1998, 2015 Oracle and/or its affiliates. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Oracle - initial API and implementation from Oracle TopLink
******************************************************************************/
package org.eclipse.persistence.tools.workbench.utility;
import java.beans.PropertyChangeListener;
import java.io.Serializable;
import org.eclipse.persistence.tools.workbench.utility.events.CollectionChangeListener;
import org.eclipse.persistence.tools.workbench.utility.events.ListChangeListener;
import org.eclipse.persistence.tools.workbench.utility.events.StateChangeListener;
import org.eclipse.persistence.tools.workbench.utility.events.TreeChangeListener;
/**
* Null implementation that never notifies any listeners of any changes
* because its value never changes.
*/
public class NullModel
implements Model, Cloneable, Serializable
{
private static final long serialVersionUID = 1L;
/**
* Default constructor.
*/
public NullModel() {
super();
}
// ********** Model implementation **********
/**
* @see Model#addStateChangeListener(org.eclipse.persistence.tools.workbench.utility.events.StateChangeListener)
*/
public void addStateChangeListener(StateChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#removeStateChangeListener(org.eclipse.persistence.tools.workbench.utility.events.StateChangeListener)
*/
public void removeStateChangeListener(StateChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#addPropertyChangeListener(java.beans.PropertyChangeListener)
*/
public void addPropertyChangeListener(PropertyChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#addPropertyChangeListener(String, java.beans.PropertyChangeListener)
*/
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#removePropertyChangeListener(java.beans.PropertyChangeListener)
*/
public void removePropertyChangeListener(PropertyChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#removePropertyChangeListener(String, java.beans.PropertyChangeListener)
*/
public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#addCollectionChangeListener(org.eclipse.persistence.tools.workbench.utility.events.CollectionChangeListener)
*/
public void addCollectionChangeListener(CollectionChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#addCollectionChangeListener(String, org.eclipse.persistence.tools.workbench.utility.events.CollectionChangeListener)
*/
public void addCollectionChangeListener(String collectionName, CollectionChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#removeCollectionChangeListener(org.eclipse.persistence.tools.workbench.utility.events.CollectionChangeListener)
*/
public void removeCollectionChangeListener(CollectionChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#removeCollectionChangeListener(String, org.eclipse.persistence.tools.workbench.utility.events.CollectionChangeListener)
*/
public void removeCollectionChangeListener(String collectionName, CollectionChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#addListChangeListener(org.eclipse.persistence.tools.workbench.utility.events.ListChangeListener)
*/
public void addListChangeListener(ListChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#addListChangeListener(String, org.eclipse.persistence.tools.workbench.utility.events.ListChangeListener)
*/
public void addListChangeListener(String listName, ListChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#removeListChangeListener(org.eclipse.persistence.tools.workbench.utility.events.ListChangeListener)
*/
public void removeListChangeListener(ListChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#removeListChangeListener(String, org.eclipse.persistence.tools.workbench.utility.events.ListChangeListener)
*/
public void removeListChangeListener(String listName, ListChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#addTreeChangeListener(org.eclipse.persistence.tools.workbench.utility.events.TreeChangeListener)
*/
public void addTreeChangeListener(TreeChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#addTreeChangeListener(String, org.eclipse.persistence.tools.workbench.utility.events.TreeChangeListener)
*/
public void addTreeChangeListener(String treeName, TreeChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#removeTreeChangeListener(org.eclipse.persistence.tools.workbench.utility.events.TreeChangeListener)
*/
public void removeTreeChangeListener(TreeChangeListener listener) {
// ignore listeners - nothing ever changes
}
/**
* @see Model#removeTreeChangeListener(String, org.eclipse.persistence.tools.workbench.utility.events.TreeChangeListener)
*/
public void removeTreeChangeListener(String treeName, TreeChangeListener listener) {
// ignore listeners - nothing ever changes
}
// ********** Object overrides **********
/**
* @see Object#clone()
*/
public synchronized Object clone() {
try {
return super.clone();
} catch (CloneNotSupportedException ex) {
throw new InternalError();
}
}
/**
* @see Object#toString()
*/
public String toString() {
return ClassTools.shortClassNameForObject(this);
}
}