View Javadoc

1   /*
2    *  This file is part of the Heritrix web crawler (crawler.archive.org).
3    *
4    *  Licensed to the Internet Archive (IA) by one or more individual 
5    *  contributors. 
6    *
7    *  The IA licenses this file to You under the Apache License, Version 2.0
8    *  (the "License"); you may not use this file except in compliance with
9    *  the License.  You may obtain a copy of the License at
10   *
11   *      http://www.apache.org/licenses/LICENSE-2.0
12   *
13   *  Unless required by applicable law or agreed to in writing, software
14   *  distributed under the License is distributed on an "AS IS" BASIS,
15   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   *  See the License for the specific language governing permissions and
17   *  limitations under the License.
18   */
19  package org.archive.util;
20  
21  /***
22   * Class for optionally providing one instance of the parameterized
23   * type. The one instance may be provided at construction, or by 
24   * overriding get() in subclasses, may be created on demand. 
25   * 
26   * @param <V>
27   */
28  public class Supplier<V> {
29      V instance;
30      
31      public Supplier() {
32          super();
33      }
34      
35      public Supplier(V instance) {
36          super();
37          this.instance = instance;
38      }
39  
40      public V get() {
41          return instance;
42      }
43  }