Class DefaultAliasManager
- All Implemented Interfaces:
AliasManager
AliasManager with optional file persistence.
Aliases are stored in a LinkedHashMap to preserve insertion order.
When a persistFile is provided, aliases can be loaded from and saved to
a simple name=expansion format (one alias per line).
The expand(String) method supports parameter substitution in alias
expansions using $1, $2, etc. for positional parameters,
and $@ for all remaining arguments. A recursion guard prevents
infinite alias expansion loops.
- Since:
- 4.0
-
Constructor Summary
ConstructorsConstructorDescriptionCreates an in-memory alias manager with no persistence.DefaultAliasManager(Path persistFile) Creates an alias manager with optional file persistence. -
Method Summary
Modifier and TypeMethodDescriptionaliases()Returns all defined aliases.Expands aliases in a command line string.Returns the expansion for an alias.voidload()Loads aliases from persistent storage.booleanremoveAlias(String name) Removes an alias.voidsave()Saves aliases to persistent storage.voidDefines or redefines an alias.
-
Constructor Details
-
DefaultAliasManager
public DefaultAliasManager()Creates an in-memory alias manager with no persistence. -
DefaultAliasManager
Creates an alias manager with optional file persistence.The persistence file uses a simple
name=expansionformat, one alias per line. Lines starting with#are treated as comments.- Parameters:
persistFile- the file to persist aliases to, or null for in-memory only
-
-
Method Details
-
setAlias
Description copied from interface:AliasManagerDefines or redefines an alias.- Specified by:
setAliasin interfaceAliasManager- Parameters:
name- the alias nameexpansion- the expansion text
-
removeAlias
Description copied from interface:AliasManagerRemoves an alias.- Specified by:
removeAliasin interfaceAliasManager- Parameters:
name- the alias name- Returns:
- true if the alias existed and was removed
-
getAlias
Description copied from interface:AliasManagerReturns the expansion for an alias.- Specified by:
getAliasin interfaceAliasManager- Parameters:
name- the alias name- Returns:
- the expansion, or null if no alias with that name exists
-
aliases
Description copied from interface:AliasManagerReturns all defined aliases.- Specified by:
aliasesin interfaceAliasManager- Returns:
- an unmodifiable map of alias name to expansion
-
expand
Description copied from interface:AliasManagerExpands aliases in a command line string.The first word of the line is checked against defined aliases. If it matches, the alias expansion is substituted. Supports parameter markers (
$1,$2,$@) in expansions. Includes a recursion guard to prevent infinite expansion.- Specified by:
expandin interfaceAliasManager- Parameters:
line- the command line to expand- Returns:
- the expanded command line
-
load
Description copied from interface:AliasManagerLoads aliases from persistent storage.The default implementation does nothing.
- Specified by:
loadin interfaceAliasManager- Throws:
IOException- if loading fails
-
save
Description copied from interface:AliasManagerSaves aliases to persistent storage.The default implementation does nothing.
- Specified by:
savein interfaceAliasManager- Throws:
IOException- if saving fails
-