// Path: src/main/java/de/mprengemann/intellij/plugin/androidicons/model/Destination.java
// public enum Destination {
//     DRAWABLE("drawable"),
//     MIPMAP("mipmap");
// 
// 
//     private final String folderName;
// 
//     Destination(String folderName) {
//         this.folderName = folderName;
//     }
// 
//     public String getFolderName() {
//         return folderName;
//     }
// 
// }
// 
// Path: src/main/java/de/mprengemann/intellij/plugin/androidicons/model/Format.java
// public enum Format {
//     JPG,
//     PNG,
//     XML;
// 
//     private static final Format[] NON_VECTOR_VALUES = new Format[] {
//         JPG, PNG
//     };
// 
//     public static Format[] nonVectorValues() {
//         return NON_VECTOR_VALUES;
//     }
// }
// 
// Path: src/main/java/de/mprengemann/intellij/plugin/androidicons/model/ImageAsset.java
// public class ImageAsset implements Comparable<ImageAsset>,
//                                    Serializable {
// 
//     private final String name;
//     private final String pack;
//     private final String category;
//     private final List<Resolution> resolutions;
//     private final List<String> colors;
//     private final List<String> sizes;
// 
//     public ImageAsset(String name,
//                       String pack,
//                       String category,
//                       List<Resolution> resolutions,
//                       List<String> colors,
//                       List<String> sizes) {
//         this.name = name;
//         this.pack = pack;
//         this.category = category;
//         this.resolutions = resolutions;
//         this.colors = colors;
//         this.sizes = sizes;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public String getIconPack() {
//         return pack;
//     }
// 
//     public String getCategory() {
//         return category;
//     }
// 
//     public List<Resolution> getResolutions() {
//         return resolutions;
//     }
// 
//     public List<String> getColors() {
//         return colors;
//     }
// 
//     public List<String> getSizes() {
//         return sizes;
//     }
// 
//     @Override
//     public String toString() {
//         return name;
//     }
// 
//     @Override
//     public int compareTo(@NotNull ImageAsset o) {
//         return getName().compareTo(o.getName());
//     }
// }
// 
// Path: src/main/java/de/mprengemann/intellij/plugin/androidicons/model/Resolution.java
// public enum Resolution {
//     LDPI,
//     MDPI,
//     HDPI,
//     XHDPI,
//     XXHDPI,
//     XXXHDPI,
//     TVDPI,
//     ANYDPI;
// 
//     private static final Resolution[] RESOLUTIONS_WITHOUT_SVG = new Resolution[] {
//         LDPI, MDPI, HDPI, XHDPI, XXHDPI, XXXHDPI, TVDPI
//     };
// 
//     public static Resolution[] nonVectorValues() {
//         return RESOLUTIONS_WITHOUT_SVG;
//     }
// 
//     public static Resolution from(String value) {
//         if (TextUtils.isEmpty(value)) {
//             throw new IllegalArgumentException();
//         }
//         if (value.equalsIgnoreCase(LDPI.toString())) {
//             return LDPI;
//         } else if (value.equalsIgnoreCase(MDPI.toString())) {
//             return MDPI;
//         } else if (value.equalsIgnoreCase(HDPI.toString())) {
//             return HDPI;
//         } else if (value.equalsIgnoreCase(XHDPI.toString())) {
//             return XHDPI;
//         } else if (value.equalsIgnoreCase(XXHDPI.toString())) {
//             return XXHDPI;
//         } else if (value.equalsIgnoreCase(XXXHDPI.toString())) {
//             return XXXHDPI;
//         } else if (value.equalsIgnoreCase(TVDPI.toString())) {
//             return TVDPI;
//         } else if (value.equalsIgnoreCase(ANYDPI.toString())) {
//             return ANYDPI;
//         }
//         return null;
//     }
// 
//     public static class Deserializer implements JsonDeserializer<Resolution> {
//         @Override
//         public Resolution deserialize(JsonElement jsonElement,
//                                   Type type,
//                                   JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
//             return Resolution.from(jsonElement.getAsString());
//         }
//     }
// }


import de.mprengemann.intellij.plugin.androidicons.images.ResizeAlgorithm;
import de.mprengemann.intellij.plugin.androidicons.model.Destination;
import de.mprengemann.intellij.plugin.androidicons.model.Format;
import de.mprengemann.intellij.plugin.androidicons.model.ImageAsset;
import de.mprengemann.intellij.plugin.androidicons.model.Resolution;
import java.util.Set;
package de.mprengemann.intellij.plugin.androidicons.controllers.defaults;



public interface IDefaultsController {
    Set<Resolution> getResolutions();
    void setResolutions(Set<Resolution> resolutions);

    ImageAsset getImageAsset();
    void setImageAsset(ImageAsset imageAsset);

    Resolution getSourceResolution();
    void setSourceResolution(Resolution sourceResolution);

    String getSize();
    void setSize(String size);

    String getColor();
    void setColor(String color);

    ResizeAlgorithm getAlgorithm();
    void setAlgorithm(ResizeAlgorithm algorithm);

    String getMethod();
    void setMethod(String method);

    Format getFormat();
    void setFormat(Format format);

// Path: src/main/java/de/mprengemann/intellij/plugin/androidicons/model/Destination.java
// public enum Destination {
//     DRAWABLE("drawable"),
//     MIPMAP("mipmap");
// 
// 
//     private final String folderName;
// 
//     Destination(String folderName) {
//         this.folderName = folderName;
//     }
// 
//     public String getFolderName() {
//         return folderName;
//     }
// 
// }
// 
// Path: src/main/java/de/mprengemann/intellij/plugin/androidicons/model/Format.java
// public enum Format {
//     JPG,
//     PNG,
//     XML;
// 
//     private static final Format[] NON_VECTOR_VALUES = new Format[] {
//         JPG, PNG
//     };
// 
//     public static Format[] nonVectorValues() {
//         return NON_VECTOR_VALUES;
//     }
// }
// 
// Path: src/main/java/de/mprengemann/intellij/plugin/androidicons/model/ImageAsset.java
// public class ImageAsset implements Comparable<ImageAsset>,
//                                    Serializable {
// 
//     private final String name;
//     private final String pack;
//     private final String category;
//     private final List<Resolution> resolutions;
//     private final List<String> colors;
//     private final List<String> sizes;
// 
//     public ImageAsset(String name,
//                       String pack,
//                       String category,
//                       List<Resolution> resolutions,
//                       List<String> colors,
//                       List<String> sizes) {
//         this.name = name;
//         this.pack = pack;
//         this.category = category;
//         this.resolutions = resolutions;
//         this.colors = colors;
//         this.sizes = sizes;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public String getIconPack() {
//         return pack;
//     }
// 
//     public String getCategory() {
//         return category;
//     }
// 
//     public List<Resolution> getResolutions() {
//         return resolutions;
//     }
// 
//     public List<String> getColors() {
//         return colors;
//     }
// 
//     public List<String> getSizes() {
//         return sizes;
//     }
// 
//     @Override
//     public String toString() {
//         return name;
//     }
// 
//     @Override
//     public int compareTo(@NotNull ImageAsset o) {
//         return getName().compareTo(o.getName());
//     }
// }
// 
// Path: src/main/java/de/mprengemann/intellij/plugin/androidicons/model/Resolution.java
// public enum Resolution {
//     LDPI,
//     MDPI,
//     HDPI,
//     XHDPI,
//     XXHDPI,
//     XXXHDPI,
//     TVDPI,
//     ANYDPI;
// 
//     private static final Resolution[] RESOLUTIONS_WITHOUT_SVG = new Resolution[] {
//         LDPI, MDPI, HDPI, XHDPI, XXHDPI, XXXHDPI, TVDPI
//     };
// 
//     public static Resolution[] nonVectorValues() {
//         return RESOLUTIONS_WITHOUT_SVG;
//     }
// 
//     public static Resolution from(String value) {
//         if (TextUtils.isEmpty(value)) {
//             throw new IllegalArgumentException();
//         }
//         if (value.equalsIgnoreCase(LDPI.toString())) {
//             return LDPI;
//         } else if (value.equalsIgnoreCase(MDPI.toString())) {
//             return MDPI;
//         } else if (value.equalsIgnoreCase(HDPI.toString())) {
//             return HDPI;
//         } else if (value.equalsIgnoreCase(XHDPI.toString())) {
//             return XHDPI;
//         } else if (value.equalsIgnoreCase(XXHDPI.toString())) {
//             return XXHDPI;
//         } else if (value.equalsIgnoreCase(XXXHDPI.toString())) {
//             return XXXHDPI;
//         } else if (value.equalsIgnoreCase(TVDPI.toString())) {
//             return TVDPI;
//         } else if (value.equalsIgnoreCase(ANYDPI.toString())) {
//             return ANYDPI;
//         }
//         return null;
//     }
// 
//     public static class Deserializer implements JsonDeserializer<Resolution> {
//         @Override
//         public Resolution deserialize(JsonElement jsonElement,
//                                   Type type,
//                                   JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
//             return Resolution.from(jsonElement.getAsString());
//         }
//     }
// }


// Path: src/main/java/de/mprengemann/intellij/plugin/androidicons/controllers/defaults/IDefaultsController.java
import de.mprengemann.intellij.plugin.androidicons.images.ResizeAlgorithm;
import de.mprengemann.intellij.plugin.androidicons.model.Destination;
import de.mprengemann.intellij.plugin.androidicons.model.Format;
import de.mprengemann.intellij.plugin.androidicons.model.ImageAsset;
import de.mprengemann.intellij.plugin.androidicons.model.Resolution;
import java.util.Set;

package de.mprengemann.intellij.plugin.androidicons.controllers.defaults;



public interface IDefaultsController {
    Set<Resolution> getResolutions();
    void setResolutions(Set<Resolution> resolutions);

    ImageAsset getImageAsset();
    void setImageAsset(ImageAsset imageAsset);

    Resolution getSourceResolution();
    void setSourceResolution(Resolution sourceResolution);

    String getSize();
    void setSize(String size);

    String getColor();
    void setColor(String color);

    ResizeAlgorithm getAlgorithm();
    void setAlgorithm(ResizeAlgorithm algorithm);

    String getMethod();
    void setMethod(String method);

    Format getFormat();
    void setFormat(Format format);

    Destination getDestination();