public class Macros
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
Macros.MacroChangeListener
Interface for listeners who want to know if a macro is changed.
|
static class |
Macros.MacroInfo
The class containing all the data associated with a macro name.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
MACRO_PREFS_NAME
The expected name String for a sub-node of the YAAC Preferences node to contain saved
macro values.
|
Modifier and Type | Method and Description |
---|---|
void |
addMacroChangeListener(Macros.MacroChangeListener listener)
Register a listener to be informed when macros are changed.
|
java.lang.String |
applyMacros(java.lang.String format)
Insert macro values into a String.
|
static Macros |
getInstance()
Get the Macros singleton.
|
java.lang.String |
getMacroLocalizedDescription(java.lang.String macroName)
Get the localized description of the purpose of this macro.
|
java.util.Set<java.lang.String> |
getMacroNameSet()
Get a Set of all the currently known macros.
|
java.lang.String |
getMacroValue(java.lang.String macroName)
Get the current value of a macro.
|
void |
loadPersistedMacros(java.util.prefs.Preferences prefs)
Load macros from the specified Preferences object.
|
void |
removeMacroChangeListener(Macros.MacroChangeListener listener)
Unregister a listener to no longer be informed when macros are changed.
|
void |
setLocalizedMacroDescription(java.lang.String macroName,
java.lang.String localizedDescription)
Set the localized description of the purpose of this macro.
|
java.lang.String |
setMacro(java.lang.String macroName,
java.lang.String value)
Set the value for a named macro.
|
java.lang.String |
setPersistedMacro(java.lang.String macroName,
java.lang.String value,
java.util.prefs.Preferences prefs)
Set the value for a named macro, and save it for use after YAAC restarts.
|
public static final java.lang.String MACRO_PREFS_NAME
setPersistedMacro(String, String, Preferences)
,
loadPersistedMacros(Preferences)
,
Constant Field Valuespublic static Macros getInstance()
public java.lang.String setMacro(java.lang.String macroName, java.lang.String value)
macroName
- String name of a macro (should not contain whitespace)value
- String value of the macro (should be short, so as to not cause APRS
packets to exceed maximum packet length)public java.lang.String setPersistedMacro(java.lang.String macroName, java.lang.String value, java.util.prefs.Preferences prefs)
The prefs
parameter should typically be
YAAC.getPreferences().node(Macros.MACROS_PREFS_NAME)
macroName
- String name of a macro (should not contain whitespace)value
- String value of the macro (should be short, so as to not cause APRS
packets to exceed maximum packet length)prefs
- Java Preferences object to store the macro in, or null to not persist the
macro valueYAAC.getPreferences()
,
MACRO_PREFS_NAME
public void loadPersistedMacros(java.util.prefs.Preferences prefs) throws java.util.prefs.BackingStoreException
The prefs
parameter should typically be
YAAC.getPreferences().node(Macros.MACROS_PREFS_NAME)
prefs
- Preferences object storing the saved macrosjava.util.prefs.BackingStoreException
- if problem reading the saved macro valuesYAAC.getPreferences()
,
MACRO_PREFS_NAME
public void setLocalizedMacroDescription(java.lang.String macroName, java.lang.String localizedDescription)
macroName
- String name of a macro (should not contain whitespace)localizedDescription
- String of description of the macro's purposepublic java.lang.String getMacroValue(java.lang.String macroName)
macroName
- String name of a macro (should not contain whitespace)public java.lang.String getMacroLocalizedDescription(java.lang.String macroName)
macroName
- String name of a macro (should not contain whitespace)public java.util.Set<java.lang.String> getMacroNameSet()
public void addMacroChangeListener(Macros.MacroChangeListener listener)
listener
- MacroChangeListener implementation to registerpublic void removeMacroChangeListener(Macros.MacroChangeListener listener)
listener
- MacroChangeListener implementation to unregisterpublic java.lang.String applyMacros(java.lang.String format)
{M:macroname}
. Such patterns are replaced with the current value of the named
macro, or removed entirely if the specified macro is undefined or set to an empty String
value.format
- String possibly containing macro references