// --- BEGIN COPYRIGHT BLOCK --- // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; version 2 of the License. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. // // (C) 2007 Red Hat, Inc. // All rights reserved. // --- END COPYRIGHT BLOCK --- package com.netscape.certsrv.base; import java.io.Serializable; import java.math.BigInteger; import java.util.Enumeration; import netscape.security.pkcs.PKCS10; /** * This interface defines the abstraction for the generic collection * of attributes indexed by string names. * Set of cooperating implementations of this interface may exploit * dot-separated attribute names to provide seamless access to the * attributes of attribute value which also implements AttrSet * interface as if it was direct attribute of the container * E.g., ((AttrSet)container.get("x")).get("y") is equivalent to * container.get("x.y"); *
*
* @version $Revision$, $Date$
**/
public interface IArgBlock extends Serializable {
/**
* Checks if this argument block contains the given key.
*
* @param n key
* @return true if key is present
*/
public boolean isValuePresent(String n);
/**
* Adds string-based value into this argument block.
*
* @param n key
* @param v value
* @return value
*/
public Object addStringValue(String n, String v);
/**
* Retrieves argument value as string.
*
* @param n key
* @return argument value as string
* @exception EBaseException failed to retrieve value
*/
public String getValueAsString(String n) throws EBaseException;
/**
* Retrieves argument value as string.
*
* @param n key
* @param def default value to be returned if key is not present
* @return argument value as string
*/
public String getValueAsString(String n, String def);
/**
* Retrieves argument value as integer.
*
* @param n key
* @return argument value as int
* @exception EBaseException failed to retrieve value
*/
public int getValueAsInt(String n) throws EBaseException;
/**
* Retrieves argument value as integer.
*
* @param n key
* @param def default value to be returned if key is not present
* @return argument value as int
*/
public int getValueAsInt(String n, int def);
/**
* Retrieves argument value as big integer.
*
* @param n key
* @return argument value as big integer
* @exception EBaseException failed to retrieve value
*/
public BigInteger getValueAsBigInteger(String n) throws EBaseException;
/**
* Retrieves argument value as big integer.
*
* @param n key
* @param def default value to be returned if key is not present
* @return argument value as big integer
*/
public BigInteger getValueAsBigInteger(String n, BigInteger def);
/**
* Retrieves argument value as object
*
* @param n key
* @return argument value as object
* @exception EBaseException failed to retrieve value
*/
public Object getValue(Object n) throws EBaseException;
/**
* Retrieves argument value as object
*
* @param n key
* @param def default value to be returned if key is not present
* @return argument value as object
*/
public Object getValue(Object n, Object def);
/**
* Gets boolean value. They should be "true" or "false".
*
* @param name name of the input type
* @return boolean type: true
or false
* @exception EBaseException failed to retrieve value
*/
public boolean getValueAsBoolean(String name) throws EBaseException;
/**
* Gets boolean value. They should be "true" or "false".
*
* @param name name of the input type
* @param def Default value to return.
* @return boolean type: true
or false
*/
public boolean getValueAsBoolean(String name, boolean def);
/**
* Gets KeyGenInfo
*
* @param name name of the input type
* @param def default value to return
* @exception EBaseException On error.
* @return KeyGenInfo object
*/
public KeyGenInfo getValueAsKeyGenInfo(String name, KeyGenInfo def) throws EBaseException;
/**
* Gets PKCS10 request. This pkcs10 attribute does not
* contain header information.
*
* @param name name of the input type
* @return pkcs10 request
* @exception EBaseException failed to retrieve value
*/
public PKCS10 getValueAsRawPKCS10(String name) throws EBaseException;
/**
* Gets PKCS10 request. This pkcs10 attribute does not
* contain header information.
*
* @param name name of the input type
* @param def default PKCS10
* @return pkcs10 request
* @exception EBaseException failed to retrieve value
*/
public PKCS10 getValueAsRawPKCS10(String name, PKCS10 def) throws EBaseException;
/**
* Retrieves PKCS10
*
* @param name name of the input type
* @param checkheader true if header must be present
* @return PKCS10 object
* @exception EBaseException failed to retrieve value
*/
public PKCS10 getValueAsPKCS10(String name, boolean checkheader) throws EBaseException;
/**
* Retrieves PKCS10
*
* @param name name of the input type
* @param checkheader true if header must be present
* @param def default PKCS10
* @return PKCS10 object
* @exception EBaseException on error
*/
public PKCS10 getValueAsPKCS10(String name, boolean checkheader, PKCS10 def) throws EBaseException;
/**
* Retrieves PKCS10
*
* @param name name of the input type
* @param def default PKCS10
* @return PKCS10 object
* @exception EBaseException on error
*/
public PKCS10 getValuePKCS10(String name, PKCS10 def) throws EBaseException;
/**
* Retrieves a list of argument keys.
*
* @return a list of string-based keys
*/
public Enumeration