Package org.eclipse.rap.rwt.application

# Class AbstractEntryPoint

java.lang.Object
org.eclipse.rap.rwt.application.AbstractEntryPoint

All Implemented Interfaces:
  `Serializable`, `EntryPoint`, `ClientService`, `StartupParameters`

public abstract class AbstractEntryPoint extends Object implements EntryPoint, StartupParameters
This class provides a skeletal implementation of the `EntryPoint` interface, to minimize the effort required to implement this interface.

By default, this implementation creates a maximized main shell without any trimmings. Subclasses must implement `createContents` to create the contents of the main shell. In case a different type of main shell is required, subclasses may also override `createShell`.

This class is compatible with all operation modes of RWT. It is recommended to extend this base class rather than to implement the EntryPoint interface itself.

Since:
  2.0
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`AbstractEntryPoint()`

## Method Summary

Modifier and Type
Method
Description
`protected abstract void`
`createContents(Composite parent)`
Creates the controls that constitute the UI for this entrypoint.
`protected Shell`
`createShell(Display display)`
Creates the main shell for this entrypoint.
`int`
`createUI()`
This method is called by the framework to initialize the UI.
`String`
`getParameter(String name)`
Returns the value of a named entrypoint startup parameter.
`Collection<String>`
`getParameterNames()`
Returns the names of the entrypoint startup parameters.
`List<String>`
`getParameterValues(String name)`
Returns a list with values of a named entrypoint startup parameter.
`protected Shell`
`getShell()`
Returns the main shell for this entrypoint.

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

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

## Constructor Details

### AbstractEntryPoint

public AbstractEntryPoint()

## Method Details

### createUI

public int createUI()
This method is called by the framework to initialize the UI. Subclasses should implement `createContents(Composite)` instead of overriding this method.

Specified by:
  `createUI` in interface `EntryPoint`
Returns:
  exit status, reserved for future use

### getParameterNames

public Collection<String> getParameterNames()
Returns the names of the entrypoint startup parameters.

Specified by:
  `getParameterNames` in interface `StartupParameters`
Returns:
  a (possibly empty) collection of parameter names
Since:
  3.0

### getParameter

public String getParameter(String name)
Returns the value of a named entrypoint startup parameter. You should only use this method when you are sure the parameter has only one value. If the parameter might have more than one value, use `getParameterValues(java.lang.String)`. If you use this method with a multivalued parameter, the value returned is equal to the first value in the list returned by `getParameterValues`.

Specified by:
  `getParameter` in interface `StartupParameters`
Parameters:
  `name` - the name of the parameter
Returns:
  the value of the parameter, or `null` if the parameter does not exist
Since:
  3.0

### getParameterValues

public List<String> getParameterValues(String name)
Returns a list with values of a named entrypoint startup parameter. If the parameter has a single value, the list has a size of 1.

Specified by:
  `getParameterValues` in interface `StartupParameters`
Parameters:
  `name` - the name of the parameter
Returns:
  the values of the parameter, or `null` if the parameter does not exist
Since:
  3.0

### getShell

protected Shell getShell()
Returns the main shell for this entrypoint.

Returns:
  the main shell, or `null` if the shell is not created yet

### createContents

protected abstract void createContents(Composite parent)
Creates the controls that constitute the UI for this entrypoint. Subclasses must implement this method and set the parent's layout as needed.

An implementation must not create an SWT event loop. This is done by the base class as needed.

Parameters:
  `parent` - the parent composite to contain the content

### createShell

protected Shell createShell(Display display)
Creates the main shell for this entrypoint. The default implementation creates a maximized shell without any trimmings. Subclasses may override this method in order to create a different kind of shell.

Parameters:
  `display` - the display to create the shell on
Returns:
  the created shell