diff options
Diffstat (limited to 'propertysheet/src/org/eclipse/wb/internal/core/model/property/editor/PropertyDescriptorEditorProvider.java')
-rw-r--r-- | propertysheet/src/org/eclipse/wb/internal/core/model/property/editor/PropertyDescriptorEditorProvider.java | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/model/property/editor/PropertyDescriptorEditorProvider.java b/propertysheet/src/org/eclipse/wb/internal/core/model/property/editor/PropertyDescriptorEditorProvider.java deleted file mode 100644 index a60b698..0000000 --- a/propertysheet/src/org/eclipse/wb/internal/core/model/property/editor/PropertyDescriptorEditorProvider.java +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Google, Inc. - * 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: - * Google, Inc. - initial API and implementation - *******************************************************************************/ -package org.eclipse.wb.internal.core.model.property.editor; - -import java.beans.PropertyDescriptor; - -/** - * {@link PropertyEditorProvider} that creates editors based on {@link PropertyDescriptor} - * attributes, such as "enumerationValues". - * - * @author scheglov_ke - * @coverage core.model.property.editor - */ -public final class PropertyDescriptorEditorProvider extends PropertyEditorProvider { - //////////////////////////////////////////////////////////////////////////// - // - // PropertyEditorProvider - // - //////////////////////////////////////////////////////////////////////////// - @Override - public PropertyEditor getEditorForPropertyDescriptor(PropertyDescriptor descriptor) - throws Exception { - { - Object attributeValue = descriptor.getValue("enumerationValues"); - if (isEnumerationProperty(descriptor)) { - return new EnumerationValuesPropertyEditor(attributeValue); - } - } - return null; - } - - //////////////////////////////////////////////////////////////////////////// - // - // Utils - // - //////////////////////////////////////////////////////////////////////////// - /** - * @return <code>true</code> if given {@link PropertyDescriptor} has attribute "enumerationValues" - * with valid value structure. - */ - private static boolean isEnumerationProperty(PropertyDescriptor descriptor) { - Object attributeValue = descriptor.getValue("enumerationValues"); - // should be Object[] - if (!(attributeValue instanceof Object[])) { - return false; - } - Object[] enumElements = (Object[]) attributeValue; - // should be multiple 3 - if (enumElements.length % 3 != 0) { - return false; - } - // elements should be sequence of [String,Object,String] - for (int i = 0; i < enumElements.length; i++) { - Object element = enumElements[i]; - if (i % 3 == 0 && !(element instanceof String)) { - return false; - } - if (i % 3 == 2 && !(element instanceof String)) { - return false; - } - } - // OK - return true; - } -} |