Represents a tool.

LAM will scan lib/tools/*.inc for classes which implement this interface. This alows to dynamically plugin additional tools. There will be an entry on the tools page inside LAM for each found class (if it matches the security level). A LAMTool only specifies name, description and location of a tool. The tool functionality is provided by the tool's target page.

author | Roland Gruber
package | tools

### Methods

## returns a description text for the tool.

    getDescription() : string

### Returns

`string`description

## Returns the link to the tool image (relative to graphics/)

    getImageLink() : string

### Returns

`string`image URL

## Returns a link to the tool page (relative to templates/).

    getLink() : string

### Returns

`string`link

## Returns the name of the tool.

    getName() : string

### Returns

`string`name

## Returns the prefered position of this tool on the tools page.

    getPosition() : int

The position may be between 0 and 1000. 0 is the top position.

### Returns

`int`prefered position

## Returns if the tool requires password change rights.

    getRequiresPasswordChangeRights() : boolean

### Returns

`boolean`true if password change rights are needed

## Returns if the tool requires write access to LDAP.

    getRequiresWriteAccess() : boolean

### Returns

`boolean`true if write access is needed

## Returns a list of sub tools or an empty array.

    getSubTools() : array

### Returns

`array`list of subtools (LAMTool)

## Returns if a tool may be hidden by configuration in the LAM server profile.

    isHideable() : boolean

### Returns

`boolean`hideable

## Returns if the tool is visible in the menu.

    isVisible() : boolean

### Returns

`boolean`visible