## org.eclipse.datatools.sqltools.schemaobjecteditor.ui.internal.ui
Class ResourceAndContainerGroup

    java.lang.Object
      org.eclipse.datatools.sqltools.schemaobjecteditor.ui.internal.ui.ResourceAndContainerGroup

All Implemented Interfaces:
  org.eclipse.swt.widgets.Listener

    public class ResourceAndContainerGroup

extends java.lang.Object
implements org.eclipse.swt.widgets.Listener

Workbench-level composite for resource and container specification by the user. Services such as field validation are performed by the group. The group can be configured to accept existing resources, or only new resources.

This class is copied from `org.eclipse.ui.internal.ide.misc.ResourceAndContainerGroup` since it is an internal class, the `createExtraContents` method is added to allow subclasses to create extra contents.

Author:
  Dafan Yang

Field Summary
`static int` `PROBLEM_CONTAINER_EMPTY`
`static int` `PROBLEM_NAME_INVALID`
`static int` `PROBLEM_NONE`
`static int` `PROBLEM_PATH_INVALID`
`static int` `PROBLEM_PATH_OCCUPIED`
`static int` `PROBLEM_PROJECT_DOES_NOT_EXIST`
`static int` `PROBLEM_RESOURCE_CONTAINS_SEPARATOR`
`static int` `PROBLEM_RESOURCE_EMPTY`
`static int` `PROBLEM_RESOURCE_EXIST`

Constructor Summary
`ResourceAndContainerGroup(org.eclipse.swt.widgets.Composite parent, org.eclipse.swt.widgets.Listener client, java.lang.String resourceFieldLabel, java.lang.String resourceType, boolean showClosedProjects, int heightHint, org.eclipse.swt.widgets.Listener listener)` Create an instance of the group to allow the user to enter/select a container and specify a resource name.
`ResourceAndContainerGroup(org.eclipse.swt.widgets.Composite parent, org.eclipse.swt.widgets.Listener client, java.lang.String resourceFieldLabel, java.lang.String resourceType, boolean showClosedProjects, org.eclipse.swt.widgets.Listener listener)` Create an instance of the group to allow the user to enter/select a container and specify a resource name.
`ResourceAndContainerGroup(org.eclipse.swt.widgets.Composite parent, org.eclipse.swt.widgets.Listener client, java.lang.String resourceFieldLabel, java.lang.String resourceType, org.eclipse.swt.widgets.Listener listener)` Create an instance of the group to allow the user to enter/select a container and specify a resource name.

Method Summary
`boolean` `areAllValuesValid()` Returns a boolean indicating whether all controls in this group contain valid values.
`org.eclipse.core.runtime.IPath` `getContainerFullPath()` Returns the path of the currently selected container or null if no container has been selected.
`java.lang.String` `getProblemMessage()` Returns an error message indicating the current problem with the value of a control in the group, or an empty message if all controls in the group contain valid values.
`int` `getProblemType()` Returns the type of problem with the value of a control in the group.
`java.lang.String` `getResource()` Returns a string that is the path of the currently selected container.
`void` `handleEvent(org.eclipse.swt.widgets.Event e)` Handles events for all controls in the group.
`void` `setAllowExistingResources(boolean value)` Sets the flag indicating whether existing resources are permitted.
`void` `setContainerFullPath(org.eclipse.core.runtime.IPath path)` Sets the value of this page's container.
`void` `setFocus()` Gives focus to the resource name field and selects its contents
`void` `setResource(java.lang.String value)` Sets the value of this page's resource name.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### PROBLEM_NONE

    public static final int PROBLEM_NONE

See Also:
  Constant Field Values

### PROBLEM_RESOURCE_EMPTY

    public static final int PROBLEM_RESOURCE_EMPTY

See Also:
  Constant Field Values

### PROBLEM_RESOURCE_EXIST

    public static final int PROBLEM_RESOURCE_EXIST

See Also:
  Constant Field Values

### PROBLEM_RESOURCE_CONTAINS_SEPARATOR

    public static final int PROBLEM_RESOURCE_CONTAINS_SEPARATOR

See Also:
  Constant Field Values

### PROBLEM_PATH_INVALID

    public static final int PROBLEM_PATH_INVALID

See Also:
  Constant Field Values

### PROBLEM_CONTAINER_EMPTY

    public static final int PROBLEM_CONTAINER_EMPTY

See Also:
  Constant Field Values

### PROBLEM_PROJECT_DOES_NOT_EXIST

    public static final int PROBLEM_PROJECT_DOES_NOT_EXIST

See Also:
  Constant Field Values

### PROBLEM_NAME_INVALID

    public static final int PROBLEM_NAME_INVALID

See Also:
  Constant Field Values

### PROBLEM_PATH_OCCUPIED

    public static final int PROBLEM_PATH_OCCUPIED

See Also:
  Constant Field Values

Constructor Detail

### ResourceAndContainerGroup

    public ResourceAndContainerGroup(org.eclipse.swt.widgets.Composite parent,
                                     org.eclipse.swt.widgets.Listener client,
                                     java.lang.String resourceFieldLabel,
                                     java.lang.String resourceType,
                                     org.eclipse.swt.widgets.Listener listener)

  Create an instance of the group to allow the user to enter/select a container and specify a resource name.

  Parameters:
    `parent` - composite widget to parent the group
    `client` - object interested in changes to the group's fields value
    `resourceFieldLabel` - label to use in front of the resource name field
    `resourceType` - one word, in lowercase, to describe the resource to the user (file, folder, project)

### ResourceAndContainerGroup

    public ResourceAndContainerGroup(org.eclipse.swt.widgets.Composite parent,
                                     org.eclipse.swt.widgets.Listener client,
                                     java.lang.String resourceFieldLabel,
                                     java.lang.String resourceType,
                                     boolean showClosedProjects,
                                     org.eclipse.swt.widgets.Listener listener)

  Create an instance of the group to allow the user to enter/select a container and specify a resource name.

  Parameters:
    `parent` - composite widget to parent the group
    `client` - object interested in changes to the group's fields value
    `resourceFieldLabel` - label to use in front of the resource name field
    `resourceType` - one word, in lowercase, to describe the resource to the user (file, folder, project)
    `showClosedProjects` - whether or not to show closed projects

### ResourceAndContainerGroup

    public ResourceAndContainerGroup(org.eclipse.swt.widgets.Composite parent,
                                     org.eclipse.swt.widgets.Listener client,
                                     java.lang.String resourceFieldLabel,
                                     java.lang.String resourceType,
                                     boolean showClosedProjects,
                                     int heightHint,
                                     org.eclipse.swt.widgets.Listener listener)

  Create an instance of the group to allow the user to enter/select a container and specify a resource name.

  Parameters:
    `parent` - composite widget to parent the group
    `client` - object interested in changes to the group's fields value
    `resourceFieldLabel` - label to use in front of the resource name field
    `resourceType` - one word, in lowercase, to describe the resource to the user (file, folder, project)
    `showClosedProjects` - whether or not to show closed projects
    `heightHint` - height hint for the container selection widget group

Method Detail

### areAllValuesValid

    public boolean areAllValuesValid()

  Returns a boolean indicating whether all controls in this group contain valid values.

  Returns:
    boolean

### getContainerFullPath

    public org.eclipse.core.runtime.IPath getContainerFullPath()

  Returns the path of the currently selected container or null if no container has been selected. Note that the container may not exist yet if the user entered a new container name in the field.

### getProblemMessage

    public java.lang.String getProblemMessage()

  Returns an error message indicating the current problem with the value of a control in the group, or an empty message if all controls in the group contain valid values.

  Returns:
    java.lang.String

### getProblemType

    public int getProblemType()

  Returns the type of problem with the value of a control in the group.

  Returns:
    one of the PROBLEM_* constants

### getResource

    public java.lang.String getResource()

  Returns a string that is the path of the currently selected container. Returns an empty string if no container has been selected.

### handleEvent

    public void handleEvent(org.eclipse.swt.widgets.Event e)

  Handles events for all controls in the group.

  Specified by:
    `handleEvent` in interface `org.eclipse.swt.widgets.Listener`
  Parameters:
    `e` - org.eclipse.swt.widgets.Event

### setAllowExistingResources

    public void setAllowExistingResources(boolean value)

  Sets the flag indicating whether existing resources are permitted.

### setContainerFullPath

    public void setContainerFullPath(org.eclipse.core.runtime.IPath path)

  Sets the value of this page's container.

  Parameters:
    `path` - Full path to the container.

### setFocus

    public void setFocus()

  Gives focus to the resource name field and selects its contents

### setResource

    public void setResource(java.lang.String value)

  Sets the value of this page's resource name.

  Parameters:
    `value` - new value