- java.lang.Object
-
- com.github.rvesse.airline.builder.AbstractBuilder<T>
-
- com.github.rvesse.airline.builder.AbstractChildBuilder<CommandGroupMetadata,Cli<C>,CliBuilder<C>>
-
- com.github.rvesse.airline.builder.GroupBuilder<C>
-
public class GroupBuilder<C> extends AbstractChildBuilder<CommandGroupMetadata,Cli<C>,CliBuilder<C>>
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<java.lang.Class<? extends C>>commandsprivate java.lang.Class<? extends C>defaultCommandprivate java.lang.Stringdescriptionprivate booleanhiddenprivate java.lang.Stringnameprivate GroupBuilder<C>parentGroupBuilderprotected java.util.Map<java.lang.String,GroupBuilder<C>>subGroups
-
Constructor Summary
Constructors Constructor Description GroupBuilder(CliBuilder<C> cliBuilder, GroupBuilder<C> parentGroupBuilder, java.lang.String name)GroupBuilder(CliBuilder<C> cliBuilder, java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CommandGroupMetadatabuild()Builds the typeGroupBuilder<C>getSubGroup(java.lang.String name)GroupBuilder<C>makeHidden()GroupBuilder<C>makeVisible()GroupBuilder<C>parentGroup()Gets the parent group builder which may benullif this is a top level group.GroupBuilder<C>withCommand(java.lang.Class<? extends C> command)GroupBuilder<C>withCommands(java.lang.Class<? extends C> command, java.lang.Class<? extends C>... moreCommands)GroupBuilder<C>withCommands(java.lang.Iterable<java.lang.Class<? extends C>> commands)GroupBuilder<C>withDefaultCommand(java.lang.Class<? extends C> defaultCommand)GroupBuilder<C>withDescription(java.lang.String description)Sets the description for the groupGroupBuilder<C>withHiddenState(boolean hidden)GroupBuilder<C>withSubGroup(java.lang.String name)-
Methods inherited from class com.github.rvesse.airline.builder.AbstractChildBuilder
parent
-
Methods inherited from class com.github.rvesse.airline.builder.AbstractBuilder
checkNotBlank, checkNotEmpty, checkNotNull
-
-
-
-
Field Detail
-
name
private final java.lang.String name
-
description
private java.lang.String description
-
defaultCommand
private java.lang.Class<? extends C> defaultCommand
-
hidden
private boolean hidden
-
subGroups
protected final java.util.Map<java.lang.String,GroupBuilder<C>> subGroups
-
parentGroupBuilder
private final GroupBuilder<C> parentGroupBuilder
-
commands
private final java.util.List<java.lang.Class<? extends C>> commands
-
-
Constructor Detail
-
GroupBuilder
GroupBuilder(CliBuilder<C> cliBuilder, java.lang.String name)
-
GroupBuilder
GroupBuilder(CliBuilder<C> cliBuilder, GroupBuilder<C> parentGroupBuilder, java.lang.String name)
-
-
Method Detail
-
withDescription
public GroupBuilder<C> withDescription(java.lang.String description)
Sets the description for the group- Parameters:
description- Description- Returns:
- Group builder
-
makeHidden
public GroupBuilder<C> makeHidden()
-
makeVisible
public GroupBuilder<C> makeVisible()
-
withHiddenState
public GroupBuilder<C> withHiddenState(boolean hidden)
-
withSubGroup
public GroupBuilder<C> withSubGroup(java.lang.String name)
-
getSubGroup
public GroupBuilder<C> getSubGroup(java.lang.String name)
-
withDefaultCommand
public GroupBuilder<C> withDefaultCommand(java.lang.Class<? extends C> defaultCommand)
-
withCommand
public GroupBuilder<C> withCommand(java.lang.Class<? extends C> command)
-
withCommands
public GroupBuilder<C> withCommands(java.lang.Class<? extends C> command, java.lang.Class<? extends C>... moreCommands)
-
withCommands
public GroupBuilder<C> withCommands(java.lang.Iterable<java.lang.Class<? extends C>> commands)
-
parentGroup
public GroupBuilder<C> parentGroup()
Gets the parent group builder which may benullif this is a top level group. You may alternatively want to callAbstractChildBuilder.parent()to get the actual CLI builder- Returns:
- Parent group builder (if any) or
null
-
build
public CommandGroupMetadata build()
Description copied from class:AbstractBuilderBuilds the type- Specified by:
buildin classAbstractBuilder<CommandGroupMetadata>- Returns:
- Type instance
-
-