---
name: "Prophet::Change"
section: "3pm"
platform: "linux"
package: "libprophet-perl"
version: "0.743-1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Prophet::Change"
---

# Prophet::Change(3pm)

## NAME

Prophet::Change

## DESCRIPTION

This class encapsulates a change to a single record in a Prophet replica.

## METHODS

### record\_type

The record type for the record.

### record\_uuid

The UUID of the record being changed.

### change\_type

One of `"add_file"`, `"add_dir"`, `"update_file"`, `"delete"`.

### is\_resolution

A boolean value specifying whether this change represents a conflict resolution or not.

### prop\_changes \[\\@PROPCHANGES\]

Returns a list of Prophet::PropChanges associated with this Change. Takes an optional arrayref to fully replace the set of propchanges.

### has\_prop\_changes

Returns true if this change contains any Prophet::PropChanges and false if it doesn't.

### new\_from\_conflict $conflict

Takes a Prophet::Conflict object and creates a Prophet::Change object representing the conflict resolution.

### add\_prop\_change { new =\> \_\_, old =\> \_\_\_, name =\> \_\_\_ }

Adds a new Prophet::PropChange to this Prophet::Change.

Takes a `"name"`, and the `"old"` and `"new"` values.

### as\_hash

Returns a reference to a representation of this change as a hash.

### as\_string ARGS

Returns a string representing this change. If `$args{header_callback}` is specified, the string returned from passing `$self` to the callback is prepended to the change string before it is returned.

### new\_from\_hashref HASHREF

Takes a reference to a hash representation of a change (such as is returned by "as\_hash" or serialized json) and returns a new Prophet::Change representation of it.

This method should be invoked as a class method, not an object method.

For example: `"Prophet::Change->new_from_hashref($ref_to_change_hash)"`
