/* * Copyright (C) 2009 eXo Platform SAS. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.exoplatform.services.jcr.observation; import javax.jcr.RepositoryException; import javax.jcr.observation.Event; import java.util.Map; /** * Created by The eXo Platform SAS. * * @author Gennady Azarenkov * @version $Id: ExtendedEvent.java 11907 2008-03-13 15:36:21Z ksm $ */ public interface ExtendedEvent extends Event { public static final int SAVE = 32; public static final int MOVE = 64; public static final int COPY = 128; public static final int ADD_MIXIN = 256; public static final int REMOVE_MIXIN = 512; public static final int CLONE = 1024; public static final int UPDATE = 2048; public static final int IMPORT = 4096; public static final int CHECKIN = 8192; public static final int CHECKOUT = 16384; public static final int RESTORE = 32768; public static final int MERGE = 65536; public static final int CANCEL_MERGE = 131072; public static final int DONE_MERGE = 262144; public static final int ADD_VERSION_LABEL = 524288; public static final int REMOVE_VERSION_LABEL = 1048576; public static final int REMOVE_VERSION = 2097152; public static final int LOCK = 4194304; public static final int UNLOCK = 8388608; public static final int READ = 16777216; /** * Generated on persist when a node is moved. <ul> <li>{@link #getPath} * returns the absolute path of the destination of the move.</li> <li> * #getIdentifier returns the identifier of the moved node. <li> {@link * #getInfo} If the method that caused this event was a {@link * javax.jcr.Session#move Session.move} or {@link javax.jcr.Workspace#move * Workspace.move} then the returned {@link java.util.Map Map} has keys * <code>srcAbsPath</code> and <code>destAbsPath</code> with values * corresponding to the parameters passed to the <code>move</code> method. * <p> * If the method that caused this event was a {@link * javax.jcr.Node#orderBefore Node.orderBefore} then the returned * <code>Map</code> has keys <code>srcChildRelPath</code> and * <code>destChildRelPath</code> with values corresponding to the parameters * passed to the <code>orderBefore</code> method. </li> </ul> */ public static final int NODE_MOVED = 33554432; /** * The key <code>srcAbsPath</code> in the info map. */ public static final String SRC_ABS_PATH = "srcAbsPath"; /** * The key <code>destAbsPath</code> in the info map. */ public static final String DEST_ABS_PATH = "destAbsPath"; /** * The key <code>srcChildRelPath</code> in the info map. */ public static final String SRC_CHILD_REL_PATH = "srcChildRelPath"; /** * The key <code>destChildRelPath</code> in the info map. */ public static final String DEST_CHILD_REL_PATH = "destChildRelPath"; /** * Returns the information map associated with this event. The meaning of * the map depends upon the type of the event. See event type constants * above. * * @return A <code>Map</code> containing parameter information for instances * of a <code>NODE_MOVED</code> event. * @throws RepositoryException if an error occurs. */ public Map getInfo() throws RepositoryException; }