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    }