IndexerChange.java
- package gov.usgs.earthquake.indexer;
- /**
- * Description of a specific change to a {@link ProductIndex}.
- *
- * Multiple IndexerChange objects may be created, and grouped
- * into an {@link IndexerEvent}, in response to one product
- * being processed.
- */
- public class IndexerChange {
- /** Enumeration of indexer event types. */
- public static enum IndexerChangeType {
- /** Enum for IndexerChangeType Event Added */
- EVENT_ADDED,
- /** Enum for IndexerChangeType Event Updated */
- EVENT_UPDATED,
- /** Enum for IndexerChangeType Event Deleted */
- EVENT_DELETED,
- /** Enum for IndexerChangeType Event Archived */
- EVENT_ARCHIVED,
- /** Enum for IndexerChangeType Event Merged */
- EVENT_MERGED,
- /** Enum for IndexerChangeType Event Split */
- EVENT_SPLIT,
- /** Enum for IndexerChangeType Product Added */
- PRODUCT_ADDED,
- /** Enum for IndexerChangeType Product Updated */
- PRODUCT_UPDATED,
- /** Enum for IndexerChangeType Product Deleted */
- PRODUCT_DELETED,
- /** Enum for IndexerChangeType Product Archived */
- PRODUCT_ARCHIVED
- };
- /** IndexerChangeType for Event Added */
- public static final IndexerChangeType EVENT_ADDED = IndexerChangeType.EVENT_ADDED;
- /** IndexerChangeType for Event Updated */
- public static final IndexerChangeType EVENT_UPDATED = IndexerChangeType.EVENT_UPDATED;
- /** IndexerChangeType for Event Deleted */
- public static final IndexerChangeType EVENT_DELETED = IndexerChangeType.EVENT_DELETED;
- /** IndexerChangeType for Event Archived */
- public static final IndexerChangeType EVENT_ARCHIVED = IndexerChangeType.EVENT_ARCHIVED;
- /** IndexerChangeType for Event Merged */
- public static final IndexerChangeType EVENT_MERGED = IndexerChangeType.EVENT_MERGED;
- /** IndexerChangeType for Event Split */
- public static final IndexerChangeType EVENT_SPLIT = IndexerChangeType.EVENT_SPLIT;
- /** IndexerChangeType for Product Added */
- public static final IndexerChangeType PRODUCT_ADDED = IndexerChangeType.PRODUCT_ADDED;
- /** IndexerChangeType for Product Updated */
- public static final IndexerChangeType PRODUCT_UPDATED = IndexerChangeType.PRODUCT_UPDATED;
- /** IndexerChangeType for Product Deleted */
- public static final IndexerChangeType PRODUCT_DELETED = IndexerChangeType.PRODUCT_DELETED;
- /** IndexerChangeType for Product Archived */
- public static final IndexerChangeType PRODUCT_ARCHIVED = IndexerChangeType.PRODUCT_ARCHIVED;
- /** Indicates the type of change that is occurring */
- private IndexerChangeType type;
- /** The event as it was before the change occurred. */
- private Event originalEvent;
- /** The event as it is after the change occurred. */
- private Event newEvent;
- /**
- * Constructor to quickly create a new <code>IndexerChange</code> object to
- * be added to the list of changes in a given <code>IndexerEvent</code>.
- * Note the <code>oldEvent</code> and <code>newEvent</code> will have
- * particular meanings depending on the given <code>type</code> of change
- * that occurred.
- *
- * @param type
- * The type of change that occurred.
- * @param originalEvent
- * The event as it was before the change occurred.
- * @param newEvent
- * The event as it is after the change occurred.
- * @see IndexerEvent
- */
- public IndexerChange(IndexerChangeType type, Event originalEvent,
- Event newEvent) {
- this.type = type;
- this.originalEvent = originalEvent;
- this.newEvent = newEvent;
- }
- /** @return IndexerChangeType */
- public IndexerChangeType getType() {
- return this.type;
- }
- /** @return originalEvent */
- public Event getOriginalEvent() {
- return this.originalEvent;
- }
- /** @return newEvent */
- public Event getNewEvent() {
- return this.newEvent;
- }
- @Override
- public String toString() {
- StringBuffer b = new StringBuffer();
- b.append(getType().toString() + " :: ");
- if (getOriginalEvent() != null) {
- b.append(getOriginalEvent().getEventId() + " --> ");
- } else {
- b.append("null --> ");
- }
- if (getNewEvent() != null) {
- b.append(getNewEvent().getEventId());
- } else {
- b.append("null");
- }
- return b.toString();
- }
- }