Package org.eclipse.rdf4j.federated

## Class EndpointManager

- java.lang.Object
- - org.eclipse.rdf4j.federated.EndpointManager

-     public class EndpointManager
      extends Object

  EndpointManager is the singleton instance that manages available `Endpoint`s. Particular endpoints can be looked up by their id and connection and all relevant information can be used.
  Author:
    Andreas Schwarte

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected HashMap<String,​Endpoint>` | `endpoints` |
    `protected boolean` | `inRepair` |
    `protected Long` | `lastRepaired` |
    `protected static org.slf4j.Logger` | `log` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addEndpoint​(Endpoint e)` | Add the (initialized) endpoint to this endpoint manager to be used by the `FederationManager`.
    `Collection<Endpoint>` | `getAvailableEndpoints()` |
    `Endpoint` | `getEndpoint​(String endpointID)` |
    `Endpoint` | `getEndpointByName​(String endpointName)` |
    `Endpoint` | `getEndpointByUrl​(String endpointUrl)` | Return the Endpoint for the provided endpoint url, if it exists.
    `List<Endpoint>` | `getEndpoints​(Set<String> endpointIDs)` |
    `static EndpointManager` | `initialize​(List<Endpoint> endpoints)` | Initialize the singleton endpoint manager with the provided endpoints
    `protected void` | `removeEndpoint​(Endpoint e)` | Remove the provided endpoint from this endpoint manager to be used by the `FederationManager`.

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

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

- - ### Field Detail

    - #### log

          protected static final org.slf4j.Logger log

    - #### endpoints

          protected HashMap<String,​Endpoint> endpoints

    - #### inRepair

          protected boolean inRepair

    - #### lastRepaired

          protected Long lastRepaired

  - ### Method Detail

    - #### initialize

          public static EndpointManager initialize​(List<Endpoint> endpoints)

      Initialize the singleton endpoint manager with the provided endpoints
      Parameters:
        `endpoints` -

    - #### addEndpoint

          public void addEndpoint​(Endpoint e)

      Add the (initialized) endpoint to this endpoint manager to be used by the `FederationManager`.
      Parameters:
        `e` - the endpoint

    - #### removeEndpoint

          protected void removeEndpoint​(Endpoint e)
                                 throws NoSuchElementException

      Remove the provided endpoint from this endpoint manager to be used by the `FederationManager`. In addition, this method unregisters the `FederatedService` from Sesame
      Parameters:
        `e` - the endpoint
      Throws:
        `NoSuchElementException` - if there is no mapping for some endpoint id

    - #### getAvailableEndpoints

          public Collection<Endpoint> getAvailableEndpoints()

      Returns:
        a collection of available endpoints in this endpoint manager

    - #### getEndpoint

          public Endpoint getEndpoint​(String endpointID)

      Parameters:
        `endpointID` -
      Returns:
        the endpoint corresponding to the provided id or null

    - #### getEndpointByUrl

          public Endpoint getEndpointByUrl​(String endpointUrl)

      Return the Endpoint for the provided endpoint url, if it exists. Otherwise return null.
      Parameters:
        `endpointUrl` -
      Returns:
        the endpoint by its URL

    - #### getEndpointByName

          public Endpoint getEndpointByName​(String endpointName)

    - #### getEndpoints

          public List<Endpoint> getEndpoints​(Set<String> endpointIDs)
                                      throws NoSuchElementException

      Parameters:
        `endpointIDs` -
      Returns:
        a list of endpoints corresponding to the provided ids
      Throws:
        `NoSuchElementException` - if there is no mapping for some endpoint id