org.modeshape.jcr

## Class ModeShapeFederationManager

- java.lang.Object
- - org.modeshape.jcr.ModeShapeFederationManager

- All Implemented Interfaces:
    FederationManager

      public class ModeShapeFederationManager
      extends Object
      implements FederationManager

  Implementation of the `FederationManager` interface.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `ModeShapeFederationManager(JcrSession session, DocumentStore documentStore)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `createProjection(String absNodePath, String sourceName, String externalPath, String alias)` Creates an external projection by linking an internal node with an external node, from a given source using an optional alias.
    `void` | `removeProjection(String projectionPath)` Removes a projection located at the given path, in the workspace which was used to get the federation manager.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ModeShapeFederationManager

          protected ModeShapeFederationManager(JcrSession session,
                                    DocumentStore documentStore)

  - ### Method Detail

    - #### createProjection

          public void createProjection(String absNodePath,
                              String sourceName,
                              String externalPath,
                              String alias)
                                throws RepositoryException

      Description copied from interface: `FederationManager`
      Creates an external projection by linking an internal node with an external node, from a given source using an optional alias. If this is the first node linked to the existing node, it will convert the existing node to a federated node.
      Specified by:
        `createProjection` in interface `FederationManager`
      Parameters:
        `absNodePath` - a `non-null` string representing the absolute path to an existing internal node.
        `sourceName` - a `non-null` string representing the name of an external source, configured in the repository.
        `externalPath` - a `non-null` string representing a path in the external source, where at which there is an external node that will be linked.
        `alias` - an optional string representing the name under which the alias should be created. If not present, the `externalPath` will be used as the name of the alias.
      Throws:
        `RepositoryException` - if the repository cannot perform the operation.

    - #### removeProjection

          public void removeProjection(String projectionPath)
                                throws RepositoryException

      Description copied from interface: `FederationManager`
      Removes a projection located at the given path, in the workspace which was used to get the federation manager.

      A projection path has the form: [repositoryPath]/[projection alias] as created via `FederationManager.createProjection(String, String, String, String)`

      Specified by:
        `removeProjection` in interface `FederationManager`
      Parameters:
        `projectionPath` - a `non-null` String representing the path to a projection
      Throws:
        `PathNotFoundException` - if either the repository path or the projection alias are not valid
        `RepositoryException` - if anything unexpected fails

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