michael-o commented on code in PR #180:
URL: https://github.com/apache/maven-doxia/pull/180#discussion_r1435692207


##########
doxia-core/src/main/java/org/apache/maven/doxia/index/IndexEntry.java:
##########
@@ -53,10 +56,41 @@ public class IndexEntry {
      */
     private List<IndexEntry> childEntries = new ArrayList<>();
 
+    public enum Type {
+        /**
+         * Used for unknown types but also for the root entry
+         */
+        UNKNOWN,
+        SECTION_1,
+        SECTION_2,
+        SECTION_3,
+        SECTION_4,
+        SECTION_5,
+        SECTION_6,
+        DEFINED_TERM,
+        FIGURE,
+        TABLE;
+
+        static Type fromSectionLevel(int level) {
+            if (level < SECTION_1.ordinal() || level > SECTION_6.ordinal()) {
+                throw new IllegalArgumentException("Level must be between " + 
SECTION_1.ordinal() + " and "
+                        + SECTION_6.ordinal() + " but is " + level);
+            }
+            return Arrays.stream(Type.values())
+                    .filter(t -> level == t.ordinal())
+                    .findAny()
+                    .orElseThrow(() -> new IllegalStateException("Could not 
find enum with ordinal " + level));
+        }
+    };
     /**
      * The type of the entry, one of the types defined by {@link IndexingSink}
      */
-    private final int type;
+    private final Type type;
+
+    /**
+     * System-dependent EOL.
+     */
+    private static final String EOL = System.getProperty("line.separator");

Review Comment:
   Why not `Markup.EOL`?



##########
doxia-core/src/main/java/org/apache/maven/doxia/index/IndexEntry.java:
##########
@@ -53,10 +56,41 @@ public class IndexEntry {
      */
     private List<IndexEntry> childEntries = new ArrayList<>();
 
+    public enum Type {
+        /**
+         * Used for unknown types but also for the root entry
+         */
+        UNKNOWN,
+        SECTION_1,
+        SECTION_2,
+        SECTION_3,
+        SECTION_4,
+        SECTION_5,
+        SECTION_6,
+        DEFINED_TERM,
+        FIGURE,
+        TABLE;
+
+        static Type fromSectionLevel(int level) {
+            if (level < SECTION_1.ordinal() || level > SECTION_6.ordinal()) {

Review Comment:
   In general, it is a bad practice to the use ordinal for this. The ordinal is 
rather an internal value. See Effective Java from Joshua Bloch. Better to 
introduce a constructor value for this.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to