diff options
Diffstat (limited to 'propertysheet/src/org/eclipse/wb/internal/core/model/property/category/PropertyCategoryProviders.java')
-rw-r--r-- | propertysheet/src/org/eclipse/wb/internal/core/model/property/category/PropertyCategoryProviders.java | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/model/property/category/PropertyCategoryProviders.java b/propertysheet/src/org/eclipse/wb/internal/core/model/property/category/PropertyCategoryProviders.java deleted file mode 100644 index 83aaebb..0000000 --- a/propertysheet/src/org/eclipse/wb/internal/core/model/property/category/PropertyCategoryProviders.java +++ /dev/null @@ -1,85 +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.category; - -import org.eclipse.wb.internal.core.model.property.Property; -import org.eclipse.wb.internal.core.model.property.PropertyManager; - -/** - * Factory for {@link PropertyCategoryProvider} instances. - * - * @author scheglov_ke - * @coverage core.model.property - */ -public final class PropertyCategoryProviders { - //////////////////////////////////////////////////////////////////////////// - // - // Simple providers - // - //////////////////////////////////////////////////////////////////////////// - private static final PropertyCategoryProvider FROM_PROPERTY = new PropertyCategoryProvider() { - public PropertyCategory getCategory(Property property) { - return property.getCategory(); - } - }; - - /** - * Returns result of {@link Property#getCategory()}, never <code>null</code>. - */ - public static PropertyCategoryProvider fromProperty() { - return FROM_PROPERTY; - } - - private static final PropertyCategoryProvider FORCED_BY_USER = new PropertyCategoryProvider() { - public PropertyCategory getCategory(Property property) { - return PropertyManager.getCategoryForced(property); - } - }; - - /** - * Returns category forced by user, may be <code>null</code>. - */ - public static PropertyCategoryProvider forcedByUser() { - return FORCED_BY_USER; - } - - //////////////////////////////////////////////////////////////////////////// - // - // Compound - // - //////////////////////////////////////////////////////////////////////////// - /** - * Returns first not <code>null</code> category returned by provider. - */ - public static PropertyCategoryProvider combine(final PropertyCategoryProvider... providers) { - return new PropertyCategoryProvider() { - public PropertyCategory getCategory(Property property) { - for (PropertyCategoryProvider provider : providers) { - PropertyCategory category = provider.getCategory(property); - if (category != null) { - return category; - } - } - throw new IllegalStateException("Can not provide category for " + property.getTitle()); - } - }; - } - - private static final PropertyCategoryProvider DEF = combine(forcedByUser(), fromProperty()); - - /** - * Returns the default combination of {@link PropertyCategoryProvider}s - first - * {@link #forcedByUser()}, then {@link #fromProperty()}. - */ - public static PropertyCategoryProvider def() { - return DEF; - } -} |