Author: ltheussl
Date: Tue Sep 11 05:47:14 2007
New Revision: 574578

URL: http://svn.apache.org/viewvc?rev=574578&view=rev
Log:
Check for valid input format

Modified:
    
maven/sandbox/trunk/doxia/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/NumberedListItem.java

Modified: 
maven/sandbox/trunk/doxia/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/NumberedListItem.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/doxia/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/NumberedListItem.java?rev=574578&r1=574577&r2=574578&view=diff
==============================================================================
--- 
maven/sandbox/trunk/doxia/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/NumberedListItem.java
 (original)
+++ 
maven/sandbox/trunk/doxia/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/NumberedListItem.java
 Tue Sep 11 05:47:14 2007
@@ -73,18 +73,26 @@
     /** The numbering format. */
     private final int format;
 
-    /** Constructor. Initializes count and format.
+    /**
+     * Constructor. Initializes count and format.
+     *
      * @param itemFormat The numbering format of this List.
-     * Should be one of the formats defined in [EMAIL PROTECTED] Sink}.
+     * Should be one of the formats defined in [EMAIL PROTECTED] 
org.apache.maven.doxia.sink.Sink}.
      */
-    public NumberedListItem ( int itemFormat )
+    public NumberedListItem( int itemFormat )
     {
+        if ( !isValidItemFormat( itemFormat ) )
+        {
+            throw new IllegalArgumentException( "Unknown item format!" );
+        }
+
         this.format = itemFormat;
         this.count = 0;
     }
 
     /**
      * Returns the current count, ie the position in the list.
+     *
      * @return The current count.
      */
     public int count()
@@ -94,6 +102,7 @@
 
     /**
      * Returns the numbering format.
+     *
      * @return The numbering format.
      */
     public int format()
@@ -107,8 +116,9 @@
         count++;
     }
 
-     /**
+    /**
      * Returns the symbol for the current list item.
+     *
      * @return The symbol for the current list item.
      */
     public String getListItemSymbol()
@@ -145,5 +155,19 @@
         return symbol;
     }
 
+    /**
+     * Determines if the given format is one of the formats defined in
+     * [EMAIL PROTECTED] org.apache.maven.doxia.sink.Sink}.
+     *
+     * @return True if the format is a valid item format according to the Sink 
API.
+     */
+    private boolean isValidItemFormat( int itemFormat )
+    {
+        return ( ( itemFormat == Sink.NUMBERING_UPPER_ALPHA )
+            || ( itemFormat == Sink.NUMBERING_LOWER_ALPHA )
+            || ( itemFormat == Sink.NUMBERING_UPPER_ROMAN )
+            || ( itemFormat == Sink.NUMBERING_LOWER_ROMAN )
+            || ( itemFormat == Sink.NUMBERING_DECIMAL ) );
+    }
 
 }


Reply via email to