Package com.ibm.icu.impl
Class ICUResource.Key
- java.lang.Object
-
- com.ibm.icu.impl.ICUResource.Key
-
- All Implemented Interfaces:
CharSequence,Cloneable,Comparable<ICUResource.Key>
- Enclosing class:
- ICUResource
public static final class ICUResource.Key extends Object implements CharSequence, Cloneable, Comparable<ICUResource.Key>
Represents a resource bundle item's key string. Avoids object creations as much as possible. Mutable, not thread-safe. For permanent storage, use clone() or toString().
-
-
Constructor Summary
Constructors Constructor Description Key()Constructs an empty resource key string object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description charcharAt(int i)Returns the character atindex.ICUResource.Keyclone()Creates and returns a copy of thisObject.intcompareTo(ICUResource.Key other)Compares this object to the specified object to determine their relative order.intcompareTo(CharSequence cs)booleancontentEquals(CharSequence cs)booleanendsWith(CharSequence cs)booleanequals(Object other)Compares this instance with the specified object and indicates if they are equal.inthashCode()Returns an integer hash code for this object.intlength()Returns the number of characters in this sequence.voidsetBytes(byte[] keyBytes, int keyOffset)Mutates this key for a new NUL-terminated resource key string.voidsetToEmpty()Mutates this key to an empty resource key string.booleanstartsWith(CharSequence cs)ICUResource.KeysubSequence(int start, int end)Returns aCharSequencefrom thestartindex (inclusive) to theendindex (exclusive) of this sequence.Stringsubstring(int start)Creates a new Java String for a sub-sequence of this resource key string.Stringsubstring(int start, int end)Creates a new Java String for a sub-sequence of this resource key string.StringtoString()Creates/caches/returns this resource key string as a Java String.
-
-
-
Method Detail
-
setBytes
public void setBytes(byte[] keyBytes, int keyOffset)Mutates this key for a new NUL-terminated resource key string. The corresponding ASCII-character bytes are not copied and must not be changed during the lifetime of this key (or until the next setBytes() call) and lifetimes of subSequences created from this key.- Parameters:
keyBytes- new key string byte arraykeyOffset- new key string offset
-
setToEmpty
public void setToEmpty()
Mutates this key to an empty resource key string.
-
clone
public ICUResource.Key clone()
Creates and returns a copy of thisObject. The default implementation returns a so-called "shallow" copy: It creates a new instance of the same class and then copies the field values (including object references) from this instance to the new instance. A "deep" copy, in contrast, would also recursively clone nested objects. A subclass that needs to implement this kind of cloning should callsuper.clone()to create the new instance and then create deep copies of the nested, mutable objects. Does not clone the byte array.
-
charAt
public char charAt(int i)
Description copied from interface:CharSequenceReturns the character atindex.- Specified by:
charAtin interfaceCharSequence
-
length
public int length()
Description copied from interface:CharSequenceReturns the number of characters in this sequence.- Specified by:
lengthin interfaceCharSequence- Returns:
- the number of characters.
-
subSequence
public ICUResource.Key subSequence(int start, int end)
Description copied from interface:CharSequenceReturns aCharSequencefrom thestartindex (inclusive) to theendindex (exclusive) of this sequence.- Specified by:
subSequencein interfaceCharSequence- Parameters:
start- the start offset of the sub-sequence. It is inclusive, that is, the index of the first character that is included in the sub-sequence.end- the end offset of the sub-sequence. It is exclusive, that is, the index of the first character after those that are included in the sub-sequence- Returns:
- the requested sub-sequence.
-
toString
public String toString()
Creates/caches/returns this resource key string as a Java String.- Specified by:
toStringin interfaceCharSequence- Overrides:
toStringin classObject- Returns:
- a printable representation of this object.
-
substring
public String substring(int start)
Creates a new Java String for a sub-sequence of this resource key string.
-
substring
public String substring(int start, int end)
Creates a new Java String for a sub-sequence of this resource key string.
-
equals
public boolean equals(Object other)
Description copied from class:ObjectCompares this instance with the specified object and indicates if they are equal. In order to be equal,omust represent the same object as this instance using a class-specific comparison. The general contract is that this comparison should be reflexive, symmetric, and transitive. Also, no object reference other than null is equal to null.The default implementation returns
trueonly ifthis == o. See Writing a correctequalsmethod if you intend implementing your ownequalsmethod.The general contract for the
equalsandObject.hashCode()methods is that ifequalsreturnstruefor any two objects, thenhashCode()must return the same value for these objects. This means that subclasses ofObjectusually override either both methods or neither of them.- Overrides:
equalsin classObject- Parameters:
other- the object to compare this instance with.- Returns:
trueif the specified object is equal to thisObject;falseotherwise.- See Also:
Object.hashCode()
-
contentEquals
public boolean contentEquals(CharSequence cs)
-
startsWith
public boolean startsWith(CharSequence cs)
-
endsWith
public boolean endsWith(CharSequence cs)
-
hashCode
public int hashCode()
Description copied from class:ObjectReturns an integer hash code for this object. By contract, any two objects for whichObject.equals(java.lang.Object)returnstruemust return the same hash code value. This means that subclasses ofObjectusually override both methods or neither method.Note that hash values must not change over time unless information used in equals comparisons also changes.
See Writing a correct
hashCodemethod if you intend implementing your ownhashCodemethod.- Overrides:
hashCodein classObject- Returns:
- this object's hash code.
- See Also:
Object.equals(java.lang.Object)
-
compareTo
public int compareTo(ICUResource.Key other)
Description copied from interface:ComparableCompares this object to the specified object to determine their relative order.- Specified by:
compareToin interfaceComparable<ICUResource.Key>- Parameters:
other- the object to compare to this instance.- Returns:
- a negative integer if this instance is less than
another; a positive integer if this instance is greater thananother; 0 if this instance has the same order asanother.
-
compareTo
public int compareTo(CharSequence cs)
-
-