org.modeshape.jcr
Class SystemFunctions.InitializeVersionHistoryFunction

java.lang.Object
  extended by org.modeshape.graph.request.function.Function
      extended by org.modeshape.jcr.SystemFunctions.VersionHistoryFunction
          extended by org.modeshape.jcr.SystemFunctions.InitializeVersionHistoryFunction
All Implemented Interfaces:
Serializable
Enclosing class:
SystemFunctions

@Immutable
public static class SystemFunctions.InitializeVersionHistoryFunction
extends SystemFunctions.VersionHistoryFunction

The Function implementation that efficiently ensures that the JCR version history and storage for a node exist. This function will correctly initialize the version storage and output the values for the "mix:versionable" properties.

Note that this function will work correctly even if there is already an existing version history for the UUID. This is useful in situations like importing content, where an existing node might be deleted from the content and replaced with a new node with the same UUID, where the version history of the older node is to be kept.

This function requires the following inputs:

The function produces the following outputs:

See Also:
Serialized Form

Field Summary
static String BASE_VERSION_UUID
           
static String MIXIN_TYPE_NAME_LIST
           
static String ORIGINAL_UUID
           
static String PATH_OF_HIGHEST_MODIFIED_NODE
           
static String PREDECESSOR_UUID_LIST
           
static String PRIMARY_TYPE_NAME
           
static String VERSION_HISTORY_PATH
           
static String VERSION_HISTORY_UUID
           
static String VERSION_UUID
           
static String VERSIONED_NODE_UUID
           
 
Constructor Summary
SystemFunctions.InitializeVersionHistoryFunction()
           
 
Method Summary
 void run(FunctionContext context)
          The method called to invoke the function.
 
Methods inherited from class org.modeshape.jcr.SystemFunctions.VersionHistoryFunction
createPropertyIfDifferent, initializeVersionStorage, versionHistoryLocationFor
 
Methods inherited from class org.modeshape.graph.request.function.Function
isReadOnly
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VERSIONED_NODE_UUID

public static final String VERSIONED_NODE_UUID
See Also:
Constant Field Values

ORIGINAL_UUID

public static final String ORIGINAL_UUID
See Also:
Constant Field Values

VERSION_HISTORY_PATH

public static final String VERSION_HISTORY_PATH
See Also:
Constant Field Values

VERSION_UUID

public static final String VERSION_UUID
See Also:
Constant Field Values

PRIMARY_TYPE_NAME

public static final String PRIMARY_TYPE_NAME
See Also:
Constant Field Values

MIXIN_TYPE_NAME_LIST

public static final String MIXIN_TYPE_NAME_LIST
See Also:
Constant Field Values

PREDECESSOR_UUID_LIST

public static final String PREDECESSOR_UUID_LIST
See Also:
Constant Field Values

VERSION_HISTORY_UUID

public static final String VERSION_HISTORY_UUID
See Also:
Constant Field Values

BASE_VERSION_UUID

public static final String BASE_VERSION_UUID
See Also:
Constant Field Values

PATH_OF_HIGHEST_MODIFIED_NODE

public static final String PATH_OF_HIGHEST_MODIFIED_NODE
See Also:
Constant Field Values
Constructor Detail

SystemFunctions.InitializeVersionHistoryFunction

public SystemFunctions.InitializeVersionHistoryFunction()
Method Detail

run

public void run(FunctionContext context)
The method called to invoke the function. The implementation can obtain from the supplied FunctionContext the inputs to the function, a FunctionContext.builder() that can be used to create and immediately execute other requests, the context of execution, the location in the graph where the function is being applied, and other information needed during execution. The implementation even uses the supplied FunctionContext to write output parameters.

Specified by:
run in class Function
Parameters:
context - the context in which the function is being invoked, and which contains the inputs, the outputs, and methods to create and invoke other requests on the connector
See Also:
Function.run(org.modeshape.graph.request.function.FunctionContext)


Copyright © 2008-2011 JBoss, a division of Red Hat. All Rights Reserved.