org.modeshape.jcr.api.federation

## Interface FederationManager

- All Known Implementing Classes:
    ModeShapeFederationManager

      public interface FederationManager

  The federation manager object which provides the entry point into ModeShape's federation system, allowing clients to create federated nodes.

- - ### 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.

- - ### Method Detail

    - #### createProjection

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

      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.
      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

          void removeProjection(String projectionPath)
                                throws RepositoryException

      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 `createProjection(String, String, String, String)`

      Parameters:
        `projectionPath` - a `non-null` String representing the path to a projection
      Throws:
        `IllegalArgumentException` - if the projection path does not represent a valid path
        `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.