ModelObject.java
上传用户:hengxinggs
上传日期:2008-01-15
资源大小:212k
文件大小:3k
源码类别:

PlugIns编程

开发平台:

Java

  1. /*******************************************************************************
  2.  * Copyright (c) 2005 IBM Corporation and others.
  3.  * All rights reserved. This program and the accompanying materials
  4.  * are made available under the terms of the Eclipse Public License v1.0
  5.  * which accompanies this distribution, and is available at
  6.  * http://www.eclipse.org/legal/epl-v10.html
  7.  * 
  8.  * Contributors:
  9.  *     IBM Corporation - initial API and implementation
  10.  *******************************************************************************/
  11. package org.eclipse.jface.examples.databinding.model;
  12. import java.beans.PropertyChangeListener;
  13. import java.beans.PropertyChangeSupport;
  14. import java.lang.reflect.Array;
  15. import java.util.ArrayList;
  16. import java.util.Arrays;
  17. import java.util.List;
  18. public class ModelObject {
  19. private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(
  20. this);
  21. private String id;
  22. public void addPropertyChangeListener(PropertyChangeListener listener) {
  23. propertyChangeSupport.addPropertyChangeListener(listener);
  24. }
  25. public void addPropertyChangeListener(String propertyName,
  26. PropertyChangeListener listener) {
  27. propertyChangeSupport.addPropertyChangeListener(propertyName, listener);
  28. }
  29. public void removePropertyChangeListener(PropertyChangeListener listener) {
  30. propertyChangeSupport.removePropertyChangeListener(listener);
  31. }
  32. public void removePropertyChangeListener(String propertyName,
  33. PropertyChangeListener listener) {
  34. propertyChangeSupport.removePropertyChangeListener(propertyName,
  35. listener);
  36. }
  37. protected void firePropertyChange(String propertyName, Object oldValue,
  38. Object newValue) {
  39. propertyChangeSupport.firePropertyChange(propertyName, oldValue,
  40. newValue);
  41. }
  42. protected void firePropertyChange(String propertyName, int oldValue,
  43. int newValue) {
  44. propertyChangeSupport.firePropertyChange(propertyName, oldValue,
  45. newValue);
  46. }
  47. public void setId(String string) {
  48. Object oldValue = id;
  49. id = string;
  50. firePropertyChange("id", oldValue, id);
  51. }
  52. protected Object[] append(Object[] array, Object object) {
  53. List newList = new ArrayList(Arrays.asList(array));
  54. newList.add(object);
  55. return newList.toArray((Object[]) Array.newInstance(array.getClass()
  56. .getComponentType(), newList.size()));
  57. }
  58. protected Object[] remove(Object[] array, Object object) {
  59. List newList = new ArrayList(Arrays.asList(array));
  60. newList.remove(object);
  61. return newList.toArray((Object[]) Array.newInstance(array.getClass()
  62. .getComponentType(), newList.size()));
  63. }
  64. }