/** * Copyright (c) 2011 - 2014, Lunifera GmbH (Gross Enzersdorf), Loetz KG (Heidelberg) * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html */ package org.lunifera.dsl.entity.xtext.tests.classinheritance; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import java.io.Serializable; @SuppressWarnings("all") public class BaseByClassDto implements Serializable { private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this); private boolean disposed; private Long id; private int version; /** * Returns true, if the object is disposed. * Disposed means, that it is prepared for garbage collection and may not be used anymore. * Accessing objects that are already disposed will cause runtime exceptions. */ public boolean isDisposed() { return this.disposed; } /** * @see PropertyChangeSupport#addPropertyChangeListener(PropertyChangeListener) */ public void addPropertyChangeListener(final PropertyChangeListener listener) { propertyChangeSupport.addPropertyChangeListener(listener); } /** * @see PropertyChangeSupport#addPropertyChangeListener(String, PropertyChangeListener) */ public void addPropertyChangeListener(final String propertyName, final PropertyChangeListener listener) { propertyChangeSupport.addPropertyChangeListener(propertyName, listener); } /** * @see PropertyChangeSupport#removePropertyChangeListener(PropertyChangeListener) */ public void removePropertyChangeListener(final PropertyChangeListener listener) { propertyChangeSupport.removePropertyChangeListener(listener); } /** * @see PropertyChangeSupport#removePropertyChangeListener(String, PropertyChangeListener) */ public void removePropertyChangeListener(final String propertyName, final PropertyChangeListener listener) { propertyChangeSupport.removePropertyChangeListener(propertyName, listener); } /** * @see PropertyChangeSupport#firePropertyChange(String, Object, Object) */ public void firePropertyChange(final String propertyName, final Object oldValue, final Object newValue) { propertyChangeSupport.firePropertyChange(propertyName, oldValue, newValue); } /** * Checks whether the object is disposed. * @throws RuntimeException if the object is disposed. */ private void checkDisposed() { if (isDisposed()) { throw new RuntimeException("Object already disposed: " + this); } } /** * Calling dispose will destroy that instance. The internal state will be * set to 'disposed' and methods of that object must not be used anymore. * Each call will result in runtime exceptions.<br/> * If this object keeps composition containments, these will be disposed too. * So the whole composition containment tree will be disposed on calling this method. */ public void dispose() { if (isDisposed()) { return; } disposed = true; } /** * Returns the id property or <code>null</code> if not present. */ public Long getId() { checkDisposed(); return this.id; } /** * Sets the <code>id</code> property to this instance. * * @param id - the property * @throws RuntimeException if instance is <code>disposed</code> * */ public void setId(final Long id) { firePropertyChange("id", this.id, this.id = id ); } /** * Returns the version property or <code>null</code> if not present. */ public int getVersion() { checkDisposed(); return this.version; } /** * Sets the <code>version</code> property to this instance. * * @param version - the property * @throws RuntimeException if instance is <code>disposed</code> * */ public void setVersion(final int version) { firePropertyChange("version", this.version, this.version = version ); } }