001    // License: GPL. See LICENSE file for details.
002    package org.openstreetmap.josm.data.validation;
003    
004    import static org.openstreetmap.josm.tools.I18n.marktr;
005    import static org.openstreetmap.josm.tools.I18n.tr;
006    
007    import java.awt.Color;
008    
009    import org.openstreetmap.josm.Main;
010    
011    /** The error severity */
012    public enum Severity {
013        /** Error messages */
014        ERROR(tr("Errors"), /* ICON(data/) */"error",       Main.pref.getColor(marktr("validation error"), Color.RED)),
015        /** Warning messages */
016        WARNING(tr("Warnings"), /* ICON(data/) */"warning", Main.pref.getColor(marktr("validation warning"), Color.YELLOW)),
017        /** Other messages */
018        OTHER(tr("Other"), /* ICON(data/) */"other",        Main.pref.getColor(marktr("validation other"), Color.CYAN));
019    
020        /** Description of the severity code */
021        private final String message;
022    
023        /** Associated icon */
024        private final String icon;
025    
026        /** Associated color */
027        private final Color color;
028    
029        /**
030         * Constructor
031         *
032         * @param message Description
033         * @param icon Associated icon
034         * @param color The color of this severity
035         */
036        Severity(String message, String icon, Color color) {
037            this.message = message;
038            this.icon = icon;
039            this.color = color;
040        }
041    
042        public static void getColors() {
043            for (Severity c:values()) {
044                c.getColor();
045            }
046        }
047    
048        @Override
049        public String toString() {
050            return message;
051        }
052    
053        /**
054         * Gets the associated icon
055         * @return the associated icon
056         */
057        public String getIcon() {
058            return icon;
059        }
060    
061        /**
062         * Gets the associated color
063         * @return The associated color
064         */
065        public Color getColor() {
066            return color;
067        }
068    
069    
070    }