com.android.jack.api
Interface JackProvider


public interface JackProvider

Provides instances of JackConfig.


Nested Class Summary
static class JackProvider.SubReleaseKind
          The kind of sub-release.
 
Method Summary
<T extends JackConfig>
T
createConfig(java.lang.Class<T> cls)
          Creates a JackConfig instance for an interface representing a JackConfig API version.
 java.lang.String getCompilerBuildId()
          The build ID of this Jack compiler.
 int getCompilerReleaseCode()
          Gives an integer value that represents the release of this Jack compiler, relative to other releases.
 java.lang.String getCompilerReleaseName()
          Gives the release name of this Jack compiler (e.g.
 java.lang.String getCompilerSourceCodeBase()
          Identify the source code base of this Jack compiler.
 int getCompilerSubReleaseCode()
          Gives an integer value that represents the sub-release of this Jack compiler, relative to other sub-releases of the same release.
 JackProvider.SubReleaseKind getCompilerSubReleaseKind()
          Gives the kind of sub-release of this Jack compiler.
 java.lang.String getCompilerVersion()
          Gives the version of this Jack compiler, summarized in one string (e.g.
 java.util.Collection<java.lang.Class<? extends JackConfig>> getSupportedConfigs()
          Gives a Collection containing supported JackConfig API versions.
<T extends JackConfig>
boolean
isConfigSupported(java.lang.Class<T> cls)
          Returns whether an interface representing a JackConfig API version is supported.
 

Method Detail

createConfig

@Nonnull
<T extends JackConfig> T createConfig(@Nonnull
                                              java.lang.Class<T> cls)
                                  throws ConfigNotSupportedException
Creates a JackConfig instance for an interface representing a JackConfig API version.

Parameters:
cls - the JackConfig API interface
Returns:
the JackConfig instance
Throws:
ConfigNotSupportedException - If no implementation is found for the given interface.

isConfigSupported

@Nonnull
<T extends JackConfig> boolean isConfigSupported(@Nonnull
                                                         java.lang.Class<T> cls)
Returns whether an interface representing a JackConfig API version is supported.

Parameters:
cls - the JackConfig API interface
Returns:
true if the config is supported

getSupportedConfigs

@Nonnull
java.util.Collection<java.lang.Class<? extends JackConfig>> getSupportedConfigs()
Gives a Collection containing supported JackConfig API versions.

Returns:
the supported JackConfig API versions

getCompilerVersion

@Nonnull
java.lang.String getCompilerVersion()
Gives the version of this Jack compiler, summarized in one string (e.g. "1.1-rc1", "2.0-a2", ...).

Returns:
the version

getCompilerReleaseName

@Nonnull
java.lang.String getCompilerReleaseName()
Gives the release name of this Jack compiler (e.g. Arzon, Brest, ...).

Returns:
the release name

getCompilerReleaseCode

@Nonnegative
int getCompilerReleaseCode()
Gives an integer value that represents the release of this Jack compiler, relative to other releases.

Returns:
the release code

getCompilerSubReleaseCode

@Nonnegative
int getCompilerSubReleaseCode()
Gives an integer value that represents the sub-release of this Jack compiler, relative to other sub-releases of the same release.

Returns:
the sub-release code

getCompilerSubReleaseKind

@Nonnull
JackProvider.SubReleaseKind getCompilerSubReleaseKind()
Gives the kind of sub-release of this Jack compiler.

Returns:
the sub-release kind

getCompilerBuildId

@CheckForNull
java.lang.String getCompilerBuildId()
The build ID of this Jack compiler.

Returns:
the build ID, or null if not available

getCompilerSourceCodeBase

@CheckForNull
java.lang.String getCompilerSourceCodeBase()
Identify the source code base of this Jack compiler.

Returns:
the source code base, or null if not available