Added in [API level 3](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Inherited Fields](https://developer.android.com/reference/java/beans/PropertyChangeEvent#inhfields) \| [Ctors](https://developer.android.com/reference/java/beans/PropertyChangeEvent#pubctors) \| [Methods](https://developer.android.com/reference/java/beans/PropertyChangeEvent#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/java/beans/PropertyChangeEvent#inhmethods)

# PropertyChangeEvent

` public class PropertyChangeEvent `   
` ` ` extends https://developer.android.com/reference/java/util/EventObject ` ` `

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [java.util.EventObject](https://developer.android.com/reference/java/util/EventObject) ||
|   | ↳ | java.beans.PropertyChangeEvent |

Known direct subclasses [IndexedPropertyChangeEvent](https://developer.android.com/reference/java/beans/IndexedPropertyChangeEvent) [IndexedPropertyChangeEvent](https://developer.android.com/reference/java/beans/IndexedPropertyChangeEvent) An "IndexedPropertyChange" event gets delivered whenever a component that conforms to the JavaBeans™ specification (a "bean") changes a bound indexed property.   

*** ** * ** ***

A "PropertyChange" event gets delivered whenever a bean changes a "bound" or "constrained" property. A PropertyChangeEvent object is sent as an argument to the PropertyChangeListener and VetoableChangeListener methods.

Normally PropertyChangeEvents are accompanied by the name and the old and new value of the changed property. If the new value is a primitive type (such as int or boolean) it must be wrapped as the corresponding java.lang.\* Object type (such as Integer or Boolean).

Null values may be provided for the old and the new values if their true values are not known.

An event source may send a null object as the name to indicate that an arbitrary set of if its properties have changed. In this case the old and new values should also be null.

## Summary

### Inherited fields

From class `https://developer.android.com/reference/java/util/EventObject` ` protected https://developer.android.com/reference/java/lang/Object` `https://developer.android.com/reference/java/util/EventObject#source`

The object on which the Event initially occurred.

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/java/beans/PropertyChangeEvent#PropertyChangeEvent(java.lang.Object,%20java.lang.String,%20java.lang.Object,%20java.lang.Object)(https://developer.android.com/reference/java/lang/Object source, https://developer.android.com/reference/java/lang/String propertyName, https://developer.android.com/reference/java/lang/Object oldValue, https://developer.android.com/reference/java/lang/Object newValue) ` Constructs a new `PropertyChangeEvent`. |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/beans/PropertyChangeEvent#getNewValue()() ` Gets the new value for the property, expressed as an Object. |
| ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/beans/PropertyChangeEvent#getOldValue()() ` Gets the old value for the property, expressed as an Object. |
| ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/beans/PropertyChangeEvent#getPropagationId()() ` The "propagationId" field is reserved for future use. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/beans/PropertyChangeEvent#getPropertyName()() ` Gets the programmatic name of the property that was changed. |
| ` void` | ` https://developer.android.com/reference/java/beans/PropertyChangeEvent#setPropagationId(java.lang.Object)(https://developer.android.com/reference/java/lang/Object propagationId) ` Sets the propagationId object for the event. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/beans/PropertyChangeEvent#toString()() ` Returns a string representation of the object. |

### Inherited methods

From class ` https://developer.android.com/reference/java/util/EventObject ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/util/EventObject#getSource()() `

The object on which the Event initially occurred.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/util/EventObject#toString()() `

Returns a String representation of this EventObject.
From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.

## Public constructors

### PropertyChangeEvent

Added in [API level 3](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public PropertyChangeEvent (Object source, 
                String propertyName, 
                Object oldValue, 
                Object newValue)
```

Constructs a new `PropertyChangeEvent`.

<br />

| Parameters ||
|---|---|
| `source` | `Object`: the bean that fired the event <br /> |
| `propertyName` | `String`: the programmatic name of the property that was changed <br /> |
| `oldValue` | `Object`: the old value of the property <br /> |
| `newValue` | `Object`: the new value of the property <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | if `source` is `null` |

## Public methods

### getNewValue

Added in [API level 3](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Object getNewValue ()
```

Gets the new value for the property, expressed as an Object.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/Object` | The new value for the property, expressed as an Object. May be null if multiple properties have changed. <br /> |

### getOldValue

Added in [API level 3](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Object getOldValue ()
```

Gets the old value for the property, expressed as an Object.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/Object` | The old value for the property, expressed as an Object. May be null if multiple properties have changed. <br /> |

### getPropagationId

Added in [API level 3](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Object getPropagationId ()
```

The "propagationId" field is reserved for future use. In Beans 1.0 the sole requirement is that if a listener catches a PropertyChangeEvent and then fires a PropertyChangeEvent of its own, then it should make sure that it propagates the propagationId field from its incoming event to its outgoing event.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/Object` | the propagationId object associated with a bound/constrained property update. <br /> |

### getPropertyName

Added in [API level 3](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String getPropertyName ()
```

Gets the programmatic name of the property that was changed.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | The programmatic name of the property that was changed. May be null if multiple properties have changed. <br /> |

### setPropagationId

Added in [API level 3](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void setPropagationId (Object propagationId)
```

Sets the propagationId object for the event.

<br />

| Parameters ||
|---|---|
| `propagationId` | `Object`: The propagationId object for the event. <br /> |

### toString

Added in [API level 3](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String toString ()
```

Returns a string representation of the object.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | a string representation of the object <br /> |