View Javadoc
1   package org.apache.archiva.checksum;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *  http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  /**
23   * Status of checksum update for specific algorithm.
24   */
25  public class UpdateStatus {
26  
27      /**
28       * Checksum file did not exist before and was created
29       */
30      public static final int CREATED = 1;
31      /**
32       * Checksum file existed, but content differed
33       */
34      public static final int UPDATED = 2;
35      /**
36       * Nothing changed
37       */
38      public static final int NONE = 0;
39      /**
40       * Error occured during update/creation of the checksum file
41       */
42      public static final int ERROR = -1;
43  
44      private final ChecksumAlgorithm algorithm;
45      private final int status;
46      private final Throwable error;
47  
48      public UpdateStatus(ChecksumAlgorithm algorithm) {
49          this.algorithm = algorithm;
50          status = NONE;
51          error = null;
52      }
53  
54      public UpdateStatus(ChecksumAlgorithm algorithm, int status) {
55          this.algorithm = algorithm;
56          this.status = status;
57          error = null;
58      }
59  
60      public UpdateStatus(ChecksumAlgorithm algorithm, Throwable error) {
61          this.algorithm = algorithm;
62          this.status = ERROR;
63          this.error = error;
64      }
65  
66      /**
67       * Return the status value.
68       * @return The value
69       */
70      public int getValue() {
71          return status;
72      }
73  
74      /**
75       * Return error, if exists, otherwise <code>null</code> will be returned.
76       * @return
77       */
78      public Throwable getError() {
79          return error;
80      }
81  
82      /**
83       * Return the algorithm, this status is assigned to.
84       * @return The checksum algorithm
85       */
86      public ChecksumAlgorithm getAlgorithm() {
87          return algorithm;
88      }
89  }