Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/objectstyle/cayenne/map/event/MapEvent.java


1   /* ====================================================================
2    * 
3    * The ObjectStyle Group Software License, Version 1.0 
4    *
5    * Copyright (c) 2002-2003 The ObjectStyle Group 
6    * and individual authors of the software.  All rights reserved.
7    *
8    * Redistribution and use in source and binary forms, with or without
9    * modification, are permitted provided that the following conditions
10   * are met:
11   *
12   * 1. Redistributions of source code must retain the above copyright
13   *    notice, this list of conditions and the following disclaimer. 
14   *
15   * 2. Redistributions in binary form must reproduce the above copyright
16   *    notice, this list of conditions and the following disclaimer in
17   *    the documentation and/or other materials provided with the
18   *    distribution.
19   *
20   * 3. The end-user documentation included with the redistribution, if
21   *    any, must include the following acknowlegement:  
22   *       "This product includes software developed by the 
23   *        ObjectStyle Group (http://objectstyle.org/)."
24   *    Alternately, this acknowlegement may appear in the software itself,
25   *    if and wherever such third-party acknowlegements normally appear.
26   *
27   * 4. The names "ObjectStyle Group" and "Cayenne" 
28   *    must not be used to endorse or promote products derived
29   *    from this software without prior written permission. For written 
30   *    permission, please contact andrus@objectstyle.org.
31   *
32   * 5. Products derived from this software may not be called "ObjectStyle"
33   *    nor may "ObjectStyle" appear in their names without prior written
34   *    permission of the ObjectStyle Group.
35   *
36   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39   * DISCLAIMED.  IN NO EVENT SHALL THE OBJECTSTYLE GROUP OR
40   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
42   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
43   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
44   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
45   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
46   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
47   * SUCH DAMAGE.
48   * ====================================================================
49   *
50   * This software consists of voluntary contributions made by many
51   * individuals on behalf of the ObjectStyle Group.  For more
52   * information on the ObjectStyle Group, please see
53   * <http://objectstyle.org/>.
54   *
55   */
56  package org.objectstyle.cayenne.map.event;
57  
58  import org.objectstyle.cayenne.event.CayenneEvent;
59  import org.objectstyle.cayenne.util.Util;
60  
61  /**
62   * Superclass of CayenneModeler events.
63   * 
64   * @author Andrei Adamchik
65   */
66  public abstract class MapEvent extends CayenneEvent {
67  
68    /** Signifies a changed object. */
69    public static final int CHANGE = 1;
70  
71    /** Signifies a new object. */
72    public static final int ADD = 2;
73  
74    /** Signifies a removed object. */
75    public static final int REMOVE = 3;
76  
77    protected int id = CHANGE;
78    protected String oldName;
79  
80    /**
81     * Constructor for MapEvent.
82     * 
83     * @param source event source
84     */
85    public MapEvent(Object source) {
86      super(source);
87    }
88    
89    /**
90     * Constructor for MapEvent.
91     * 
92     * @param source event source
93     */
94    public MapEvent(Object source, String oldName) {
95      super(source);
96      setOldName(oldName);
97    }
98    
99    
100   public boolean isNameChange() {
101     return !Util.nullSafeEquals(getOldName(), getNewName());
102   }
103   
104   /**
105    * Returns the id.
106    * @return int
107    */
108   public int getId() {
109     return id;
110   }
111 
112 
113   /**
114    * Returns the newName of the object that caused this event.
115    */
116   public abstract String getNewName();
117 
118 
119   /**
120    * Returns the oldName.
121    * @return String
122    */
123   public String getOldName() {
124     return oldName;
125   }
126 
127 
128   /**
129    * Sets the id.
130    * @param id The id to set
131    */
132   public void setId(int id) {
133     this.id = id;
134   }
135 
136   /**
137    * Sets the oldName.
138    * @param oldName The oldName to set
139    */
140   public void setOldName(String oldName) {
141     this.oldName = oldName;
142   }
143 }