Class KeySequence
- java.lang.Object
-
- org.eclipse.jface.bindings.TriggerSequence
-
- org.eclipse.jface.bindings.keys.KeySequence
-
- All Implemented Interfaces:
Comparable
public final class KeySequence extends TriggerSequence implements Comparable
A
KeySequence
is defined as a list of zero or moreKeyStrokes
, with the stipulation that allKeyStroke
objects must be complete, save for the last one, whose completeness is optional. AKeySequence
is said to be complete if all of itsKeyStroke
objects are complete.All
KeySequence
objects have a formal string representation available via thetoString()
method. There are a number of methods to get instances ofKeySequence
objects, including one which can parse this formal string representation.All
KeySequence
objects, via theformat()
method, provide a version of their formal string representation translated by platform and locale, suitable for display to a user.KeySequence
objects are immutable. Clients are not permitted to extend this class.- Since:
- 3.1
-
-
Field Summary
Fields Modifier and Type Field Description static String
KEY_STROKE_DELIMITER
The delimiter between multiple key strokes in a single key sequence -- expressed in the formal key stroke grammar.static String
KEY_STROKE_DELIMITERS
The set of delimiters forKeyStroke
objects allowed during parsing of the formal string representation.-
Fields inherited from class org.eclipse.jface.bindings.TriggerSequence
hashCode, triggers
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
KeySequence(KeyStroke[] keyStrokes)
Constructs an instance ofKeySequence
given a list of key strokes.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(Object object)
String
format()
Formats this key sequence into the current default look.static KeySequence
getInstance()
Gets an instance ofKeySequence
.static KeySequence
getInstance(String string)
Creates an instance ofKeySequence
by parsing a given formal string representation.static KeySequence
getInstance(List<KeyStroke> keyStrokes)
Creates an instance ofKeySequence
given a list of key strokes.static KeySequence
getInstance(KeySequence keySequence, KeyStroke keyStroke)
Creates an instance ofKeySequence
given a key sequence and a key stroke.static KeySequence
getInstance(KeyStroke keyStroke)
Creates an instance ofKeySequence
given a single key stroke.static KeySequence
getInstance(KeyStroke[] keyStrokes)
Creates an instance ofKeySequence
given an array of key strokes.KeyStroke[]
getKeyStrokes()
Returns the list of key strokes for this key sequence.TriggerSequence[]
getPrefixes()
Returns a list of prefixes for the current sequence.boolean
isComplete()
Returns whether or not this key sequence is complete.String
toString()
Returns the formal string representation for this key sequence.-
Methods inherited from class org.eclipse.jface.bindings.TriggerSequence
endsWith, equals, getTriggers, hashCode, isEmpty, startsWith
-
-
-
-
Field Detail
-
KEY_STROKE_DELIMITER
public static final String KEY_STROKE_DELIMITER
The delimiter between multiple key strokes in a single key sequence -- expressed in the formal key stroke grammar. This is not to be displayed to the user. It is only intended as an internal representation.- See Also:
- Constant Field Values
-
KEY_STROKE_DELIMITERS
public static final String KEY_STROKE_DELIMITERS
The set of delimiters forKeyStroke
objects allowed during parsing of the formal string representation.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
KeySequence
protected KeySequence(KeyStroke[] keyStrokes)
Constructs an instance ofKeySequence
given a list of key strokes.- Parameters:
keyStrokes
- the list of key strokes. This list may be empty, but it must not benull
. If this list is not empty, it must only contain instances ofKeyStroke
.
-
-
Method Detail
-
getInstance
public static final KeySequence getInstance()
Gets an instance ofKeySequence
.- Returns:
- a key sequence. This key sequence will have no key strokes.
Guaranteed not to be
null
.
-
getInstance
public static final KeySequence getInstance(KeySequence keySequence, KeyStroke keyStroke)
Creates an instance ofKeySequence
given a key sequence and a key stroke.- Parameters:
keySequence
- a key sequence. Must not benull
.keyStroke
- a key stroke. Must not benull
.- Returns:
- a key sequence that is equal to the given key sequence with the
given key stroke appended to the end. Guaranteed not to be
null
.
-
getInstance
public static final KeySequence getInstance(KeyStroke keyStroke)
Creates an instance ofKeySequence
given a single key stroke.- Parameters:
keyStroke
- a single key stroke. Must not benull
.- Returns:
- a key sequence. Guaranteed not to be
null
.
-
getInstance
public static final KeySequence getInstance(KeyStroke[] keyStrokes)
Creates an instance ofKeySequence
given an array of key strokes.- Parameters:
keyStrokes
- the array of key strokes. This array may be empty, but it must not benull
. This array must not containnull
elements.- Returns:
- a key sequence. Guaranteed not to be
null
.
-
getInstance
public static final KeySequence getInstance(List<KeyStroke> keyStrokes)
Creates an instance ofKeySequence
given a list of key strokes.- Parameters:
keyStrokes
- the list of key strokes. This list may be empty, but it must not benull
. If this list is not empty, it must only contain instances ofKeyStroke
.- Returns:
- a key sequence. Guaranteed not to be
null
.
-
getInstance
public static final KeySequence getInstance(String string) throws ParseException
Creates an instance ofKeySequence
by parsing a given formal string representation.- Parameters:
string
- the formal string representation to parse.- Returns:
- a key sequence. Guaranteed not to be
null
. - Throws:
ParseException
- if the given formal string representation could not be parsed to a valid key sequence.
-
compareTo
public final int compareTo(Object object)
- Specified by:
compareTo
in interfaceComparable
-
format
public final String format()
Formats this key sequence into the current default look.- Specified by:
format
in classTriggerSequence
- Returns:
- A string representation for this key sequence using the default
look; never
null
.
-
getKeyStrokes
public final KeyStroke[] getKeyStrokes()
Returns the list of key strokes for this key sequence.- Returns:
- the list of key strokes keys. This list may be empty, but is
guaranteed not to be
null
. If this list is not empty, it is guaranteed to only contain instances ofKeyStroke
.
-
getPrefixes
public final TriggerSequence[] getPrefixes()
Description copied from class:TriggerSequence
Returns a list of prefixes for the current sequence. A prefix is any leading subsequence in a
TriggerSequence
. A prefix is also an instance ofTriggerSequence
.For example, consider a trigger sequence that consists of four triggers: A, B, C and D. The prefixes would be "", "A", "A B", and "A B C". The list of prefixes must always be the same as the size of the trigger list.
- Specified by:
getPrefixes
in classTriggerSequence
- Returns:
- The array of possible prefixes for this sequence. This array must
not be
null
, but may be empty. It must only contains instances ofTriggerSequence
.
-
isComplete
public final boolean isComplete()
Returns whether or not this key sequence is complete. Key sequences are complete iff all of their key strokes are complete.- Returns:
true
, iff the key sequence is complete.
-
-