You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by eb...@apache.org on 2013/11/27 14:02:41 UTC

svn commit: r1546023 - /commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/icns/IcnsType.java

Author: ebourg
Date: Wed Nov 27 13:02:41 2013
New Revision: 1546023

URL: http://svn.apache.org/r1546023
Log:
Turned IcnsType into an enum

Modified:
    commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/icns/IcnsType.java

Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/icns/IcnsType.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/icns/IcnsType.java?rev=1546023&r1=1546022&r2=1546023&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/icns/IcnsType.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/icns/IcnsType.java Wed Nov 27 13:02:41 2013
@@ -18,41 +18,36 @@ package org.apache.commons.imaging.forma
 
 import java.io.UnsupportedEncodingException;
 
-public final class IcnsType {
-    private final int type;
-    private final int width;
-    private final int height;
-    private final int bitsPerPixel;
-    private final boolean hasMask;
+public enum IcnsType {
 
-    public static final IcnsType ICNS_16x12_1BIT_IMAGE_AND_MASK = new IcnsType("icm#", 16, 12, 1, true);
-    public static final IcnsType ICNS_16x12_4BIT_IMAGE = new IcnsType("icm4", 16, 12, 4, false);
-    public static final IcnsType ICNS_16x12_8BIT_IMAGE = new IcnsType("icm8", 16, 12, 8, false);
-
-    public static final IcnsType ICNS_16x16_8BIT_MASK = new IcnsType("s8mk", 16, 16, 8, true);
-    public static final IcnsType ICNS_16x16_1BIT_IMAGE_AND_MASK = new IcnsType("ics#", 16, 16, 1, true);
-    public static final IcnsType ICNS_16x16_4BIT_IMAGE = new IcnsType("ics4", 16, 16, 4, false);
-    public static final IcnsType ICNS_16x16_8BIT_IMAGE = new IcnsType("ics8", 16, 16, 8, false);
-    public static final IcnsType ICNS_16x16_32BIT_IMAGE = new IcnsType("is32", 16, 16, 32, false);
-
-    public static final IcnsType ICNS_32x32_8BIT_MASK = new IcnsType("l8mk", 32, 32, 8, true);
-    public static final IcnsType ICNS_32x32_1BIT_IMAGE_AND_MASK = new IcnsType("ICN#", 32, 32, 1, true);
-    public static final IcnsType ICNS_32x32_4BIT_IMAGE = new IcnsType("icl4", 32, 32, 4, false);
-    public static final IcnsType ICNS_32x32_8BIT_IMAGE = new IcnsType("icl8", 32, 32, 8, false);
-    public static final IcnsType ICNS_32x32_32BIT_IMAGE = new IcnsType("il32", 32, 32, 32, false);
-
-    public static final IcnsType ICNS_48x48_8BIT_MASK = new IcnsType("h8mk", 48, 48, 8, true);
-    public static final IcnsType ICNS_48x48_1BIT_IMAGE_AND_MASK = new IcnsType("ich#", 48, 48, 1, true);
-    public static final IcnsType ICNS_48x48_4BIT_IMAGE = new IcnsType("ich4", 48, 48, 4, false);
-    public static final IcnsType ICNS_48x48_8BIT_IMAGE = new IcnsType("ich8", 48, 48, 8, false);
-    public static final IcnsType ICNS_48x48_32BIT_IMAGE = new IcnsType("ih32", 48, 48, 32, false);
+    ICNS_16x12_1BIT_IMAGE_AND_MASK("icm#", 16, 12, 1, true),
+    ICNS_16x12_4BIT_IMAGE("icm4", 16, 12, 4, false),
+    ICNS_16x12_8BIT_IMAGE("icm8", 16, 12, 8, false),
+
+    ICNS_16x16_8BIT_MASK("s8mk", 16, 16, 8, true),
+    ICNS_16x16_1BIT_IMAGE_AND_MASK("ics#", 16, 16, 1, true),
+    ICNS_16x16_4BIT_IMAGE("ics4", 16, 16, 4, false),
+    ICNS_16x16_8BIT_IMAGE("ics8", 16, 16, 8, false),
+    ICNS_16x16_32BIT_IMAGE("is32", 16, 16, 32, false),
+
+    ICNS_32x32_8BIT_MASK("l8mk", 32, 32, 8, true),
+    ICNS_32x32_1BIT_IMAGE_AND_MASK("ICN#", 32, 32, 1, true),
+    ICNS_32x32_4BIT_IMAGE("icl4", 32, 32, 4, false),
+    ICNS_32x32_8BIT_IMAGE("icl8", 32, 32, 8, false),
+    ICNS_32x32_32BIT_IMAGE("il32", 32, 32, 32, false),
+
+    ICNS_48x48_8BIT_MASK("h8mk", 48, 48, 8, true),
+    ICNS_48x48_1BIT_IMAGE_AND_MASK("ich#", 48, 48, 1, true),
+    ICNS_48x48_4BIT_IMAGE("ich4", 48, 48, 4, false),
+    ICNS_48x48_8BIT_IMAGE("ich8", 48, 48, 8, false),
+    ICNS_48x48_32BIT_IMAGE("ih32", 48, 48, 32, false),
 
-    public static final IcnsType ICNS_128x128_8BIT_MASK = new IcnsType("t8mk", 128, 128, 8, true);
-    public static final IcnsType ICNS_128x128_32BIT_IMAGE = new IcnsType("it32", 128, 128, 32, false);
+    ICNS_128x128_8BIT_MASK("t8mk", 128, 128, 8, true),
+    ICNS_128x128_32BIT_IMAGE("it32", 128, 128, 32, false),
 
-    public static final IcnsType ICNS_256x256_32BIT_ARGB_IMAGE = new IcnsType("ic08", 256, 256, 32, false);
+    ICNS_256x256_32BIT_ARGB_IMAGE("ic08", 256, 256, 32, false),
 
-    public static final IcnsType ICNS_512x512_32BIT_ARGB_IMAGE = new IcnsType("ic09", 512, 512, 32, false);
+    ICNS_512x512_32BIT_ARGB_IMAGE("ic09", 512, 512, 32, false);
 
     private static final IcnsType[] ALL_IMAGE_TYPES = {
             ICNS_16x12_1BIT_IMAGE_AND_MASK,
@@ -84,6 +79,12 @@ public final class IcnsType {
             ICNS_48x48_8BIT_MASK,
             ICNS_128x128_8BIT_MASK};
 
+    private final int type;
+    private final int width;
+    private final int height;
+    private final int bitsPerPixel;
+    private final boolean hasMask;
+
     private IcnsType(String type, int width, int height, int bitsPerPixel, boolean hasMask) {
         this.type = typeAsInt(type);
         this.width = width;
@@ -174,8 +175,10 @@ public final class IcnsType {
         if (bytes.length != 4) {
             throw new IllegalArgumentException("Invalid ICNS type");
         }
-        return ((0xff & bytes[0]) << 24) | ((0xff & bytes[1]) << 16)
-                | ((0xff & bytes[2]) << 8) | (0xff & bytes[3]);
+        return ((0xff & bytes[0]) << 24) 
+             | ((0xff & bytes[1]) << 16)
+             | ((0xff & bytes[2]) << 8)
+             | (0xff & bytes[3]);
     }
 
     public static String describeType(final int type) {