001    package org.apache.commons.contract;
002    
003    import java.util.HashMap;
004    import java.util.Map;
005    
006    import org.apache.commons.contract.descriptor.StateDescriptor;
007    
008    public class Result {
009        public final static Result OK = new Result(StateDescriptor.OK);
010    
011        protected String state;
012        protected Map resultEntries;
013    
014        public Result(String state) {
015            this.state = state;
016            resultEntries = new HashMap();
017        }
018    
019        public Result(String state, String key, Object value) {
020            this(state);
021            addResultEntry(key, value);
022        }
023    
024        public Result(String state, Map resultEntries) {
025            this.state = state;
026            this.resultEntries = resultEntries;
027        }
028    
029        public void setState(String state) {
030            this.state = state;
031        }
032    
033        public String getState() {
034            return state;
035        }
036    
037        public Map getResultEntries() {
038            return resultEntries;
039        }
040    
041        public void addResultEntry(String key, Object value) {
042            resultEntries.put(key, value);
043        }
044    }