Skip to content

Commit 659f70b

Browse files
author
Andrey Turbanov
committed
8343418: Unnecessary Hashtable usage in CSS.htmlAttrToCssAttrMap
Reviewed-by: honkar, aivanov
1 parent 5c8cb2e commit 659f70b

File tree

1 file changed

+53
-48
lines changed
  • src/java.desktop/share/classes/javax/swing/text/html

1 file changed

+53
-48
lines changed

src/java.desktop/share/classes/javax/swing/text/html/CSS.java

+53-48
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import java.util.ArrayList;
3939
import java.util.Enumeration;
4040
import java.util.Hashtable;
41+
import java.util.Map;
4142
import java.util.Objects;
4243

4344
import javax.swing.ImageIcon;
@@ -1089,7 +1090,7 @@ private static int getTableBorder(AttributeSet tableAttr) {
10891090
* Therefore, the value associated with each HTML.Attribute.
10901091
* key ends up being an array of CSS.Attribute.* objects.
10911092
*/
1092-
private static final Hashtable<HTML.Attribute, CSS.Attribute[]> htmlAttrToCssAttrMap = new Hashtable<HTML.Attribute, CSS.Attribute[]>(20);
1093+
private static final Map<HTML.Attribute, CSS.Attribute[]> htmlAttrToCssAttrMap;
10931094

10941095
/**
10951096
* The hashtable and static initialization that follows sets
@@ -1113,53 +1114,57 @@ private static int getTableBorder(AttributeSet tableAttr) {
11131114
valueMap.put(Value.allValues[i].toString(),
11141115
Value.allValues[i]);
11151116
}
1116-
1117-
htmlAttrToCssAttrMap.put(HTML.Attribute.COLOR,
1118-
new CSS.Attribute[]{CSS.Attribute.COLOR});
1119-
htmlAttrToCssAttrMap.put(HTML.Attribute.TEXT,
1120-
new CSS.Attribute[]{CSS.Attribute.COLOR});
1121-
htmlAttrToCssAttrMap.put(HTML.Attribute.CLEAR,
1122-
new CSS.Attribute[]{CSS.Attribute.CLEAR});
1123-
htmlAttrToCssAttrMap.put(HTML.Attribute.BACKGROUND,
1124-
new CSS.Attribute[]{CSS.Attribute.BACKGROUND_IMAGE});
1125-
htmlAttrToCssAttrMap.put(HTML.Attribute.BGCOLOR,
1126-
new CSS.Attribute[]{CSS.Attribute.BACKGROUND_COLOR});
1127-
htmlAttrToCssAttrMap.put(HTML.Attribute.WIDTH,
1128-
new CSS.Attribute[]{CSS.Attribute.WIDTH});
1129-
htmlAttrToCssAttrMap.put(HTML.Attribute.HEIGHT,
1130-
new CSS.Attribute[]{CSS.Attribute.HEIGHT});
1131-
htmlAttrToCssAttrMap.put(HTML.Attribute.BORDER,
1132-
new CSS.Attribute[]{CSS.Attribute.BORDER_TOP_WIDTH, CSS.Attribute.BORDER_RIGHT_WIDTH, CSS.Attribute.BORDER_BOTTOM_WIDTH, CSS.Attribute.BORDER_LEFT_WIDTH});
1133-
htmlAttrToCssAttrMap.put(HTML.Attribute.CELLPADDING,
1134-
new CSS.Attribute[]{CSS.Attribute.PADDING});
1135-
htmlAttrToCssAttrMap.put(HTML.Attribute.CELLSPACING,
1136-
new CSS.Attribute[]{CSS.Attribute.BORDER_SPACING});
1137-
htmlAttrToCssAttrMap.put(HTML.Attribute.MARGINWIDTH,
1138-
new CSS.Attribute[]{CSS.Attribute.MARGIN_LEFT,
1139-
CSS.Attribute.MARGIN_RIGHT});
1140-
htmlAttrToCssAttrMap.put(HTML.Attribute.MARGINHEIGHT,
1141-
new CSS.Attribute[]{CSS.Attribute.MARGIN_TOP,
1142-
CSS.Attribute.MARGIN_BOTTOM});
1143-
htmlAttrToCssAttrMap.put(HTML.Attribute.HSPACE,
1144-
new CSS.Attribute[]{CSS.Attribute.PADDING_LEFT,
1145-
CSS.Attribute.PADDING_RIGHT});
1146-
htmlAttrToCssAttrMap.put(HTML.Attribute.VSPACE,
1147-
new CSS.Attribute[]{CSS.Attribute.PADDING_BOTTOM,
1148-
CSS.Attribute.PADDING_TOP});
1149-
htmlAttrToCssAttrMap.put(HTML.Attribute.FACE,
1150-
new CSS.Attribute[]{CSS.Attribute.FONT_FAMILY});
1151-
htmlAttrToCssAttrMap.put(HTML.Attribute.SIZE,
1152-
new CSS.Attribute[]{CSS.Attribute.FONT_SIZE});
1153-
htmlAttrToCssAttrMap.put(HTML.Attribute.VALIGN,
1154-
new CSS.Attribute[]{CSS.Attribute.VERTICAL_ALIGN});
1155-
htmlAttrToCssAttrMap.put(HTML.Attribute.ALIGN,
1156-
new CSS.Attribute[]{CSS.Attribute.VERTICAL_ALIGN,
1157-
CSS.Attribute.TEXT_ALIGN,
1158-
CSS.Attribute.FLOAT});
1159-
htmlAttrToCssAttrMap.put(HTML.Attribute.TYPE,
1160-
new CSS.Attribute[]{CSS.Attribute.LIST_STYLE_TYPE});
1161-
htmlAttrToCssAttrMap.put(HTML.Attribute.NOWRAP,
1162-
new CSS.Attribute[]{CSS.Attribute.WHITE_SPACE});
1117+
htmlAttrToCssAttrMap = Map.ofEntries(
1118+
Map.entry(HTML.Attribute.COLOR,
1119+
new CSS.Attribute[]{CSS.Attribute.COLOR}),
1120+
Map.entry(HTML.Attribute.TEXT,
1121+
new CSS.Attribute[]{CSS.Attribute.COLOR}),
1122+
Map.entry(HTML.Attribute.CLEAR,
1123+
new CSS.Attribute[]{CSS.Attribute.CLEAR}),
1124+
Map.entry(HTML.Attribute.BACKGROUND,
1125+
new CSS.Attribute[]{CSS.Attribute.BACKGROUND_IMAGE}),
1126+
Map.entry(HTML.Attribute.BGCOLOR,
1127+
new CSS.Attribute[]{CSS.Attribute.BACKGROUND_COLOR}),
1128+
Map.entry(HTML.Attribute.WIDTH,
1129+
new CSS.Attribute[]{CSS.Attribute.WIDTH}),
1130+
Map.entry(HTML.Attribute.HEIGHT,
1131+
new CSS.Attribute[]{CSS.Attribute.HEIGHT}),
1132+
Map.entry(HTML.Attribute.BORDER,
1133+
new CSS.Attribute[]{CSS.Attribute.BORDER_TOP_WIDTH,
1134+
CSS.Attribute.BORDER_RIGHT_WIDTH,
1135+
CSS.Attribute.BORDER_BOTTOM_WIDTH,
1136+
CSS.Attribute.BORDER_LEFT_WIDTH}),
1137+
Map.entry(HTML.Attribute.CELLPADDING,
1138+
new CSS.Attribute[]{CSS.Attribute.PADDING}),
1139+
Map.entry(HTML.Attribute.CELLSPACING,
1140+
new CSS.Attribute[]{CSS.Attribute.BORDER_SPACING}),
1141+
Map.entry(HTML.Attribute.MARGINWIDTH,
1142+
new CSS.Attribute[]{CSS.Attribute.MARGIN_LEFT,
1143+
CSS.Attribute.MARGIN_RIGHT}),
1144+
Map.entry(HTML.Attribute.MARGINHEIGHT,
1145+
new CSS.Attribute[]{CSS.Attribute.MARGIN_TOP,
1146+
CSS.Attribute.MARGIN_BOTTOM}),
1147+
Map.entry(HTML.Attribute.HSPACE,
1148+
new CSS.Attribute[]{CSS.Attribute.PADDING_LEFT,
1149+
CSS.Attribute.PADDING_RIGHT}),
1150+
Map.entry(HTML.Attribute.VSPACE,
1151+
new CSS.Attribute[]{CSS.Attribute.PADDING_BOTTOM,
1152+
CSS.Attribute.PADDING_TOP}),
1153+
Map.entry(HTML.Attribute.FACE,
1154+
new CSS.Attribute[]{CSS.Attribute.FONT_FAMILY}),
1155+
Map.entry(HTML.Attribute.SIZE,
1156+
new CSS.Attribute[]{CSS.Attribute.FONT_SIZE}),
1157+
Map.entry(HTML.Attribute.VALIGN,
1158+
new CSS.Attribute[]{CSS.Attribute.VERTICAL_ALIGN}),
1159+
Map.entry(HTML.Attribute.ALIGN,
1160+
new CSS.Attribute[]{CSS.Attribute.VERTICAL_ALIGN,
1161+
CSS.Attribute.TEXT_ALIGN,
1162+
CSS.Attribute.FLOAT}),
1163+
Map.entry(HTML.Attribute.TYPE,
1164+
new CSS.Attribute[]{CSS.Attribute.LIST_STYLE_TYPE}),
1165+
Map.entry(HTML.Attribute.NOWRAP,
1166+
new CSS.Attribute[]{CSS.Attribute.WHITE_SPACE})
1167+
);
11631168

11641169
// initialize StyleConstants mapping
11651170
styleConstantToCssMap.put(StyleConstants.FontFamily,

0 commit comments

Comments
 (0)