|
|
|
|
org.eclipse.jdt.core
Class BindingKey
java.lang.Object
org.eclipse.jdt.core.BindingKey
-
public final class BindingKey
- extends
Object
Utility class to decode or create a binding key.
This class is not intended to be subclassed by clients.
-
Since:
- 3.1
-
See Also:
-
IBinding.getKey()
Method Summary
|
static
String
|
createArrayTypeBindingKey
(
String typeKey,
int arrayDimension)
Creates a new array type binding key from the given type binding key and the given array dimension. |
static
String
|
createParameterizedTypeBindingKey
(
String genericTypeKey,
String[] argumentTypeKeys)
Creates a new parameterized type binding key from the given generic type binding key and the given argument type binding keys. |
static
String
|
createTypeBindingKey
(
String typeName)
Creates a new type binding key from the given type name. |
static
String
|
createTypeVariableBindingKey
(
String typeVariableName,
String declaringKey)
Creates a new type variable binding key from the given type variable name and the given declaring key. |
static
String
|
createWilcardTypeBindingKey
(
String typeKey,
char kind)
Deprecated. This method is missing crucial information necessary for proper wildcard binding key creation.
|
static
String
|
createWildcardTypeBindingKey
(
String genericTypeKey,
char boundKind,
String boundTypeKey,
int rank)
Creates a new wildcard type binding key from the given generic type binding key, the given wildcard
kind (one of
Signature.C_STAR ,
Signature.C_SUPER , or
Signature.C_EXTENDS
the given bound type binding key and the given rank. |
String[]
|
getThrownExceptions
()
Returns the thrown exception signatures of the element represented by this binding key. |
String[]
|
getTypeArguments
()
Returns the type argument signatures of the element represented by this binding key. |
boolean
|
isParameterizedMethod
()
Returns whether this binding key represents a parameterized method, or if its declaring method is a parameterized method. |
boolean
|
isParameterizedType
()
Returns whether this binding key represents a parameterized type, or if its declaring type is a parameterized type. |
boolean
|
isRawType
()
Returns whether this binding key represents a raw type. |
String
|
toSignature
()
Transforms this binding key into a resolved signature. |
String
|
toString
()
|
BindingKey
public BindingKey(
String key)
- Creates a new binding key.
-
Parameters:
-
key - the key to decode
createArrayTypeBindingKey
public static
String createArrayTypeBindingKey(
String typeKey,
int arrayDimension)
- Creates a new array type binding key from the given type binding key and the given array dimension.
For example:
createArrayTypeBindingKey("Ljava/lang/Object;", 1) -> "[Ljava/lang/Object;"
createArrayTypeBindingKey("I", 2) -> "[[I"
-
-
Parameters:
-
typeKey - the binding key of the given type -
arrayDimension - the given array dimension
-
Returns:
- a new array type binding key
createParameterizedTypeBindingKey
public static
String createParameterizedTypeBindingKey(
String genericTypeKey,
String[] argumentTypeKeys)
- Creates a new parameterized type binding key from the given generic type binding key and the given argument type binding keys.
If the argument type keys array is empty, then a raw type binding key is created.
For example:
createParameterizedTypeBindingKey(
"Ljava/util/Map<TK;TV;>;",
new String[] {"Ljava/lang/String;", "Ljava/lang/Object;"}) ->
"Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;"
createParameterizedTypeBindingKey(
"Ljava/util/List<TE;>;", new String[] {}) ->
"Ljava/util/List<>;"
-
-
Parameters:
-
genericTypeKey - the binding key of the generic type -
argumentTypeKeys - the possibly empty list of binding keys of argument types
-
Returns:
- a new parameterized type binding key
createTypeBindingKey
public static
String createTypeBindingKey(
String typeName)
- Creates a new type binding key from the given type name. The type name must be either
a fully qualified name, an array type name or a primitive type name.
If the type name is fully qualified, then it is expected to be dot-based.
Note that inner types, generic types and parameterized types are not supported.
For example:
createTypeBindingKey("int") -> "I"
createTypeBindingKey("java.lang.String") -> "Ljava/lang/String;"
createTypeBindingKey("boolean[]") -> "[Z"
-
-
Parameters:
-
typeName - the possibly qualified type name
-
Returns:
- a new type binding key
createTypeVariableBindingKey
public static
String createTypeVariableBindingKey(
String typeVariableName,
String declaringKey)
- Creates a new type variable binding key from the given type variable name and the given declaring key.
The declaring key can either be a type binding key or a method binding key.
For example:
createTypeVariableBindingKey("T", "Ljava/util/List<TE;>;") ->
"Ljava/util/List<TE;>;:TT;"
createTypeVariableBindingKey("SomeTypeVariable", "Lp/X;.foo()V") ->
"Lp/X;.foo()V:TSomeTypeVariable;"
-
-
Parameters:
-
typeVariableName - the name of the given type variable -
declaringKey - the binding key of the type or method the type variable belongs to
-
Returns:
- a new type variable binding key
createWilcardTypeBindingKey
public static
String createWilcardTypeBindingKey(
String typeKey,
char kind)
-
Deprecated. This method is missing crucial information necessary for proper wildcard binding key creation.
- Creates a new wildcard type binding key from the given type binding key and the given wildcard kind
(one of
Signature.C_STAR ,
Signature.C_SUPER , or
Signature.C_EXTENDS .
If the wildcard is
Signature.C_STAR , the given type binding key is ignored.
For example:
createWilcardTypeBindingKey(null, Signature.C_STAR) -> "*"
createWilcardTypeBindingKey("Ljava/util/List<TE;>;",
Signature.C_SUPER) -> "-Ljava/util/List<TE;>;"
createWilcardTypeBindingKey("Ljava/util/ArrayList;", Signature.C_EXTENDS) ->
"+Ljava/util/ArrayList;"
-
-
Parameters:
-
typeKey - the binding key of the given type -
kind - one of
Signature.C_STAR ,
Signature.C_SUPER , or
Signature.C_EXTENDS
-
Returns:
- a new wildcard type binding key
-
See Also:
-
createWildcardTypeBindingKey(String, char, String, int)
createWildcardTypeBindingKey
public static
String createWildcardTypeBindingKey(
String genericTypeKey,
char boundKind,
String boundTypeKey,
int rank)
- Creates a new wildcard type binding key from the given generic type binding key, the given wildcard
kind (one of
Signature.C_STAR ,
Signature.C_SUPER , or
Signature.C_EXTENDS
the given bound type binding key and the given rank. If the wildcard kind is
Signature.C_STAR ,
the given bound type binding key is ignored.
For example:
createWildcardTypeBindingKey("Ljava/util/ArrayList;", Signature.C_STAR, null, 0) -> "Ljava/util/ArrayList;{0}*"
createWildcardTypeBindingKey("Ljava/util/ArrayList;", Signature.C_SUPER, "Ljava/lang/String;", 0) -> "Ljava/util/ArrayList;{0}-Ljava/lang/String;"
createWildcardTypeBindingKey("Ljava/util/HashMap;", Signature.C_EXTENDS, "Ljava/lang/String;", 1) ->
"Ljava/util/HashMap;{1}+Ljava/lang/String;"
-
-
Parameters:
-
genericTypeKey - the binding key of the generic type -
boundKind - one of
Signature.C_STAR ,
Signature.C_SUPER , or
Signature.C_EXTENDS
-
boundTypeKey - the binding key of the bounding type. -
rank - the relative position of this wild card type in the parameterization of the generic type.
-
Returns:
- a new wildcard type binding key
-
Since:
- 3.5
getThrownExceptions
public
String[] getThrownExceptions()
- Returns the thrown exception signatures of the element represented by this binding key.
If this binding key does not represent a method or does not throw any exception,
returns an empty array.
-
-
Returns:
- the thrown exceptions signatures
-
Since:
- 3.3
getTypeArguments
public
String[] getTypeArguments()
- Returns the type argument signatures of the element represented by this binding key.
If this binding key doesn't represent a parameterized type or a parameterized method,
returns an empty array.
-
-
Returns:
- the type argument signatures
isRawType
public boolean isRawType()
- Returns whether this binding key represents a raw type.
-
-
Returns:
- whether this binding key represents a raw type
isParameterizedType
public boolean isParameterizedType()
- Returns whether this binding key represents a parameterized type, or if its declaring type is a parameterized type.
-
-
Returns:
- whether this binding key represents a parameterized type
isParameterizedMethod
public boolean isParameterizedMethod()
- Returns whether this binding key represents a parameterized method, or if its declaring method is a parameterized method.
-
-
Returns:
- whether this binding key represents a parameterized method
toSignature
public
String toSignature()
- Transforms this binding key into a resolved signature.
If this binding key represents a field, the returned signature is
the field type's signature.
-
-
Returns:
- the resolved signature for this binding key
-
Since:
- 3.2
-
See Also:
-
Signature
toString
public
String toString()
-
-
Overrides:
-
toString
in class
Object
-
Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.
|
|
|