// Path: src/com/sproutlife/model/seed/SeedFactory.java
// public static enum SeedType { 
//                
//     L2_RPentomino ("L2 to R-Pentomino"),
//     L2B1_RPentomino ("L2B1 to R-Pentomino"), 
//     Square2_RPentomino ("2x2 Box to R-Pentomino"), 
//     Glider_RPentomino ("Glider to R-Pentomino"), 
//     RPentomino_RPentomino ("R-Pentomino to R-Pentomino"),        
//     Boxlid_RPentomino ("Boxlid to R-Pentomino"), 
//     Boxlid3_RPentomino ("Boxlid3 to R-Pentomino"),        
//     Boxhat_RPentomino ("Boxhat to R-Pentomino"),
//     Bentline1_RPentomino ("Bentline1 to R-Pentomino"),
//     Bentline1_Plus ("Bentline1 to Plus"),
//     Bentline1m_RPentomino ("Bentline1m to R-Pentomino"),
//     Bentline_U3x3 ("Bentline to U 3x3"),
//     BentlineMargin35_RPentomino ("BentlineM35 to R-Pentomino"),
//     Onebit_RPentomino ("Onebit to R-Pentomino"), 
//     OnebitB1_RPentomino ("OnebitB1 to R-Pentomino"),  
//     Test_Pattern ("Test Pattern");
//                    
//     private final String name;
//         
//     private SeedType(String name) {
//         this.name = name;
//     }
// 
//     public String toString() {
//        return this.name;
//     }
//         
//     public static SeedType get(String name) {
//         for (SeedType st : SeedType.values()) {
//             if (st.toString().equals(name)) {
//                 return st;
//             }
//         }
//         return null;
//     }
// 
//     /*
//      * 8 way symmetry. Looks the same way under rotation and also mirroring.
//      * 
//      * @return true if the seed has 8 way symmetry.
//      */
//     public boolean isSymmetric8() {
//         switch (this) {
//             case Square2_RPentomino:
//                 return true;
//             case Onebit_RPentomino:
//                 return true;
//             case OnebitB1_RPentomino:
//                 return true;
//                 // case Test_Pattern : return true;
//             default:
//                 return false;
//         }
//     }
// 
//     /*
//      * 4 way symmetry. Like a line which is symmetric under mirroring, and 2
//      * rotations.
//      * 
//      * @return true if the seed has 4 way symmetry.
//      */
//     public boolean isSymmetric4() {
//         switch (this) {
//             default:
//                 return false;
//         }
//     }
// 
//     /*
//      * 2 way symmetry. All 4 rotations are different, but mirror images look
//      * the same as a rotation
//      * 
//      * @return true if the seed has 2 way symmetry.
//      */
//     public boolean isSymmetric2() {
//         switch (this) {
//             case L2_RPentomino:
//                 return true;
//             case L2B1_RPentomino:
//                 return true;
//             default:
//                 return false;
//         }
//     }
// }   


import java.util.HashMap;
import com.sproutlife.model.seed.SeedFactory.SeedType;
/*******************************************************************************
 * Copyright (c) 2016 Alex Shapiro - github.com/shpralex
 * This program and the accompanying materials
 * are made available under the terms of the The MIT License (MIT)
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *******************************************************************************/
package com.sproutlife;



public class Settings {
    HashMap<String, Object> settings;

    public static String SEED_TYPE = "seedType";
    public static String LIFE_MODE = "competitiveMode";
    public static String MUTATION_ENABLED = "mutationEnabled";
    public static String MUTATION_RATE = "mutationRate";
    public static String MAX_LIFESPAN = "maxLifespan";
    public static String TARGET_LIFESPAN = "targetLifespan";
    public static String MIN_CHILDBEARING_AGE = "minAgeToHaveChildren";
    public static String CHILD_TWO_PARENT_AGE = "childTwoParentAge";
    public static String CHILD_THREE_PARENT_AGE = "childThreeParentAge";
    //Determines whether seeds are sprouted immediately upon detection,
    //Or a step later so seed cells can be displayed before the sprout is.
    public static String SPROUT_DELAYED_MODE = "sproutDelayedMode";
    public static String BACKGROUND_THEME = "backgroundTheme";
    public static String COLOR_MODEL = "colorModel";
    public static String AUTO_SPLIT_COLORS = "autoSplitColors";
    public static String PRIMARY_HUE_DEGREES = "primaryHueDegrees";
    public static String HUE_RANGE = "hueRange";


    public Settings() {
        settings = new HashMap<String, Object>();
        initSettings();
    }

    public void initSettings() {
// Path: src/com/sproutlife/model/seed/SeedFactory.java
// public static enum SeedType { 
//                
//     L2_RPentomino ("L2 to R-Pentomino"),
//     L2B1_RPentomino ("L2B1 to R-Pentomino"), 
//     Square2_RPentomino ("2x2 Box to R-Pentomino"), 
//     Glider_RPentomino ("Glider to R-Pentomino"), 
//     RPentomino_RPentomino ("R-Pentomino to R-Pentomino"),        
//     Boxlid_RPentomino ("Boxlid to R-Pentomino"), 
//     Boxlid3_RPentomino ("Boxlid3 to R-Pentomino"),        
//     Boxhat_RPentomino ("Boxhat to R-Pentomino"),
//     Bentline1_RPentomino ("Bentline1 to R-Pentomino"),
//     Bentline1_Plus ("Bentline1 to Plus"),
//     Bentline1m_RPentomino ("Bentline1m to R-Pentomino"),
//     Bentline_U3x3 ("Bentline to U 3x3"),
//     BentlineMargin35_RPentomino ("BentlineM35 to R-Pentomino"),
//     Onebit_RPentomino ("Onebit to R-Pentomino"), 
//     OnebitB1_RPentomino ("OnebitB1 to R-Pentomino"),  
//     Test_Pattern ("Test Pattern");
//                    
//     private final String name;
//         
//     private SeedType(String name) {
//         this.name = name;
//     }
// 
//     public String toString() {
//        return this.name;
//     }
//         
//     public static SeedType get(String name) {
//         for (SeedType st : SeedType.values()) {
//             if (st.toString().equals(name)) {
//                 return st;
//             }
//         }
//         return null;
//     }
// 
//     /*
//      * 8 way symmetry. Looks the same way under rotation and also mirroring.
//      * 
//      * @return true if the seed has 8 way symmetry.
//      */
//     public boolean isSymmetric8() {
//         switch (this) {
//             case Square2_RPentomino:
//                 return true;
//             case Onebit_RPentomino:
//                 return true;
//             case OnebitB1_RPentomino:
//                 return true;
//                 // case Test_Pattern : return true;
//             default:
//                 return false;
//         }
//     }
// 
//     /*
//      * 4 way symmetry. Like a line which is symmetric under mirroring, and 2
//      * rotations.
//      * 
//      * @return true if the seed has 4 way symmetry.
//      */
//     public boolean isSymmetric4() {
//         switch (this) {
//             default:
//                 return false;
//         }
//     }
// 
//     /*
//      * 2 way symmetry. All 4 rotations are different, but mirror images look
//      * the same as a rotation
//      * 
//      * @return true if the seed has 2 way symmetry.
//      */
//     public boolean isSymmetric2() {
//         switch (this) {
//             case L2_RPentomino:
//                 return true;
//             case L2B1_RPentomino:
//                 return true;
//             default:
//                 return false;
//         }
//     }
// }   


// Path: src/com/sproutlife/Settings.java
import java.util.HashMap;
import com.sproutlife.model.seed.SeedFactory.SeedType;

/*******************************************************************************
 * Copyright (c) 2016 Alex Shapiro - github.com/shpralex
 * This program and the accompanying materials
 * are made available under the terms of the The MIT License (MIT)
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *******************************************************************************/
package com.sproutlife;



public class Settings {
    HashMap<String, Object> settings;

    public static String SEED_TYPE = "seedType";
    public static String LIFE_MODE = "competitiveMode";
    public static String MUTATION_ENABLED = "mutationEnabled";
    public static String MUTATION_RATE = "mutationRate";
    public static String MAX_LIFESPAN = "maxLifespan";
    public static String TARGET_LIFESPAN = "targetLifespan";
    public static String MIN_CHILDBEARING_AGE = "minAgeToHaveChildren";
    public static String CHILD_TWO_PARENT_AGE = "childTwoParentAge";
    public static String CHILD_THREE_PARENT_AGE = "childThreeParentAge";
    //Determines whether seeds are sprouted immediately upon detection,
    //Or a step later so seed cells can be displayed before the sprout is.
    public static String SPROUT_DELAYED_MODE = "sproutDelayedMode";
    public static String BACKGROUND_THEME = "backgroundTheme";
    public static String COLOR_MODEL = "colorModel";
    public static String AUTO_SPLIT_COLORS = "autoSplitColors";
    public static String PRIMARY_HUE_DEGREES = "primaryHueDegrees";
    public static String HUE_RANGE = "hueRange";


    public Settings() {
        settings = new HashMap<String, Object>();
        initSettings();
    }

    public void initSettings() {
        set(Settings.SEED_TYPE, SeedType.Bentline1_RPentomino.toString());