Package org.eclipse.equinox.p2.metadata

# Interface ILicense

public interface ILicense
The `ILicense` interface represents a software license. A license has required body text which may be the full text or an annotation. An optional URL field can be specified which links to full text. Licenses can be easily compared using their digests. Licenses can be added to arbitrary installable units, and will typically be displayed to end users and require explicit agreement before installation proceeds.

Instances of this class are handle objects and do not necessarily reflect entities that exist in any particular profile or repository. These handle objects can be created using `MetadataFactory`.

Since:
  2.0
Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
Returns whether this license is equal to the given object.
`String`
`getBody()`
Returns the license body.
`URI`
`getLocation()`
Returns the location of a document containing the full license.
`String`
`getUUID()`
Returns the message digest of the license body.

## Method Details

### getLocation

URI getLocation()
Returns the location of a document containing the full license.

Returns:
  the location of the license document, or `null`

### getBody

String getBody()
Returns the license body.

Returns:
  the license body, never `null`

### getUUID

String getUUID()
Returns the message digest of the license body. The digest is calculated on a normalized version of the license where all whitespace has been reduced to one space.

Returns:
  the message digest as a `BigInteger`, never `null`

### equals

boolean equals(Object obj)
Returns whether this license is equal to the given object. This method returns true if:

- Both this object and the given object are of type ILicense
- The result of getDigest() on both objects are equal

Overrides:
  `equals` in class `Object`