View Javadoc

1   package org.apache.turbine.services.crypto;
2   
3   /*
4    * Copyright 2001-2005 The Apache Software Foundation.
5    *
6    * Licensed under the Apache License, Version 2.0 (the "License")
7    * you may not use this file except in compliance with the License.
8    * 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, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  
19  import java.security.NoSuchAlgorithmException;
20  
21  import org.apache.turbine.services.TurbineServices;
22  
23  /***
24   * This is a facade class for the CryptoService.
25   *
26   * Here are the static methods that call related methods of the
27   * various implementations of the Crypto Security Service, according
28   * to the settings in TurbineResources.
29   *
30   * @author <a href="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a>
31   * @version $Id: TurbineCrypto.java 264148 2005-08-29 14:21:04Z henning $
32   */
33  public abstract class TurbineCrypto
34  {
35      /***
36       * Retrieves an implementation of the CryptoService, based on
37       * the settings in TurbineResources.
38       *
39       * @return an implementation of the CryptoService
40       */
41  
42      public static CryptoService getService()
43      {
44          return (CryptoService) TurbineServices.getInstance()
45                  .getService(CryptoService.SERVICE_NAME);
46      }
47  
48      /***
49       * Returns a CryptoAlgorithm Object which represents the requested
50       * crypto algorithm.
51       *
52       * @param algo      Name of the requested algorithm
53       * @return An Object representing the algorithm
54       * @throws NoSuchAlgorithmException  Requested algorithm is not available
55       */
56      public static CryptoAlgorithm getCryptoAlgorithm(String algo)
57              throws NoSuchAlgorithmException
58      {
59          return getService().getCryptoAlgorithm(algo);
60      }
61  
62  }