001// Copyright 2006 by Basil Vandegriend.  All rights reserved.
002
003package com.basilv.envgen;
004
005import java.util.*;
006
007import com.basilv.core.Assert;
008
009/**
010 * Holds a set of properties (as a map) for each environment.
011 *
012 */
013public 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}