001/* 002 * The contents of this file are subject to the license and copyright 003 * detailed in the LICENSE and NOTICE files at the root of the source 004 * tree. 005 */ 006package org.fcrepo.kernel.api.observer; 007 008import static org.fcrepo.kernel.api.RdfLexicon.ACTIVITY_STREAMS_NAMESPACE; 009 010/** 011 * A collection of repository event types 012 * 013 * @author ajs6f 014 * @since Feb 7, 2013 015 */ 016public enum EventType { 017 018 RESOURCE_CREATION("create resource", "Create"), 019 RESOURCE_DELETION("delete resource", "Delete"), 020 RESOURCE_MODIFICATION("update resource", "Update"), 021 RESOURCE_RELOCATION("move resource", "Move"), 022 INBOUND_REFERENCE("refer to resource", "Follow"), 023 RESOURCE_PURGE("remove resource tombstone", "Purge"); 024 025 private final String eventName; 026 private final String eventType; 027 028 EventType(final String eventName, final String eventType) { 029 this.eventName = eventName; 030 this.eventType = eventType; 031 } 032 033 /** 034 * @return a human-readable name for this event 035 */ 036 public String getName() { 037 return this.eventName; 038 } 039 040 /** 041 * @return type for this event without the namespace. 042 */ 043 public String getTypeAbbreviated() { 044 return eventType; 045 } 046 047 /** 048 * @return an rdf type for this event 049 */ 050 public String getType() { 051 return ACTIVITY_STREAMS_NAMESPACE + eventType; 052 } 053 054}