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

Copyright © 2015-2022 Eclipse Foundation. All Rights Reserved.