/*
* Copyright (c) 2002-2009 "Neo Technology,"
* Network Engine for Objects in Lund AB [http://neotechnology.com]
*
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.kernel.impl.event;
/**
* This typesafe enum [Bloch02] represents an event in Neo.
*/
public class Event
{
private final String name;
// Test event for junit tests.
public static final Event TEST_EVENT = new Event( "TEST_EVENT" );
// Lifecycle events
public static final Event NEO_SHUTDOWN_REQUEST = new Event(
"NEO_SHUTDOWN_REQUEST" );
public static final Event NEO_SHUTDOWN_STARTED = new Event(
"NEO_SHUTDOWN_STARTED" ); // only sent proactively
public static final Event NEO_STARTUP_COMPLETED = new Event(
"NEO_STARTUP_COMPLETED" );
public static final Event NEO_FREEZE_REQUEST = new Event(
"NEO_FREEZE_REQUEST" );
public static final Event NEO_THAW_REQUEST = new Event(
"NEO_THAW_REQUEST" );
// Neo4j kernel related events
public static final Event NODE_CREATE = new Event( "NODE_CREATE" );
public static final Event NODE_DELETE = new Event( "NODE_DELETE" );
public static final Event NODE_ADD_PROPERTY = new Event(
"NODE_ADD_PROPERTY" );
public static final Event NODE_REMOVE_PROPERTY = new Event(
"NODE_REMOVE_PROPERTY" );
public static final Event NODE_CHANGE_PROPERTY = new Event(
"NODE_CHANGE_PROPERTY" );
public static final Event NODE_GET_PROPERTY = new Event(
"NODE_GET_PROPERTY" );
public static final Event RELATIONSHIP_CREATE = new Event(
"RELATIONSHIP_CREATE" );
public static final Event RELATIONSHIP_DELETE = new Event(
"RELATIONSHIP_DELETE" );
public static final Event RELATIONSHIP_ADD_PROPERTY = new Event(
"RELATIONSHIP_ADD_PROPERTY" );
public static final Event RELATIONSHIP_REMOVE_PROPERTY = new Event(
"RELATIONSHIP_REMOVE_PROPERTY" );
public static final Event RELATIONSHIP_CHANGE_PROPERTY = new Event(
"RELATIONSHIP_CHANGE_PROPERTY" );
public static final Event RELATIONSHIP_GET_PROPERTY = new Event(
"RELATIONSHIP_GET_PROPERTY" );
public static final Event RELATIONSHIPTYPE_CREATE = new Event(
"RELATIONSHIPTYPE_CREATE" );
public static final Event PROPERTY_INDEX_CREATE = new Event(
"PROPERTY_INDEX_CREATE" );
protected Event( String name )
{
this.name = name;
}
/**
* To string method.
*
* @return a string representation of this object
*/
@Override
public String toString()
{
return name;
}
}