Package org.astrogrid.samp.hub

# Interface HubProfileFactory

All Known Implementing Classes:
  `StandardHubProfileFactory`, `WebHubProfileFactory`

public interface HubProfileFactory
Factory to produce hub profiles of a particular type. Used with the command-line invocation of the hub.

Since:
  31 Jan 2011
Author:
  Mark Taylor

## Method Summary

Modifier and Type
Method
Description
`HubProfile`
`createHubProfile(List flagList)`
Creates a HubProfile perhaps configured using a supplied list of flags.
`String[]`
`getFlagsUsage()`
Returns an array of strings, each describing one command-line flag which will be consumed by the `createProfile` method.
`Class`
`getHubProfileClass()`
Returns a HubProfile subclass with a no-arg constructor which, when invoked, will produce a basic instance of the HubProfile represented by this factory.
`String`
`getName()`
Returns the name used to identify this profile.

## Method Details

### getName

String getName()
Returns the name used to identify this profile.

Returns:
  short name

### getFlagsUsage

String[] getFlagsUsage()
Returns an array of strings, each describing one command-line flag which will be consumed by the `createProfile` method.

Returns:
  array of plain-text strings suitable for use as part of a usage message

### createHubProfile

HubProfile createHubProfile(List flagList) throws IOException
Creates a HubProfile perhaps configured using a supplied list of flags. Any flags which match those described by the `getFlagsUsage()` command are used for configuration of the returned hub, and must be removed from the `flagList` list. Unrecognised flags should be ignored and left in the list. Flags which are recognised but badly formed should raise a RuntimeException with a helpful message.

Parameters:
  `flagList` - mutable list of Strings giving command-ilne flags, some of which may be intended for configuring a profile
Returns:
  new profile
Throws:
  `IOException`

### getHubProfileClass

Class getHubProfileClass()
Returns a HubProfile subclass with a no-arg constructor which, when invoked, will produce a basic instance of the HubProfile represented by this factory. The instance thus produced will typically be similar to that produced by invoking `createHubProfile(java.util.List)` with an empty flag list.

Returns:
  HubProfile subclass with a public no-arg constructor