    001    // Copyright 2006 by Basil Vandegriend.  All rights reserved.
    002
    003    package com.basilv.envgen;
    004
    005    import java.util.*;
    006
    007    import com.basilv.core.Assert;
    008
    009    /**
    010     * Holds a set of properties (as a map) for each environment.
    011     *
    012     */
    013    public class EnvironmentProperties
    014    {
    015
    016            private List envPropertiesList = new ArrayList();
    017
    018            public EnvironmentProperties(int environmentCount) {
    019                    Assert.greaterThanZero("environmentCount", environmentCount);
    020
    021                    for (int i = 0; i < environmentCount; i++) {
    022                            Map propertyMap = new HashMap();
    023                            envPropertiesList.add(propertyMap);
    024                    }
    025            }
    026
    027            public void addProperty(int environment, String property, String value) {
    028                    Assert.notNegative("environment", environment);
    029
    030                    Map envProperties = getPropertiesForEnvironment(environment);
    031                    envProperties.put(property, value);
    032
    033            }
    034
    035            public int getNumberOfEnvironments() {
    036                    return envPropertiesList.size();
    037            }
    038
    039            public List getEnvPropertiesList() {
    040                    return envPropertiesList;
    041            }
    042
    043            public Map getPropertiesForEnvironment(int environment) {
    044                    Assert.notNegative("environment", environment);
    045
    046                    Map envProperties = (Map) envPropertiesList.get(environment);
    047                    return envProperties;
    048            }
    049
    050    }