Author: fanningpj
Date: Sat Oct 26 16:34:40 2024
New Revision: 1921575
URL: http://svn.apache.org/viewvc?rev=1921575&view=rev
Log:
immutable maps
Modified:
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/GeometryRowTypes.java
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/XDGFSectionTypes.java
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/RecordTypes.java
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/util/LocaleDateFormat.java
poi/trunk/poi/src/main/java/org/apache/poi/ddf/EscherPropertyTypes.java
poi/trunk/poi/src/main/java/org/apache/poi/ddf/EscherRecordTypes.java
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/HSSFRecordTypes.java
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/SubRecord.java
poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/FormulaError.java
poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/PageMargin.java
poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellUtil.java
poi/trunk/poi/src/main/java/org/apache/poi/util/LocaleID.java
Modified:
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/GeometryRowTypes.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/GeometryRowTypes.java?rev=1921575&r1=1921574&r2=1921575&view=diff
==============================================================================
---
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/GeometryRowTypes.java
(original)
+++
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/GeometryRowTypes.java
Sat Oct 26 16:34:40 2024
@@ -17,6 +17,7 @@
package org.apache.poi.xdgf.usermodel.section;
+import java.util.Collections;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -84,6 +85,6 @@ enum GeometryRowTypes {
return l.constructor.apply(row);
}
- private static final Map<String, GeometryRowTypes> LOOKUP =
-
Stream.of(values()).collect(Collectors.toMap(GeometryRowTypes::getRowType,
Function.identity()));
+ private static final Map<String, GeometryRowTypes> LOOKUP =
Collections.unmodifiableMap(
+
Stream.of(values()).collect(Collectors.toMap(GeometryRowTypes::getRowType,
Function.identity())));
}
Modified:
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/XDGFSectionTypes.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/XDGFSectionTypes.java?rev=1921575&r1=1921574&r2=1921575&view=diff
==============================================================================
---
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/XDGFSectionTypes.java
(original)
+++
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/XDGFSectionTypes.java
Sat Oct 26 16:34:40 2024
@@ -17,6 +17,7 @@
package org.apache.poi.xdgf.usermodel.section;
+import java.util.Collections;
import java.util.Map;
import java.util.function.BiFunction;
import java.util.function.Function;
@@ -72,6 +73,6 @@ enum XDGFSectionTypes {
return l.constructor.apply(section, containingSheet);
}
- private static final Map<String, XDGFSectionTypes> LOOKUP =
-
Stream.of(values()).collect(Collectors.toMap(XDGFSectionTypes::getSectionType,
Function.identity()));
+ private static final Map<String, XDGFSectionTypes> LOOKUP =
Collections.unmodifiableMap(
+
Stream.of(values()).collect(Collectors.toMap(XDGFSectionTypes::getSectionType,
Function.identity())));
}
Modified:
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/RecordTypes.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/RecordTypes.java?rev=1921575&r1=1921574&r2=1921575&view=diff
==============================================================================
---
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/RecordTypes.java
(original)
+++
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/RecordTypes.java
Sat Oct 26 16:34:40 2024
@@ -17,6 +17,7 @@
package org.apache.poi.hslf.record;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -181,10 +182,11 @@ public enum RecordTypes {
private static final Map<Short,RecordTypes> LOOKUP;
static {
- LOOKUP = new HashMap<>();
+ final Map<Short,RecordTypes> map = new HashMap<>();
for(RecordTypes s : values()) {
- LOOKUP.put(s.typeID, s);
+ map.put(s.typeID, s);
}
+ LOOKUP = Collections.unmodifiableMap(map);
}
public final short typeID;
Modified:
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/util/LocaleDateFormat.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/util/LocaleDateFormat.java?rev=1921575&r1=1921574&r2=1921575&view=diff
==============================================================================
---
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/util/LocaleDateFormat.java
(original)
+++
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/util/LocaleDateFormat.java
Sat Oct 26 16:34:40 2024
@@ -21,6 +21,7 @@ import java.time.format.DateTimeFormatte
import java.time.format.DateTimeFormatterBuilder;
import java.time.format.FormatStyle;
import java.util.AbstractMap;
+import java.util.Collections;
import java.util.Locale;
import java.util.Map;
import java.util.function.Function;
@@ -64,8 +65,8 @@ public final class LocaleDateFormat {
private final LocaleID lcid;
private final Object[] mapping;
- private static final Map<LocaleID,MapFormatPPT> LCID_LOOKUP =
-
Stream.of(values()).collect(Collectors.toMap(MapFormatPPT::getLocaleID,
Function.identity()));
+ private static final Map<LocaleID,MapFormatPPT> LCID_LOOKUP =
Collections.unmodifiableMap(
+
Stream.of(values()).collect(Collectors.toMap(MapFormatPPT::getLocaleID,
Function.identity())));
MapFormatPPT(LocaleID lcid, Object... mapping) {
this.lcid = lcid;
@@ -195,9 +196,9 @@ public final class LocaleDateFormat {
private final LocaleID[] lcid;
private final Object[] mapping;
- private static final Map<LocaleID, MapFormatException> LCID_LOOKUP =
+ private static final Map<LocaleID, MapFormatException> LCID_LOOKUP =
Collections.unmodifiableMap(
Stream.of(values()).flatMap(m -> Stream.of(m.lcid).map(l -> new
AbstractMap.SimpleEntry<>(l, m)))
- .collect(Collectors.toMap(Map.Entry::getKey,
Map.Entry::getValue));
+ .collect(Collectors.toMap(Map.Entry::getKey,
Map.Entry::getValue)));
MapFormatException(LocaleID[] lcid, Object... mapping) {
this.lcid = lcid;
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/ddf/EscherPropertyTypes.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ddf/EscherPropertyTypes.java?rev=1921575&r1=1921574&r2=1921575&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ddf/EscherPropertyTypes.java
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ddf/EscherPropertyTypes.java Sat
Oct 26 16:34:40 2024
@@ -17,6 +17,7 @@
package org.apache.poi.ddf;
+import java.util.Collections;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -365,8 +366,8 @@ public enum EscherPropertyTypes {
return propNumber;
}
- private static final Map<Short, EscherPropertyTypes> LOOKUP =
-
Stream.of(values()).collect(Collectors.toMap(EscherPropertyTypes::getPropertyId,
Function.identity()));
+ private static final Map<Short, EscherPropertyTypes> LOOKUP =
Collections.unmodifiableMap(
+
Stream.of(values()).collect(Collectors.toMap(EscherPropertyTypes::getPropertyId,
Function.identity())));
public static EscherPropertyTypes forPropertyID(int propertyId) {
EscherPropertyTypes rt = LOOKUP.get((short)(propertyId & 0x3FFF));
Modified: poi/trunk/poi/src/main/java/org/apache/poi/ddf/EscherRecordTypes.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ddf/EscherRecordTypes.java?rev=1921575&r1=1921574&r2=1921575&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ddf/EscherRecordTypes.java
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ddf/EscherRecordTypes.java Sat
Oct 26 16:34:40 2024
@@ -17,6 +17,7 @@
package org.apache.poi.ddf;
+import java.util.Collections;
import java.util.Map;
import java.util.function.Function;
import java.util.function.Supplier;
@@ -108,8 +109,8 @@ public enum EscherRecordTypes {
return typeID;
}
- private static final Map<Short, EscherRecordTypes> LOOKUP =
-
Stream.of(values()).collect(Collectors.toMap(EscherRecordTypes::getTypeId,
Function.identity()));
+ private static final Map<Short, EscherRecordTypes> LOOKUP =
Collections.unmodifiableMap(
+
Stream.of(values()).collect(Collectors.toMap(EscherRecordTypes::getTypeId,
Function.identity())));
public static EscherRecordTypes forTypeID(int typeID) {
// Section 2.2.23: 0xF02A is treated as 0xF01D
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/HSSFRecordTypes.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/HSSFRecordTypes.java?rev=1921575&r1=1921574&r2=1921575&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/HSSFRecordTypes.java
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/HSSFRecordTypes.java
Sat Oct 26 16:34:40 2024
@@ -20,6 +20,7 @@
package org.apache.poi.hssf.record;
import java.util.Arrays;
+import java.util.Collections;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -211,8 +212,8 @@ public enum HSSFRecordTypes {
T apply(RecordInputStream in);
}
- private static final Map<Short,HSSFRecordTypes> LOOKUP =
-
Arrays.stream(values()).collect(Collectors.toMap(HSSFRecordTypes::getSid,
Function.identity()));
+ private static final Map<Short,HSSFRecordTypes> LOOKUP =
Collections.unmodifiableMap(
+
Arrays.stream(values()).collect(Collectors.toMap(HSSFRecordTypes::getSid,
Function.identity())));
public final short sid;
public final Class<? extends org.apache.poi.hssf.record.Record> clazz;
Modified: poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/SubRecord.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/SubRecord.java?rev=1921575&r1=1921574&r2=1921575&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/SubRecord.java
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/SubRecord.java Sat
Oct 26 16:34:40 2024
@@ -18,6 +18,7 @@
package org.apache.poi.hssf.record;
import java.util.Arrays;
+import java.util.Collections;
import java.util.Map;
import java.util.function.Function;
import java.util.function.Supplier;
@@ -64,8 +65,8 @@ public abstract class SubRecord implemen
T apply(LittleEndianInput in, int size, int cmoOt);
}
- private static final Map<Short,SubRecordTypes> LOOKUP =
-
Arrays.stream(values()).collect(Collectors.toMap(SubRecordTypes::getSid,
Function.identity()));
+ private static final Map<Short,SubRecordTypes> LOOKUP =
Collections.unmodifiableMap(
+
Arrays.stream(values()).collect(Collectors.toMap(SubRecordTypes::getSid,
Function.identity())));
public final short sid;
public final RecordConstructor<?> recordConstructor;
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/FormulaError.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/FormulaError.java?rev=1921575&r1=1921574&r2=1921575&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/FormulaError.java
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/FormulaError.java
Sat Oct 26 16:34:40 2024
@@ -16,6 +16,7 @@
==================================================================== */
package org.apache.poi.ss.usermodel;
+import java.util.Collections;
import java.util.Map;
import org.apache.poi.util.Internal;
@@ -149,15 +150,21 @@ public enum FormulaError {
return repr;
}
- private static final Map<String, FormulaError> smap = new HashMap<>();
- private static final Map<Byte, FormulaError> bmap = new HashMap<>();
- private static final Map<Integer, FormulaError> imap = new HashMap<>();
- static{
+ private static final Map<String, FormulaError> smap;
+ private static final Map<Byte, FormulaError> bmap;
+ private static final Map<Integer, FormulaError> imap;
+ static {
+ final Map<String, FormulaError> mapS = new HashMap<>();
+ final Map<Byte, FormulaError> mapB = new HashMap<>();
+ final Map<Integer, FormulaError> mapI = new HashMap<>();
for (FormulaError error : values()) {
- bmap.put(error.getCode(), error);
- imap.put(error.getLongCode(), error);
- smap.put(error.getString(), error);
+ mapB.put(error.getCode(), error);
+ mapI.put(error.getLongCode(), error);
+ mapS.put(error.getString(), error);
}
+ smap = Collections.unmodifiableMap(mapS);
+ bmap = Collections.unmodifiableMap(mapB);
+ imap = Collections.unmodifiableMap(mapI);
}
public static boolean isValidCode(int errorCode) {
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/PageMargin.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/PageMargin.java?rev=1921575&r1=1921574&r2=1921575&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/PageMargin.java
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/PageMargin.java Sat
Oct 26 16:34:40 2024
@@ -16,6 +16,7 @@
==================================================================== */
package org.apache.poi.ss.usermodel;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -75,11 +76,11 @@ public enum PageMargin {
private static final Map<Short, PageMargin>
PAGE_MARGIN_BY_LEGACY_API_VALUE;
static {
- PAGE_MARGIN_BY_LEGACY_API_VALUE = new HashMap<>();
-
+ final Map<Short, PageMargin> map = new HashMap<>();
for (PageMargin margin : values()) {
- PAGE_MARGIN_BY_LEGACY_API_VALUE.put(margin.legacyApiValue, margin);
+ map.put(margin.legacyApiValue, margin);
}
+ PAGE_MARGIN_BY_LEGACY_API_VALUE = Collections.unmodifiableMap(map);
}
/**
Modified: poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellUtil.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellUtil.java?rev=1921575&r1=1921574&r2=1921575&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellUtil.java (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellUtil.java Sat Oct 26
16:34:40 2024
@@ -265,31 +265,33 @@ public final class CellUtil {
public static final String QUOTE_PREFIXED = "quotePrefixed";
// FIXME Must be deleted along with string constants
- static final Map<String, CellPropertyType> namePropertyMap = new
HashMap<>();
+ static final Map<String, CellPropertyType> namePropertyMap;
static {
- namePropertyMap.put(ALIGNMENT, CellPropertyType.ALIGNMENT);
- namePropertyMap.put(BORDER_BOTTOM, CellPropertyType.BORDER_BOTTOM);
- namePropertyMap.put(BORDER_LEFT, CellPropertyType.BORDER_LEFT);
- namePropertyMap.put(BORDER_RIGHT, CellPropertyType.BORDER_RIGHT);
- namePropertyMap.put(BORDER_TOP, CellPropertyType.BORDER_TOP);
- namePropertyMap.put(BOTTOM_BORDER_COLOR,
CellPropertyType.BOTTOM_BORDER_COLOR);
- namePropertyMap.put(LEFT_BORDER_COLOR,
CellPropertyType.LEFT_BORDER_COLOR);
- namePropertyMap.put(RIGHT_BORDER_COLOR,
CellPropertyType.RIGHT_BORDER_COLOR);
- namePropertyMap.put(TOP_BORDER_COLOR,
CellPropertyType.TOP_BORDER_COLOR);
- namePropertyMap.put(FILL_BACKGROUND_COLOR,
CellPropertyType.FILL_BACKGROUND_COLOR);
- namePropertyMap.put(FILL_FOREGROUND_COLOR,
CellPropertyType.FILL_FOREGROUND_COLOR);
- namePropertyMap.put(FILL_BACKGROUND_COLOR_COLOR,
CellPropertyType.FILL_BACKGROUND_COLOR_COLOR);
- namePropertyMap.put(FILL_FOREGROUND_COLOR_COLOR,
CellPropertyType.FILL_FOREGROUND_COLOR_COLOR);
- namePropertyMap.put(FILL_PATTERN, CellPropertyType.FILL_PATTERN);
- namePropertyMap.put(FONT, CellPropertyType.FONT);
- namePropertyMap.put(HIDDEN, CellPropertyType.HIDDEN);
- namePropertyMap.put(INDENTION, CellPropertyType.INDENTION);
- namePropertyMap.put(LOCKED, CellPropertyType.LOCKED);
- namePropertyMap.put(ROTATION, CellPropertyType.ROTATION);
- namePropertyMap.put(VERTICAL_ALIGNMENT,
CellPropertyType.VERTICAL_ALIGNMENT);
- namePropertyMap.put(SHRINK_TO_FIT, CellPropertyType.SHRINK_TO_FIT);
- namePropertyMap.put(QUOTE_PREFIXED, CellPropertyType.QUOTE_PREFIXED);
+ final Map<String, CellPropertyType> map = new HashMap<>();
+ map.put(ALIGNMENT, CellPropertyType.ALIGNMENT);
+ map.put(BORDER_BOTTOM, CellPropertyType.BORDER_BOTTOM);
+ map.put(BORDER_LEFT, CellPropertyType.BORDER_LEFT);
+ map.put(BORDER_RIGHT, CellPropertyType.BORDER_RIGHT);
+ map.put(BORDER_TOP, CellPropertyType.BORDER_TOP);
+ map.put(BOTTOM_BORDER_COLOR, CellPropertyType.BOTTOM_BORDER_COLOR);
+ map.put(LEFT_BORDER_COLOR, CellPropertyType.LEFT_BORDER_COLOR);
+ map.put(RIGHT_BORDER_COLOR, CellPropertyType.RIGHT_BORDER_COLOR);
+ map.put(TOP_BORDER_COLOR, CellPropertyType.TOP_BORDER_COLOR);
+ map.put(FILL_BACKGROUND_COLOR, CellPropertyType.FILL_BACKGROUND_COLOR);
+ map.put(FILL_FOREGROUND_COLOR, CellPropertyType.FILL_FOREGROUND_COLOR);
+ map.put(FILL_BACKGROUND_COLOR_COLOR,
CellPropertyType.FILL_BACKGROUND_COLOR_COLOR);
+ map.put(FILL_FOREGROUND_COLOR_COLOR,
CellPropertyType.FILL_FOREGROUND_COLOR_COLOR);
+ map.put(FILL_PATTERN, CellPropertyType.FILL_PATTERN);
+ map.put(FONT, CellPropertyType.FONT);
+ map.put(HIDDEN, CellPropertyType.HIDDEN);
+ map.put(INDENTION, CellPropertyType.INDENTION);
+ map.put(LOCKED, CellPropertyType.LOCKED);
+ map.put(ROTATION, CellPropertyType.ROTATION);
+ map.put(VERTICAL_ALIGNMENT, CellPropertyType.VERTICAL_ALIGNMENT);
+ map.put(SHRINK_TO_FIT, CellPropertyType.SHRINK_TO_FIT);
+ map.put(QUOTE_PREFIXED, CellPropertyType.QUOTE_PREFIXED);
+ namePropertyMap = Collections.unmodifiableMap(map);
}
private static final UnicodeMapping[] unicodeMappings;
Modified: poi/trunk/poi/src/main/java/org/apache/poi/util/LocaleID.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/util/LocaleID.java?rev=1921575&r1=1921574&r2=1921575&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/util/LocaleID.java (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/util/LocaleID.java Sat Oct 26
16:34:40 2024
@@ -21,6 +21,7 @@ import static java.util.Calendar.SATURDA
import static java.util.Calendar.SUNDAY;
import java.util.Calendar;
+import java.util.Collections;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -508,11 +509,12 @@ public enum LocaleID {
private final int defaultCodepage;
private final int firstWeekday;
- private static final Map<String, LocaleID> languageTagLookup =
-
Stream.of(values()).filter(LocaleID::isValid).collect(Collectors.toMap(LocaleID::getLanguageTag,
Function.identity()));
+ private static final Map<String, LocaleID> languageTagLookup =
Collections.unmodifiableMap(
+ Stream.of(values()).filter(LocaleID::isValid)
+ .collect(Collectors.toMap(LocaleID::getLanguageTag,
Function.identity())));
- private static final Map<Integer, LocaleID> lcidLookup =
- Stream.of(values()).collect(Collectors.toMap(LocaleID::getLcid,
Function.identity()));
+ private static final Map<Integer, LocaleID> lcidLookup =
Collections.unmodifiableMap(
+ Stream.of(values()).collect(Collectors.toMap(LocaleID::getLcid,
Function.identity())));
LocaleID(int lcid, String windowsId, String languageTag, String
description, int defaultCodepage, int firstWeekday) {
this.lcid = lcid;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]