Eclipse Platform
Release 3.7

org.eclipse.equinox.p2.ui
Class Policy

java.lang.Object
  extended by org.eclipse.equinox.p2.ui.Policy

public class Policy
extends Object

The Policy class is used to specify application specific policies that should be used in the standard p2 UI class libraries. The default policy is acquired using the OSGi service model. Policy allows clients to specify things such as how repositories are manipulated in the standard wizards and dialogs, and how the repositories or the installation itself should be traversed when displaying content. In some cases, the Policy is used only to define a default value that can be overridden by user choice and subsequently stored in dialog settings. Client applications should ensure that their Policy is registered before any of the p2 UI objects access the default Policy.

Since:
2.0

Field Summary
static int RESTART_POLICY_FORCE
          A constant indicating that restart should be forced (without confirmation) immediately after completion of a provisioning operation.
static int RESTART_POLICY_FORCE_APPLY
          A constant indicating that the changes should be applied dynamically to the profile (without confirmation) immediately after completion of a provisioning operation.
static int RESTART_POLICY_PROMPT
          A constant indicating that the user should be prompted to restart after completion of a provisioning operation.
static int RESTART_POLICY_PROMPT_RESTART_OR_APPLY
          A constant indicating that, where possible, the user should be given the option to restart or dynamically apply the changes after completion of a provisioning operation.
static int UPDATE_STYLE_MULTIPLE_IUS
          A constant indicating that the user should be presented with an update wizard that shows a list of IUs that can be updated.
static int UPDATE_STYLE_SINGLE_IUS
          A constant indicating that the user should be presented with an update wizard that shows detail about a single IU that can be updated.
 
Constructor Summary
Policy()
           
 
Method Summary
 boolean continueWorkingWithOperation(ProfileChangeOperation operation, Shell shell)
          Answer a boolean indicating whether the caller should continue to work with the specified operation.
 boolean getFilterOnEnv()
          Return a boolean value indicating whether or not the list of available software should be filtered based on the environment settings of the profile.
 boolean getGroupByCategory()
          Return a boolean indicating whether available software should be grouped by category.
 IStatus getNoProfileChosenStatus()
          Return a status that can be used to describe the failure to retrieve a profile.
 boolean getRepositoriesVisible()
          Return a boolean indicating whether the repositories should be visible to the user, such that the user can add, remove, and otherwise manipulate the software site list.
 String getRepositoryPreferencePageId()
          Get the id of the preference page that should be used to link to the software sites page.
 String getRepositoryPreferencePageName()
          Get the localized name of the preference page that should be displayed in links to the software sites page.
 int getRestartPolicy()
          Get the restart policy that should be used when the provisioning UI determines that a restart is required.
 boolean getShowDrilldownRequirements()
          Return a boolean indicating whether the user should be allowed drill down from a visible update or installed item into the requirements.
 boolean getShowLatestVersionsOnly()
          Return a boolean indicating whether only the latest versions of updates and available software should be shown to the user.
 Point getUpdateDetailsPreferredSize()
          Get a point describing the preferred size of the details area shown in single IU update wizards.
 int getUpdateWizardStyle()
          Get the update wizard style that should be used to determine what to show the user when updates are available.
 IQuery<IInstallableUnit> getVisibleAvailableIUQuery()
          Return a query that can be used to obtain the IInstallableUnits that should be presented to the user from the software repositories.
 IQuery<IInstallableUnit> getVisibleInstalledIUQuery()
          Return a query that can be used to obtain the IInstallableUnits in the profile that should be presented to the user.
 void setFilterOnEnv(boolean filterOnEnv)
          Set a boolean value indicating whether or not the list of available software should be filtered based on the environment settings of the profile.
 void setGroupByCategory(boolean group)
          Set a boolean indicating whether available software should be grouped by category.
 void setRepositoriesVisible(boolean visible)
          Set a boolean indicating whether the repositories should be visible to the user, such that the user can add, remove, and otherwise manipulate the software site list.
 void setRepositoryPreferencePageId(String id)
          Set the id of the preference page that should be used to link to the software sites page.
 void setRepositoryPreferencePageName(String name)
          Set the localized name of the preference page that should be displayed in links to the software sites page.
 void setRestartPolicy(int restartPolicy)
          Set the restart policy that should be used when the provisioning UI determines that a restart is required.
 void setShowDrilldownRequirements(boolean drilldown)
          Set a boolean indicating whether the user should be allowed drill down from a visible update or installed item into the requirements.
 void setShowLatestVersionsOnly(boolean showLatest)
          Set a boolean indicating whether only the latest versions of updates and available software should be shown to the user.
 void setUpdateDetailsPreferredSize(Point preferredSize)
          Set the preferred size of the details area shown in update wizards which notify the user of a single update.
 void setUpdateWizardStyle(int updateWizardStyle)
          Get the update wizard style that should be used to determine what to show the user when updates are available.
 void setVisibleAvailableIUQuery(IQuery<IInstallableUnit> query)
          Set the query that can be used to obtain the IInstallableUnits that should be presented to the user.
 void setVisibleInstalledIUQuery(IQuery<IInstallableUnit> query)
          Set the query that can be used to obtain the IInstallableUnits in the profile that should be presented to the user.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RESTART_POLICY_FORCE

public static final int RESTART_POLICY_FORCE
A constant indicating that restart should be forced (without confirmation) immediately after completion of a provisioning operation.

See Also:
Constant Field Values

RESTART_POLICY_FORCE_APPLY

public static final int RESTART_POLICY_FORCE_APPLY
A constant indicating that the changes should be applied dynamically to the profile (without confirmation) immediately after completion of a provisioning operation.

See Also:
Constant Field Values

RESTART_POLICY_PROMPT

public static final int RESTART_POLICY_PROMPT
A constant indicating that the user should be prompted to restart after completion of a provisioning operation.

See Also:
Constant Field Values

RESTART_POLICY_PROMPT_RESTART_OR_APPLY

public static final int RESTART_POLICY_PROMPT_RESTART_OR_APPLY
A constant indicating that, where possible, the user should be given the option to restart or dynamically apply the changes after completion of a provisioning operation.

See Also:
Constant Field Values

UPDATE_STYLE_MULTIPLE_IUS

public static final int UPDATE_STYLE_MULTIPLE_IUS
A constant indicating that the user should be presented with an update wizard that shows a list of IUs that can be updated. Even when only one update is available, a list showing the single update will be used. This option is recommended when the user's view of the system is a set of component updates and the user is expected to have knowledge of the composition of the system.

Since:
2.1
See Also:
Constant Field Values

UPDATE_STYLE_SINGLE_IUS

public static final int UPDATE_STYLE_SINGLE_IUS
A constant indicating that the user should be presented with an update wizard that shows detail about a single IU that can be updated. If more than one IU can be updated, the user will be shown a list; however, this option is recommended to be used only when the user's view of the system is a single application that can be updated, and only one IU is expected to be available for update.

Since:
2.1
See Also:
Constant Field Values
Constructor Detail

Policy

public Policy()
Method Detail

continueWorkingWithOperation

public boolean continueWorkingWithOperation(ProfileChangeOperation operation,
                                            Shell shell)
Answer a boolean indicating whether the caller should continue to work with the specified operation. This method is used when an operation has been resolved, but the UI may have further restrictions on continuing with it.

Parameters:
operation - the operation in question. It must already be resolved.
shell - the shell to use for any interaction with the user
Returns:
true if processing of the operation should continue, false if not. It is up to the implementor to report any errors to the user when answering false.

getNoProfileChosenStatus

public IStatus getNoProfileChosenStatus()
Return a status that can be used to describe the failure to retrieve a profile.

Returns:
a status describing a failure to retrieve a profile, or null if there is no such status.

getVisibleAvailableIUQuery

public IQuery<IInstallableUnit> getVisibleAvailableIUQuery()
Return a query that can be used to obtain the IInstallableUnits that should be presented to the user from the software repositories.

Returns:
the query used to retrieve user visible available IUs

setVisibleAvailableIUQuery

public void setVisibleAvailableIUQuery(IQuery<IInstallableUnit> query)
Set the query that can be used to obtain the IInstallableUnits that should be presented to the user.

Parameters:
query - the query used to retrieve user visible available IUs

getVisibleInstalledIUQuery

public IQuery<IInstallableUnit> getVisibleInstalledIUQuery()
Return a query that can be used to obtain the IInstallableUnits in the profile that should be presented to the user.

Returns:
the query used to retrieve user visible installed IUs

setVisibleInstalledIUQuery

public void setVisibleInstalledIUQuery(IQuery<IInstallableUnit> query)
Set the query that can be used to obtain the IInstallableUnits in the profile that should be presented to the user.

Parameters:
query - the query used to retrieve user visible installed IUs

getRestartPolicy

public int getRestartPolicy()
Get the restart policy that should be used when the provisioning UI determines that a restart is required.

Returns:
an integer constant describing the restart policy
See Also:
RESTART_POLICY_FORCE, RESTART_POLICY_FORCE_APPLY, RESTART_POLICY_PROMPT, RESTART_POLICY_PROMPT_RESTART_OR_APPLY

setRestartPolicy

public void setRestartPolicy(int restartPolicy)
Set the restart policy that should be used when the provisioning UI determines that a restart is required.

Parameters:
restartPolicy - an integer constant describing the restart policy
See Also:
RESTART_POLICY_FORCE, RESTART_POLICY_FORCE_APPLY, RESTART_POLICY_PROMPT, RESTART_POLICY_PROMPT_RESTART_OR_APPLY

getRepositoriesVisible

public boolean getRepositoriesVisible()
Return a boolean indicating whether the repositories should be visible to the user, such that the user can add, remove, and otherwise manipulate the software site list.

Returns:
true if repositories are visible to the end user, false if they are not.

setRepositoriesVisible

public void setRepositoriesVisible(boolean visible)
Set a boolean indicating whether the repositories should be visible to the user, such that the user can add, remove, and otherwise manipulate the software site list.

Parameters:
visible - true if repositories are visible to the end user, false if they are not.

getShowLatestVersionsOnly

public boolean getShowLatestVersionsOnly()
Return a boolean indicating whether only the latest versions of updates and available software should be shown to the user.

Returns:
true if only the latest versions are shown, false if all versions should be shown.

setShowLatestVersionsOnly

public void setShowLatestVersionsOnly(boolean showLatest)
Set a boolean indicating whether only the latest versions of updates and available software should be shown to the user.

Parameters:
showLatest - true if only the latest versions are shown, false if all versions should be shown.

getShowDrilldownRequirements

public boolean getShowDrilldownRequirements()
Return a boolean indicating whether the user should be allowed drill down from a visible update or installed item into the requirements.

Returns:
true if drilldown is allowed, false if it is not.

setShowDrilldownRequirements

public void setShowDrilldownRequirements(boolean drilldown)
Set a boolean indicating whether the user should be allowed drill down from a visible update or installed item into the requirements.

Parameters:
drilldown - true if drilldown is allowed, false if it is not.

getFilterOnEnv

public boolean getFilterOnEnv()
Return a boolean value indicating whether or not the list of available software should be filtered based on the environment settings of the profile.

Returns:
true if the results should be filtered and false otherwise.
Since:
2.1

setFilterOnEnv

public void setFilterOnEnv(boolean filterOnEnv)
Set a boolean value indicating whether or not the list of available software should be filtered based on the environment settings of the profile.

Parameters:
filterOnEnv - true if the results should be filtered and false otherwise.
Since:
2.1

getGroupByCategory

public boolean getGroupByCategory()
Return a boolean indicating whether available software should be grouped by category.

Returns:
true if items should be grouped by category, false if categories should not be shown.

setGroupByCategory

public void setGroupByCategory(boolean group)
Set a boolean indicating whether available software should be grouped by category.

Parameters:
group - true if items should be grouped by category, false if categories should not be shown.

getRepositoryPreferencePageId

public String getRepositoryPreferencePageId()
Get the id of the preference page that should be used to link to the software sites page.

Returns:
the preference page id, or null if there is no preference page id showing the software sites.

setRepositoryPreferencePageId

public void setRepositoryPreferencePageId(String id)
Set the id of the preference page that should be used to link to the software sites page.

Parameters:
id - the preference page id, or null if there is no preference page id showing the software sites.

getRepositoryPreferencePageName

public String getRepositoryPreferencePageName()
Get the localized name of the preference page that should be displayed in links to the software sites page.

Returns:
the preference page name, or null if there is no preference page.

setRepositoryPreferencePageName

public void setRepositoryPreferencePageName(String name)
Set the localized name of the preference page that should be displayed in links to the software sites page. This name is ignored if no id is specified for the preference page.

Parameters:
name - the preference page name, or null if there is no preference page.
See Also:
setRepositoryPreferencePageId(String)

getUpdateWizardStyle

public int getUpdateWizardStyle()
Get the update wizard style that should be used to determine what to show the user when updates are available.

Returns:
an integer constant describing the update wizard style
Since:
2.1
See Also:
UPDATE_STYLE_SINGLE_IUS, UPDATE_STYLE_MULTIPLE_IUS

setUpdateWizardStyle

public void setUpdateWizardStyle(int updateWizardStyle)
Get the update wizard style that should be used to determine what to show the user when updates are available.

Parameters:
updateWizardStyle - an integer constant describing the update wizard style
Since:
2.1
See Also:
UPDATE_STYLE_SINGLE_IUS, UPDATE_STYLE_MULTIPLE_IUS

getUpdateDetailsPreferredSize

public Point getUpdateDetailsPreferredSize()
Get a point describing the preferred size of the details area shown in single IU update wizards. This value may be null, in which case the wizard may compute a default size.

Returns:
a Point describing the preferred size of the update wizard details area.
Since:
2.1
See Also:
UPDATE_STYLE_SINGLE_IUS

setUpdateDetailsPreferredSize

public void setUpdateDetailsPreferredSize(Point preferredSize)
Set the preferred size of the details area shown in update wizards which notify the user of a single update. Clients can use this value to ensure that their product's branded update notifier is sized to fit the expected content.

Parameters:
preferredSize - a Point describing the preferred size
Since:
2.1
See Also:
UPDATE_STYLE_SINGLE_IUS

Eclipse Platform
Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.