# Parameter Container

## Files
file | axutil_param_container.h
| Axis2 Param container interface.

## Typedefs
typedef struct axutil_param_container | axutil_param_container_t
## Functions
AXIS2_EXTERN axutil_param_container_t * | axutil_param_container_create (const axutil_env_t *env)
AXIS2_EXTERN void | axutil_param_container_free_void_arg (void *param_container, const axutil_env_t *env)
AXIS2_EXTERN void | axutil_param_container_free (axutil_param_container_t *param_container, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axutil_param_container_add_param (axutil_param_container_t *param_container, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN axutil_param_t * | axutil_param_container_get_param (axutil_param_container_t *param_container, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN axutil_array_list_t * | axutil_param_container_get_params (axutil_param_container_t *param_container, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t | axutil_param_container_is_param_locked (axutil_param_container_t *param_container, const axutil_env_t *env, const axis2_char_t *param_name)

## Function Documentation

AXIS2_EXTERN axis2_status_t axutil_param_container_add_param | ( | axutil_param_container_t * | param_container,
|  | const axutil_env_t * | env,
|  | axutil_param_t * | param |
| ) |  |  |

Add a param

Parameters:

  | param | param to be added

Returns:
  status code

AXIS2_EXTERN axutil_param_container_t* axutil_param_container_create | ( | const axutil_env_t * | env | ) |

Creates param container struct

Returns:
  pointer to newly created param container

AXIS2_EXTERN void axutil_param_container_free | ( | axutil_param_container_t * | param_container,
|  | const axutil_env_t * | env |
| ) |  |  |

De-allocate memory

Returns:
  status code

AXIS2_EXTERN void axutil_param_container_free_void_arg | ( | void * | param_container,
|  | const axutil_env_t * | env |
| ) |  |  |

Free param_container passed as void pointer. This will be cast into appropriate type and then pass the cast object into the param_container structure's free method

AXIS2_EXTERN axutil_param_t* axutil_param_container_get_param | ( | axutil_param_container_t * | param_container,
|  | const axutil_env_t * | env,
|  | const axis2_char_t * | name |
| ) |  |  |

To get a param in a given description

Parameters:

  | name | param name

Returns:
  param

AXIS2_EXTERN axutil_array_list_t* axutil_param_container_get_params | ( | axutil_param_container_t * | param_container,
|  | const axutil_env_t * | env |
| ) |  |  |

To get all the params in a given description

Returns:
  all the params contained

AXIS2_EXTERN axis2_bool_t axutil_param_container_is_param_locked | ( | axutil_param_container_t * | param_container,
|  | const axutil_env_t * | env,
|  | const axis2_char_t * | param_name |
| ) |  |  |

To check whether the paramter is locked at any level

Parameters:

  | param_name | name of the param

Returns:
  whether param is locked