1   /*  Copyright 2004 Brian McCallister
2    *
3    *   Licensed under the Apache License, Version 2.0 (the "License");
4    *   you may not use this file except in compliance with the License.
5    *   You may obtain a copy of the License at
6    *
7    *       http://www.apache.org/licenses/LICENSE-2.0
8    *
9    *   Unless required by applicable law or agreed to in writing, software
10   *   distributed under the License is distributed on an "AS IS" BASIS,
11   *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   *   See the License for the specific language governing permissions and
13   *   limitations under the License.
14   */
15  package org.skife.lucene.graph.helper;
16  
17  import org.skife.lucene.graph.helper.Beer;
18  
19  import java.util.HashSet;
20  import java.util.Set;
21  
22  public class Cooler implements Identifiable
23  {
24      private final Set beers;
25      private final Integer id;
26  
27      public Cooler(final int id)
28      {
29          this.id = new Integer(id);
30          this.beers = new HashSet();
31      }
32  
33      public Set getBeers()
34      {
35          return beers;
36      }
37  
38      public void stock(final Beer beer)
39      {
40          this.beers.add(beer);
41      }
42  
43      public Beer grab()
44      {
45          if (beers.size() > 0) return (Beer) beers.iterator().next();
46          else throw new RuntimeException("The world has ended!");
47      }
48  
49      public Integer getIdentity()
50      {
51          return id;
52      }
53  }