| /******************************************************************************* |
| * Copyright (c) 2001, 2004 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| |
| package org.eclipse.wst.command.internal.env.context; |
| |
| import java.util.Vector; |
| import org.eclipse.core.runtime.IConfigurationElement; |
| import org.eclipse.core.runtime.IExtensionRegistry; |
| import org.eclipse.core.runtime.Platform; |
| import org.eclipse.wst.command.internal.env.preferences.ActionDialogPreferenceType; |
| |
| |
| public class ActionDialogPreferenceTypeRegistry |
| { |
| private Vector preferences_; |
| |
| private static ActionDialogPreferenceTypeRegistry registry_; |
| |
| private ActionDialogPreferenceTypeRegistry() |
| { |
| preferences_ = new Vector(); |
| |
| loadDialogsPreferences(); |
| } |
| |
| static public ActionDialogPreferenceTypeRegistry getInstance() |
| { |
| if( registry_ == null ) |
| { |
| registry_ = new ActionDialogPreferenceTypeRegistry(); |
| } |
| |
| return registry_; |
| } |
| |
| // |
| private void loadDialogsPreferences () |
| { |
| IExtensionRegistry reg = Platform.getExtensionRegistry(); |
| IConfigurationElement[] config = reg.getConfigurationElementsFor( "org.eclipse.wst.command.env", |
| "actionDialogPreferenceType"); |
| |
| for(int idx=0; idx<config.length; idx++) |
| { |
| IConfigurationElement elem = config[idx]; |
| ActionDialogPreferenceType dialog = new ActionDialogPreferenceType(); |
| |
| dialog.setId( elem.getAttribute("id") ); |
| dialog.setName( elem.getAttribute("name") ); |
| dialog.setInfopop( elem.getAttribute("infopop") ); |
| dialog.setTooltip( elem.getAttribute("tooltip") ); |
| dialog.setCategory( elem.getAttribute("category") ); |
| |
| String showCheckbox = elem.getAttribute( "showcheckbox" ); |
| String alwaysHide = elem.getAttribute( "alwayshide" ); |
| |
| dialog.setShowCheckbox( showCheckbox == null ? true : showCheckbox.equals( "true" ) ); |
| dialog.setAlwaysHide( alwaysHide == null ? false : alwaysHide.equals( "true" ) ); |
| |
| preferences_.add(dialog); |
| } |
| } |
| |
| /** |
| * Returns all registered <code>WebServiceType</code> objects. |
| * @return All registered <code>WebServiceType</code> objects. |
| */ |
| public ActionDialogPreferenceType[] getActionDialogsPrefrences () |
| { |
| return (ActionDialogPreferenceType[])preferences_.toArray( new ActionDialogPreferenceType[0]); |
| } |
| |
| public ActionDialogPreferenceType getActionDialogsPrefrence( String id ) |
| { |
| int length = preferences_.size(); |
| ActionDialogPreferenceType result = null; |
| |
| for( int index = 0; index < length; index++ ) |
| { |
| ActionDialogPreferenceType preference = (ActionDialogPreferenceType)preferences_.elementAt( index ); |
| |
| if( preference.getId().equals( id ) ) |
| { |
| result = preference; |
| break; |
| } |
| } |
| |
| return result; |
| } |
| } |