/* * 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.directory.studio.ldapservers.model; import org.apache.directory.studio.ldapservers.LdapServerAdapterExtensionsManager; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.jface.resource.ImageDescriptor; /** * The {@link LdapServerAdapterExtension} class represents an extension to the * LDAP Server Adapters extension point. * * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a> */ public class LdapServerAdapterExtension { /** The extension point configuration */ private IConfigurationElement extensionPointConfiguration; /** The ID */ private String id; /** The name*/ private String name; /** The version */ private String version; /** The vendor */ private String vendor; /** The class name */ private String className; /** The {@link LdapServerAdapter} instance */ private LdapServerAdapter instance; /** The description */ private String description; /** The icon */ private ImageDescriptor icon; /** The configuration page class name */ private String configurationPageClassName; /** The flag to enable the open configuration action */ private boolean openConfigurationActionEnabled; /** * Gets the class name. * * @return * the class name */ public String getClassName() { return className; } /** * Gets the configuration page class name. * * @return * the configuration page class name */ public String getConfigurationPageClassName() { return configurationPageClassName; } /** * Gets the description. * * @return * the description */ public String getDescription() { return description; } /** * Gets the extension point configuration. * * @return * the extension point configuration */ public IConfigurationElement getExtensionPointConfiguration() { return extensionPointConfiguration; } /** * Gets the icon. * * @return * the icon */ public ImageDescriptor getIcon() { return icon; } /** * Gets the ID. * * @return * the ID */ public String getId() { return id; } /** * Gets the {@link LdapServerAdapter} instance. * * @return * the {@link LdapServerAdapter} instance */ public LdapServerAdapter getInstance() { return instance; } /** * Gets the name. * * @return * the name */ public String getName() { return name; } /** * Gets a new configuration page instance. * * @return * a new configuration page instance */ public LdapServerAdapterConfigurationPage getNewConfigurationPageInstance() { try { return ( LdapServerAdapterConfigurationPage ) extensionPointConfiguration .createExecutableExtension( LdapServerAdapterExtensionsManager.CONFIGURATION_PAGE_ATTR ); } catch ( CoreException e ) { return null; } } /** * Gets the vendor. * * @return * the vendor */ public String getVendor() { return vendor; } /** * Gets the version. * * @return * the version */ public String getVersion() { return version; } /** * Returns the flag to enable the open configuration action. * * @return the flag to enable the open configuration action */ public boolean isOpenConfigurationActionEnabled() { return openConfigurationActionEnabled; } /** * Sets the class name. * * @param className * the class name */ public void setClassName( String className ) { this.className = className; } /** * Sets the configuration page class name. * * @param configurationPageClassName * the configuration page class name */ public void setConfigurationPageClassName( String configurationPageClassName ) { this.configurationPageClassName = configurationPageClassName; } /** * Sets the description. * * @param description * the description */ public void setDescription( String description ) { this.description = description; } /** * Sets the extension point configuration. * * @param IConfigurationElement * the extension point configuration */ public void setExtensionPointConfiguration( IConfigurationElement extensionPointConfiguration ) { this.extensionPointConfiguration = extensionPointConfiguration; } /** * Sets the icon. * * @param icon * the icon */ public void setIcon( ImageDescriptor icon ) { this.icon = icon; } /** * Sets the ID. * * @param id * the ID */ public void setId( String id ) { this.id = id; } /** * Sets the {@link LdapServerAdapter} instance. * * @param instance * the {@link LdapServerAdapter} instance */ public void setInstance( LdapServerAdapter instance ) { this.instance = instance; } /** * Sets the name. * * @param name * the name */ public void setName( String name ) { this.name = name; } /** * Sets the flag to enable the open configuration action. * * @param openConfigurationActionEnabled the flag to enable the open configuration action */ public void setOpenConfigurationActionEnabled( boolean openConfigurationActionEnabled ) { this.openConfigurationActionEnabled = openConfigurationActionEnabled; } /** * Sets the vendor. * * @param vendor * the vendor */ public void setVendor( String vendor ) { this.vendor = vendor; } /** * Sets the version. * * @param version * the version */ public void setVersion( String version ) { this.version = version; } }