blob: da55ec5783b34b348dac67a9dd87c185e12da4da [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006 Sybase, Inc. 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:
* Sybase, Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.pagedesigner.css2.property;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.jst.pagedesigner.ui.preferences.PDPreferences;
/**
* @author mengbo
*/
public class CSSMetaRegistry {
Map _map = new HashMap();
private static CSSMetaRegistry _instance;
private CSSMetaRegistry() {
initialize();
}
/**
* class initializer
*/
private void initialize()
{
final PDPreferences prefs = new PDPreferences();
_map.put(ICSSPropertyID.ATTR_DISPLAY, new DisplayMeta());
_map.put(ICSSPropertyID.ATTR_TEXTALIGN, new TextAlignMeta());
_map.put(ICSSPropertyID.ATTR_HORIZONTAL_ALIGN, new HorizontalAlignMeta());
_map.put(ICSSPropertyID.ATTR_TEXTDECORATION, new TextDecorationMeta());
_map.put(ICSSPropertyID.ATTR_WHITESPACE, new WhiteSpaceMeta());
_map.put(ICSSPropertyID.ATTR_WIDTH, new WidthMeta());
_map.put(ICSSPropertyID.ATTR_MIN_WIDTH, new WidthMeta());
_map.put(ICSSPropertyID.ATTR_HEIGHT, new HeightMeta());
_map.put(ICSSPropertyID.ATTR_MIN_HEIGHT, new HeightMeta());
_map.put(ICSSPropertyID.ATTR_BORDER_LEFT_WIDTH, new BorderWidthMeta());
_map.put(ICSSPropertyID.ATTR_BORDER_RIGHT_WIDTH, new BorderWidthMeta());
_map.put(ICSSPropertyID.ATTR_BORDER_BOTTOM_WIDTH, new BorderWidthMeta());
_map.put(ICSSPropertyID.ATTR_BORDER_TOP_WIDTH, new BorderWidthMeta());
_map.put(ICSSPropertyID.ATTR_BORDER_LEFT_STYLE, new BorderStyleMeta());
_map.put(ICSSPropertyID.ATTR_BORDER_RIGHT_STYLE, new BorderStyleMeta());
_map.put(ICSSPropertyID.ATTR_BORDER_BOTTOM_STYLE, new BorderStyleMeta());
_map.put(ICSSPropertyID.ATTR_BORDER_TOP_STYLE, new BorderStyleMeta());
_map.put(ICSSPropertyID.ATTR_BORDER_LEFT_COLOR, new BorderColorMeta());
_map.put(ICSSPropertyID.ATTR_BORDER_RIGHT_COLOR, new BorderColorMeta());
_map.put(ICSSPropertyID.ATTR_BORDER_BOTTOM_COLOR, new BorderColorMeta());
_map.put(ICSSPropertyID.ATTR_BORDER_TOP_COLOR, new BorderColorMeta());
_map.put(ICSSPropertyID.ATTR_PADDING_LEFT, new PaddingWidthMeta(prefs));
_map.put(ICSSPropertyID.ATTR_PADDING_RIGHT, new PaddingWidthMeta(prefs));
_map.put(ICSSPropertyID.ATTR_PADDING_BOTTOM, new PaddingWidthMeta(prefs));
_map.put(ICSSPropertyID.ATTR_PADDING_TOP, new PaddingWidthMeta(prefs));
_map.put(ICSSPropertyID.ATTR_MARGIN_LEFT, new MarginWidthMeta());
_map.put(ICSSPropertyID.ATTR_MARGIN_RIGHT, new MarginWidthMeta());
_map.put(ICSSPropertyID.ATTR_MARGIN_BOTTOM, new MarginWidthMeta());
_map.put(ICSSPropertyID.ATTR_MARGIN_TOP, new MarginWidthMeta());
_map.put(ICSSPropertyID.ATTR_FONT_FAMILY, new FontFamilyMeta());
_map.put(ICSSPropertyID.ATTR_FONT_SIZE, new FontSizeMeta());
_map.put(ICSSPropertyID.ATTR_FONT_STYLE, new FontStyleMeta());
_map.put(ICSSPropertyID.ATTR_FONT_WEIGHT, new FontWeightMeta());
_map.put(ICSSPropertyID.ATTR_BACKGROUND_COLOR, new BackgroundColorMeta());
_map.put(ICSSPropertyID.ATTR_BACKGROUND_IMAGE, new BackgroundImageMeta());
_map.put(ICSSPropertyID.ATTR_COLOR, new ColorPropertyMeta());
_map.put(ICSSPropertyID.ATTR_TEXTCOLOR, new ColorPropertyMeta());
_map.put(ICSSPropertyID.ATTR_BORDER_COLLAPSE, new BorderCollapseMeta());
_map.put(ICSSPropertyID.ATTR_BORDER_SPACING, new BorderSpacingMeta());
_map.put(ICSSPropertyID.ATTR_LIST_STYLE_TYPE, new ListStyleTypeMeta());
_map.put(ICSSPropertyID.ATTR_LIST_STYLE_IMAGE, new ListStyleImageMeta());
_map.put(ICSSPropertyID.ATTR_LIST_STYLE_POSITION, new ListStylePositionMeta());
_map.put(ICSSPropertyID.ATTR_COUNTER_RESET, new CounterResetMeta());
_map.put(ICSSPropertyID.ATTR_COUNTER_INCREMENT, new CounterIncrementMeta());
_map.put(ICSSPropertyID.ATTR_TOP, new PositionOffsetMeta());
_map.put(ICSSPropertyID.ATTR_RIGHT, new PositionOffsetMeta());
_map.put(ICSSPropertyID.ATTR_BOTTOM, new PositionOffsetMeta());
_map.put(ICSSPropertyID.ATTR_LEFT, new PositionOffsetMeta());
_map.put(ICSSPropertyID.ATTR_POSITION, new PositionMeta());
_map.put(ICSSPropertyID.ATTR_EMPTY_CELLS, new EmptyCellsMeta());
_map.put(ICSSPropertyID.ATTR_VISIBILITY, new VisibilityMeta());
_map.put(ICSSPropertyID.ATTR_VERTICAL_ALIGN, new VerticalAlignMeta());
_map.put(ICSSPropertyID.ATTR_OVERFLOW, new OverflowMeta());
}
/**
* @param property
* @return the meta
*/
public ICSSPropertyMeta getMeta(String property) {
return (ICSSPropertyMeta) _map.get(property);
}
/**
* @return the singleton instance
*/
public static final CSSMetaRegistry getInstance() {
if (_instance == null) {
_instance = new CSSMetaRegistry();
}
return _instance;
}
}