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 TypeMethodDescriptioncreateHubProfile
(List flagList) Creates a HubProfile perhaps configured using a supplied list of flags.String[]
Returns an array of strings, each describing one command-line flag which will be consumed by thecreateProfile
method.Returns a HubProfile subclass with a no-arg constructor which, when invoked, will produce a basic instance of the HubProfile represented by this factory.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 thecreateProfile
method.- Returns:
- array of plain-text strings suitable for use as part of a usage message
-
createHubProfile
Creates a HubProfile perhaps configured using a supplied list of flags. Any flags which match those described by thegetFlagsUsage()
command are used for configuration of the returned hub, and must be removed from theflagList
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 invokingcreateHubProfile(java.util.List)
with an empty flag list.- Returns:
- HubProfile subclass with a public no-arg constructor
-