| /*=============================================================================# |
| # Copyright (c) 2006, 2021 Stephan Wahlbrink and others. |
| # |
| # This program and the accompanying materials are made available under the |
| # terms of the Eclipse Public License 2.0 which is available at |
| # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0 |
| # which is available at https://www.apache.org/licenses/LICENSE-2.0. |
| # |
| # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 |
| # |
| # Contributors: |
| # Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation |
| #=============================================================================*/ |
| |
| package org.eclipse.statet.r.core; |
| |
| import java.util.Objects; |
| |
| import org.eclipse.core.runtime.Platform; |
| import org.eclipse.core.runtime.content.IContentType; |
| import org.eclipse.core.runtime.content.IContentTypeManager; |
| |
| import org.eclipse.statet.jcommons.lang.NonNullByDefault; |
| import org.eclipse.statet.jcommons.lang.Nullable; |
| |
| import org.eclipse.statet.internal.r.core.RCorePlugin; |
| import org.eclipse.statet.r.core.pkgmanager.IRPkgManager; |
| import org.eclipse.statet.r.core.renv.IREnvManager; |
| import org.eclipse.statet.rhelp.core.RHelpManager; |
| import org.eclipse.statet.rhelp.core.http.RHelpHttpService; |
| import org.eclipse.statet.rj.renv.core.REnv; |
| |
| |
| /** |
| * Provides r core services. |
| */ |
| @NonNullByDefault |
| public class RCore { |
| |
| |
| public static final String BUNDLE_ID= "org.eclipse.statet.r.core"; //$NON-NLS-1$ |
| |
| |
| /** |
| * Content type id for R sources |
| */ |
| public static final String R_CONTENT_ID= "org.eclipse.statet.r.contentTypes.R"; //$NON-NLS-1$ |
| |
| public static final IContentType R_CONTENT_TYPE; |
| |
| /** |
| * Content type id for Rd sources |
| */ |
| public static final String RD_CONTENT_ID= "org.eclipse.statet.r.contentTypes.Rd"; //$NON-NLS-1$ |
| |
| public static final IContentType RD_CONTENT_TYPE; |
| |
| /** |
| * Content type id for RPkg 'DESCRIPTION' sources |
| */ |
| public static final String RPKG_DESCRIPTION_CONTENT_ID= "org.eclipse.statet.r.contentTypes.RPkgDescription"; //$NON-NLS-1$ |
| |
| public static final IContentType RPKG_DESCRIPTION_CONTENT_TYPE; |
| |
| /** |
| * Content type id for RPkg 'NAMESPACE' sources |
| */ |
| public static final String RPKG_NAMESPACE_CONTENT_ID= "org.eclipse.statet.r.contentTypes.RPkgNamespace"; //$NON-NLS-1$ |
| |
| public static final IContentType RPKG_NAMESPACE_CONTENT_TYPE; |
| |
| static { |
| final IContentTypeManager contentTypeManager= Platform.getContentTypeManager(); |
| R_CONTENT_TYPE= Objects.requireNonNull( |
| contentTypeManager.getContentType(R_CONTENT_ID) ); |
| RD_CONTENT_TYPE= Objects.requireNonNull( |
| contentTypeManager.getContentType(RD_CONTENT_ID) ); |
| RPKG_DESCRIPTION_CONTENT_TYPE= Objects.requireNonNull( |
| contentTypeManager.getContentType(RPKG_DESCRIPTION_CONTENT_ID) ); |
| RPKG_NAMESPACE_CONTENT_TYPE= Objects.requireNonNull( |
| contentTypeManager.getContentType(RPKG_NAMESPACE_CONTENT_ID) ); |
| } |
| |
| |
| /** |
| * The R environment id for the default configuration in the workbench |
| */ |
| public static final String DEFAULT_WORKBENCH_ENV_ID= "default-workbench"; //$NON-NLS-1$ |
| |
| |
| public static final String DEFAULT_RHELP_BROWSE_URL= RHelpHttpService.PORTABLE_URI_SCHEME + ":/browse/" + DEFAULT_WORKBENCH_ENV_ID + '/'; //$NON-NLS-1$ |
| |
| |
| public static final RCoreAccess WORKBENCH_ACCESS= RCorePlugin.getInstance().getWorkspaceRCoreAccess(); |
| |
| |
| /** |
| * Usually used, if no other context (e.g. project) specified. |
| */ |
| public static RCoreAccess getWorkbenchAccess() { |
| return WORKBENCH_ACCESS; |
| } |
| |
| /** |
| * Usually only used in special cases like preference dialogs. |
| */ |
| public static RCoreAccess getDefaultsAccess() { |
| return RCorePlugin.getInstance().getDefaultsRCoreAccess(); |
| } |
| |
| /** |
| * @return the manager with with shared configurations of the R environments. |
| */ |
| public static IREnvManager getREnvManager() { |
| return RCorePlugin.getInstance().getREnvManager(); |
| } |
| |
| public static @Nullable IRPkgManager getRPkgManager(final REnv env) { |
| return RCorePlugin.getInstance().getREnvPkgManager().getManager(env); |
| } |
| |
| public static RHelpManager getRHelpManager() { |
| return RCorePlugin.getInstance().getRHelpManager(); |
| } |
| |
| public static RHelpHttpService getRHelpHttpService() { |
| return RCorePlugin.getInstance().getRHelpHttpService(); |
| } |
| |
| } |