| /** |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| package org.apache.rya.api.client; |
| |
| import static java.util.Objects.requireNonNull; |
| |
| import java.util.Optional; |
| |
| import edu.umd.cs.findbugs.annotations.DefaultAnnotation; |
| import edu.umd.cs.findbugs.annotations.NonNull; |
| import net.jcip.annotations.Immutable; |
| |
| /** |
| * Provides access to a set of Rya functions. |
| */ |
| @Immutable |
| @DefaultAnnotation(NonNull.class) |
| public class RyaClient { |
| // Administrative functions. |
| private final Install install; |
| private final CreatePCJ createPcj; |
| private final DeletePCJ deletePcj; |
| private final Optional<CreatePeriodicPCJ> createPeriodicPcj; |
| private final Optional<DeletePeriodicPCJ> deletePeriodicPcj; |
| private final Optional<ListIncrementalQueries> listIncrementalQueries; |
| private final BatchUpdatePCJ bactchUpdatePCJ; |
| private final GetInstanceDetails getInstanceDetails; |
| private final InstanceExists instanceExists; |
| private final ListInstances listInstances; |
| private final Optional<AddUser> addUser; |
| private final Optional<RemoveUser> removeUser; |
| private final Uninstall uninstall; |
| private final LoadStatements loadStatements; |
| private final LoadStatementsFile loadStatementsFile; |
| private final ExecuteSparqlQuery executeSparqlQuery; |
| |
| /** |
| * Constructs an instance of {@link RyaClient}. |
| */ |
| public RyaClient( |
| final Install install, |
| final CreatePCJ createPcj, final DeletePCJ deletePcj, |
| final Optional<CreatePeriodicPCJ> createPeriodicPcj, |
| final Optional<DeletePeriodicPCJ> deletePeriodicPcj, |
| final Optional<ListIncrementalQueries> listIncrementalQueries, |
| final BatchUpdatePCJ batchUpdatePcj, |
| final GetInstanceDetails getInstanceDetails, |
| final InstanceExists instanceExists, |
| final ListInstances listInstances, |
| final Optional<AddUser> addUser, |
| final Optional<RemoveUser> removeUser, |
| final Uninstall uninstall, |
| final LoadStatements loadStatements, |
| final LoadStatementsFile loadStatementsFile, |
| final ExecuteSparqlQuery executeSparqlQuery) { |
| this.install = requireNonNull(install); |
| this.createPcj = requireNonNull(createPcj); |
| this.deletePcj = requireNonNull(deletePcj); |
| this.createPeriodicPcj = requireNonNull(createPeriodicPcj); |
| this.deletePeriodicPcj = requireNonNull(deletePeriodicPcj); |
| this.listIncrementalQueries = requireNonNull(listIncrementalQueries); |
| bactchUpdatePCJ = requireNonNull(batchUpdatePcj); |
| this.getInstanceDetails = requireNonNull(getInstanceDetails); |
| this.instanceExists = requireNonNull(instanceExists); |
| this.listInstances = requireNonNull(listInstances); |
| this.addUser = requireNonNull(addUser); |
| this.removeUser = requireNonNull(removeUser); |
| this.uninstall = requireNonNull(uninstall); |
| this.loadStatements = requireNonNull(loadStatements); |
| this.loadStatementsFile = requireNonNull(loadStatementsFile); |
| this.executeSparqlQuery = requireNonNull(executeSparqlQuery); |
| } |
| |
| /** |
| * @return An instance of {@link Install} that is connected to a Rya storage. |
| */ |
| public Install getInstall() { |
| return install; |
| } |
| |
| /** |
| * @return An instance of {@link CreatePCJ} that is connected to a Rya storage |
| * if the Rya instance supports PCJ indexing. |
| */ |
| public CreatePCJ getCreatePCJ() { |
| return createPcj; |
| } |
| |
| /** |
| * @return An instance of {@link DeletePCJ} that is connected to a Rya storage |
| * if the Rya instance supports PCJ indexing. |
| */ |
| public DeletePCJ getDeletePCJ() { |
| return deletePcj; |
| } |
| |
| /** |
| * @return An instance of {@link CreatePeridodicPCJ} that is connected to a Rya Periodic Storage |
| */ |
| public Optional<CreatePeriodicPCJ> getCreatePeriodicPCJ() { |
| return createPeriodicPcj; |
| } |
| |
| /** |
| * @return An instance of {@link DeletePeriodicPCJ} that is connected to a Rya Periodic Storage |
| */ |
| public Optional<DeletePeriodicPCJ> getDeletePeriodicPCJ() { |
| return deletePeriodicPcj; |
| } |
| |
| /** |
| * @return An instance of {@link ListIncrementalQueries} for displaying queries that are incrementallly |
| * maintained by the Rya instance |
| */ |
| public Optional<ListIncrementalQueries> getListIncrementalQueries() { |
| return listIncrementalQueries; |
| } |
| |
| /** |
| * @return An instance of {@link BatchUpdatePCJ} that is connect to a Rya storage |
| * if the Rya instance supports PCJ indexing. |
| */ |
| public BatchUpdatePCJ getBatchUpdatePCJ() { |
| return bactchUpdatePCJ; |
| } |
| |
| /** |
| * @return An instance of {@link GetInstanceDetails} that is connected to a Rya storage. |
| */ |
| public GetInstanceDetails getGetInstanceDetails() { |
| return getInstanceDetails; |
| } |
| |
| /** |
| * @return An instance of {@link ListInstances} that is connected to a Rya storage. |
| */ |
| public ListInstances getListInstances() { |
| return listInstances; |
| } |
| |
| /** |
| * @return An instance of {@link InstanceExists} that is connected to a Rya storage. |
| */ |
| public InstanceExists getInstanceExists() { |
| return instanceExists; |
| } |
| |
| /** |
| * @return An instance of {@link AddUser} that is connected to a Rya storage. |
| */ |
| public Optional<AddUser> getAddUser() { |
| return addUser; |
| } |
| |
| /** |
| * @return An instance of {@link DeleteUser} that is connected to a Rya storage. |
| */ |
| public Optional<RemoveUser> getRemoveUser() { |
| return removeUser; |
| } |
| |
| /** |
| * @return An instance of {@link Uninstall} that is connected to a Rya storage. |
| */ |
| public Uninstall getUninstall() { |
| return uninstall; |
| } |
| |
| /** |
| * @return An instance of {@link LoadStatements} that is connected to a Rya storage. |
| */ |
| public LoadStatements getLoadStatements() { |
| return loadStatements; |
| } |
| |
| /** |
| * @return An instance of {@link LoadStatementsFile} that is connected to a Rya storage. |
| */ |
| public LoadStatementsFile getLoadStatementsFile() { |
| return loadStatementsFile; |
| } |
| |
| /** |
| * @return An instance of {@link ExecuteSparqlQuery} that is connected to a Rya storage. |
| */ |
| public ExecuteSparqlQuery getExecuteSparqlQuery() { |
| return executeSparqlQuery; |
| } |
| } |