# Properties

## Overview

### local interface Properties

A property set used to configure Ice and Ice applications. Properties are key/value pairs, with both keys and values being strings. By convention, property keys should have the form application-name[.category[.sub-category]].name.

#### Used By

clone
Communicator::getProperties

## Operation Index

getProperty
  Get a property by key.
getPropertyWithDefault
  Get a property by key.
getPropertyAsInt
  Get a property as an integer.
getPropertyAsIntWithDefault
  Get a property as an integer.
getPropertiesForPrefix
  Get all properties whose keys begins with prefix.
setProperty
  Set a property.
getCommandLineOptions
  Get a sequence of command-line options that is equivalent to this property set.
parseCommandLineOptions
  Convert a sequence of command-line options into properties.
parseIceCommandLineOptions
  Convert a sequence of command-line options into properties.
load
  Load properties from a file.
clone
  Create a copy of this property set.

## Operations

### string getProperty(string key)

Get a property by key. If the property does not exist, an empty string is returned.

#### Parameters

key
  The property key.

#### Return Value

The property value.

#### See Also

setProperty

### string getPropertyWithDefault(string key, string value)

Get a property by key. If the property does not exist, the given default value is returned.

#### Parameters

key
  The property key.
value
  The default value to use if the property does not exist.

#### Return Value

The property value or the default value.

#### See Also

setProperty

### int getPropertyAsInt(string key)

Get a property as an integer. If the property does not exist, 0 is returned.

#### Parameters

key
  The property key.

#### Return Value

The property value interpreted as an integer.

#### See Also

setProperty

### int getPropertyAsIntWithDefault(string key, int value)

Get a property as an integer. If the property does not exist, the given default value is returned.

#### Parameters

key
  The property key.
value
  The default value to use if the property does not exist.

#### Return Value

The property value interpreted as an integer, or the default value.

#### See Also

setProperty

### PropertyDict getPropertiesForPrefix(string prefix)

Get all properties whose keys begins with prefix. If prefix is an empty string, then all properties are returned.

#### Return Value

The matching property set.

### void setProperty(string key, string value)

Set a property. To unset a property, set it to the empty string.

#### Parameters

key
  The property key.
value
  The property value.

#### See Also

getProperty

### StringSeq getCommandLineOptions()

Get a sequence of command-line options that is equivalent to this property set. Each element of the returned sequence is a command-line option of the form `--key=value`.

#### Return Value

The command line options for this property set.

### StringSeq parseCommandLineOptions(string prefix, StringSeq options)

Convert a sequence of command-line options into properties. All options that begin with `--prefix.` are converted into properties. If the prefix is empty, all options that begin with `--` are converted to properties.

#### Parameters

prefix
  The property prefix, or an empty string to convert all options starting with `--`.
options
  The command-line options.

#### Return Value

The command-line options that do not start with the specified prefix, in their original order.

### StringSeq parseIceCommandLineOptions(StringSeq options)

Convert a sequence of command-line options into properties. All options that begin with one of the following prefixes are converted into properties: `--Ice`, `--IceBox`, `--IceGrid`, `--IcePatch2`, `--IceSSL`, `--IceStorm`, `--Freeze`, and `--Glacier2`.

#### Parameters

options
  The command-line options.

#### Return Value

The command-line options that do not start with one of the listed prefixes, in their original order.

### void load(string file)

Load properties from a file.

#### Parameters

file
  The property file.

### Properties clone()

Create a copy of this property set.

#### Return Value

A copy of this property set.