Package org.eclipse.equinox.p2.core

# Class UIServices

java.lang.Object
org.eclipse.equinox.p2.core.UIServices

public abstract class UIServices extends Object
Service used for prompting for user information from within lower level code. Implementors of this service are responsible for registering the service. It is possible that the UIServices service is requested very early in the startup sequence for an application. For example, applications that check for updates during startup will trigger the service lookup if a server requiring authentication is detected. For this reason, implementors of UIServices should ensure that the bundle providing the service is partitioned appropriately.

Since:
  2.0

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`UIServices.AuthenticationInfo`
Authentication information returned from an authentication prompt request.
`static class`
`UIServices.TrustInfo`
Trust information returned from a trust request.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final UIServices.AuthenticationInfo`
`AUTHENTICATION_PROMPT_CANCELED`
This constant may be returned by the `getUsernamePassword` methods if the user explicitly canceled the authentication prompt.
`static final String`
`SERVICE_NAME`
Service name constant for the UI service.

## Constructor Summary

Constructors
Constructor
Description
`UIServices()`

## Method Summary

Modifier and Type
Method
Description
`abstract UIServices.TrustInfo`
`getTrustInfo(Certificate[][] untrustedChain, String[] unsignedDetail)`
Opens a UI prompt to capture information about trusted content.
`UIServices.TrustInfo`
`getTrustInfo(Certificate[][] unTrustedCertificateChains, Collection<org.bouncycastle.openpgp.PGPPublicKey> untrustedPGPKeys, String[] unsignedDetail)`
Opens a UI prompt to capture information about trusted content.
`abstract UIServices.AuthenticationInfo`
`getUsernamePassword(String location)`
Opens a UI prompt for authentication details
`abstract UIServices.AuthenticationInfo`
`getUsernamePassword(String location, UIServices.AuthenticationInfo previousInfo)`
Opens a UI prompt for authentication details when cached or remembered details where not accepted.
`void`
`showInformationMessage(String title, String text, String linkText)`
Shows the given message to the user.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### SERVICE_NAME

public static final String SERVICE_NAME
Service name constant for the UI service.

### AUTHENTICATION_PROMPT_CANCELED

public static final UIServices.AuthenticationInfo AUTHENTICATION_PROMPT_CANCELED
This constant may be returned by the `getUsernamePassword` methods if the user explicitly canceled the authentication prompt.

Since:
  2.2

## Constructor Details

### UIServices

public UIServices()

## Method Details

### getUsernamePassword

public abstract UIServices.AuthenticationInfo getUsernamePassword(String location)
Opens a UI prompt for authentication details

Parameters:
  `location` - - the location requiring login details, may be `null`.
Returns:
  The authentication result, or `null`, or `AUTHENTICATION_PROMPT_CANCELED`

### getUsernamePassword

public abstract UIServices.AuthenticationInfo getUsernamePassword(String location, UIServices.AuthenticationInfo previousInfo)
Opens a UI prompt for authentication details when cached or remembered details where not accepted.

Parameters:
  `location` - the location requiring login details
  `previousInfo` - - the previously used authentication details - may not be null.
Returns:
  The authentication result, or `null`, or `AUTHENTICATION_PROMPT_CANCELED`

### getTrustInfo

public abstract UIServices.TrustInfo getTrustInfo(Certificate[][] untrustedChain, String[] unsignedDetail)
Opens a UI prompt to capture information about trusted content.

Parameters:
  `untrustedChain` - - an array of certificate chains for which there is no current trust anchor. May be `null`, which means there are no untrusted certificate chains.
  `unsignedDetail` - - an array of strings, where each String describes content that is not signed. May be `null`, which means there is no unsigned content
Returns:
  the TrustInfo that describes the user's choices for trusting certificates and unsigned content.
Implementation Requirements:
  Implementors should also override `getTrustInfo(Certificate[][], Collection, String[])`.

### showInformationMessage

public void showInformationMessage(String title, String text, String linkText)
Shows the given message to the user. It depends on the concrete implementation how this is done, e.g. in a dialog, on the console, or in other ways.

Parameters:
  `title` - - a title if the message is shown in a dialog
  `text` - - the message to be shown
  `linkText` - - an optional text to be rendered as hyperlink on the UI
Since:
  2.4

### getTrustInfo

public UIServices.TrustInfo getTrustInfo(Certificate[][] unTrustedCertificateChains, Collection<org.bouncycastle.openpgp.PGPPublicKey> untrustedPGPKeys, String[] unsignedDetail)
Opens a UI prompt to capture information about trusted content.

Parameters:
  `unTrustedCertificateChains` - - an array of certificate chains for which there is no current trust anchor. May be `null`, which means there are no untrusted certificate chains.
  `untrustedPGPKeys` - Collection of PGP signer keys that are not trusted
  `unsignedDetail` - - an array of strings, where each String describes content that is not signed. May be `null`, which means there is no unsigned content
Returns:
  the TrustInfo that describes the user's choices for trusting certificates and unsigned content.
Since:
  2.8