View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.maven.index;
20  
21  /**
22   * Enumeration provides values indicating artifact availability
23   */
24  public enum ArtifactAvailability {
25      /**
26       * Artifact is not present locally
27       */
28      NOT_PRESENT(0),
29  
30      /**
31       * Artifact is present locally
32       */
33      PRESENT(1),
34  
35      /**
36       * Artifact is not available
37       */
38      NOT_AVAILABLE(2);
39  
40      private final int n;
41  
42      ArtifactAvailability(int n) {
43          this.n = n;
44      }
45  
46      @Override
47      public String toString() {
48          return Integer.toString(n);
49      }
50  
51      public static ArtifactAvailability fromString(String s) {
52          try {
53              switch (Integer.parseInt(s)) {
54                  case 1:
55                      return PRESENT;
56                  case 2:
57                      return NOT_AVAILABLE;
58                  default:
59                      return NOT_PRESENT;
60              }
61          } catch (NumberFormatException ex) {
62              return NOT_PRESENT;
63          }
64      }
65  }