Java tutorial
/** * * Initial version of this code (c) 2009-2011 Media Tuners LLC with a full license to Pioneer Corporation. * * Pioneer Corporation licenses this file to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License is * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. * */ package net.zypr.api.vo; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import org.json.simple.JSONObject; public abstract class GenericVO implements Cloneable { protected transient PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this); public void addPropertyChangeListener(PropertyChangeListener propertyChangeListener) { propertyChangeSupport.addPropertyChangeListener(propertyChangeListener); } public void removePropertyChangeListener(PropertyChangeListener propertyChangeListener) { propertyChangeSupport.removePropertyChangeListener(propertyChangeListener); } public String toString() { return (toJSONString()); } public boolean equals(Object object) { if (this == object) return (true); else if (!(object instanceof GenericVO)) return (false); final GenericVO other = (GenericVO) object; return (other.toJSONString().equals(this.toJSONString())); } public abstract JSONObject toJSON(); public String toJSONString() { return (toJSON().toJSONString()); } }