All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jasypt.encryption.pbe.config.WebPBEConfig Maven / Gradle / Ivy

The newest version!
/*
 * =============================================================================
 * 
 *   Copyright (c) 2007-2010, The JASYPT team (http://www.jasypt.org)
 * 
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 * 
 *       http://www.apache.org/licenses/LICENSE-2.0
 * 
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 * 
 * =============================================================================
 */
package org.jasypt.encryption.pbe.config;

import org.jasypt.commons.CommonUtils;
import org.jasypt.web.pbeconfig.WebPBEConfigRegistry;

/**
 * 

* Implementation for {@link PBEConfig} which can be used from the * Web PBE Config infrastructure (Filter + Servlet) to set the * password for an encryptor from the web at initialization time. *

*

* For an encryptor to be assigned a password from the web, it only has * to be assigned a WebPBEConfig object, which must be initialized with * both a unique name an a validation word. The name will identify * the config object (and thus the encryptor) and the validation word will * make sure that only an authorized person (for example, the application * deployer) sets the passwords. *

*

* As this class extends {@link SimplePBEConfig}, parameter values * can be also set with the usual setX methods. *

*

* For any of the configuration parameters, if its setX * method is not called, a null value will be returned by the * corresponding getX method. *

* * @since 1.3 * * @author Daniel Fernández * */ public class WebPBEConfig extends SimplePBEConfig { private String name = null; private String validationWord = null; /** *

* Creates a new WebPBEConfig instance. *

*/ public WebPBEConfig() { super(); final WebPBEConfigRegistry registry = WebPBEConfigRegistry.getInstance(); registry.registerConfig(this); } /** *

* Returns the name by which this WebPBEConfig object will be identified * from the web. This name must be unique for each WebPBEConfig object. *

* * @return the config name. */ public String getName() { return this.name; } /** *

* Sets the name by which this WebPBEConfig object will be identified * from the web. This name must be unique for each WebPBEConfig object. *

* * @param name the unique name which will identify this config object. */ public void setName(final String name) { CommonUtils.validateNotEmpty(name, "Name cannot be set empty"); this.name = name; } /** *

* Returns the validation word which will be asked from the web to the * person setting the password for the encryptor this config object belongs * to. This validation word will make sure that only an authorized person * (for example, the application deployer) sets the value for the * encryption password. *

* * @return the validation word assigned to this config object */ public String getValidationWord() { return this.validationWord; } /** *

* Sets the validation word which will be asked from the web to the * person setting the password for the encryptor this config object belongs * to. This validation word will make sure that only an authorized person * (for example, the application deployer) sets the value for the * encryption password. *

* * @param validation the validation word to be assigned to this config object */ public void setValidationWord(final String validation) { CommonUtils.validateNotEmpty(validation, "Validation word cannot be set empty"); this.validationWord = validation; } /** *

* Returns whether this config object is complete or not (both name and * validation word have been set). Intended for internal use only. *

* * @return whether the config object is complete or not. */ public boolean isComplete() { return ((CommonUtils.isNotEmpty(this.name)) && (CommonUtils.isNotEmpty(this.validationWord))); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy