Package org.jclouds.apis.internal
Class BaseApiMetadata
- java.lang.Object
-
- org.jclouds.apis.internal.BaseApiMetadata
-
- All Implemented Interfaces:
ApiMetadata
- Direct Known Subclasses:
BaseHttpApiMetadata,BYONApiMetadata,FilesystemApiMetadata,ServerManagerApiMetadata,StubApiMetadata,TransientApiMetadata
public abstract class BaseApiMetadata extends Object implements ApiMetadata
The BaseApiMetadata class is an abstraction ofApiMetadatato be extended by those implementing ApiMetadata. (Note: This class must be abstract to allowServiceLoaderto work properly.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBaseApiMetadata.Builder<T extends BaseApiMetadata.Builder<T>>
-
Constructor Summary
Constructors Modifier Constructor Description protectedBaseApiMetadata(String id, String name, Set<com.google.common.reflect.TypeToken<? extends View>> views, String endpointName, String identityName, com.google.common.base.Optional<String> credentialName, String version, com.google.common.base.Optional<String> buildVersion, com.google.common.base.Optional<String> defaultEndpoint, com.google.common.base.Optional<String> defaultIdentity, com.google.common.base.Optional<String> defaultCredential, Properties defaultProperties, URI documentation, com.google.common.reflect.TypeToken<? extends Context> context, Set<Class<? extends com.google.inject.Module>> defaultModules)protectedBaseApiMetadata(BaseApiMetadata.Builder<?> builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static PropertiesdefaultProperties()booleanequals(Object o)com.google.common.base.Optional<String>getBuildVersion()Explicitly identifies the build that the server jclouds connects to is running.com.google.common.reflect.TypeToken<? extends Context>getContext()com.google.common.base.Optional<String>getCredentialName()Note: if the api doesn't need a credential, this will return absent.com.google.common.base.Optional<String>getDefaultCredential()Explicitly sets the secret, which when combined with the identity, will create an authenticated subject or sessioncom.google.common.base.Optional<String>getDefaultEndpoint()Explicitly identifies the most top-level endpoint to a service provider.com.google.common.base.Optional<String>getDefaultIdentity()Explicitly identifies the login identity into a providerSet<Class<? extends com.google.inject.Module>>getDefaultModules()Modules that configure dependency injection for this contextPropertiesgetDefaultProperties()Configuration Properties used when creating connections to this apiURIgetDocumentation()StringgetEndpointName()TheendpointNamehelps the user supply the correct data when prompted.StringgetId()StringgetIdentityName()StringgetName()StringgetVersion()Explicitly identifies the version of an api.Set<com.google.common.reflect.TypeToken<? extends View>>getViews()inthashCode()protected com.google.common.base.MoreObjects.ToStringHelperstring()StringtoString()-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.jclouds.apis.ApiMetadata
toBuilder
-
-
-
-
Constructor Detail
-
BaseApiMetadata
protected BaseApiMetadata(BaseApiMetadata.Builder<?> builder)
-
BaseApiMetadata
protected BaseApiMetadata(String id, String name, Set<com.google.common.reflect.TypeToken<? extends View>> views, String endpointName, String identityName, com.google.common.base.Optional<String> credentialName, String version, com.google.common.base.Optional<String> buildVersion, com.google.common.base.Optional<String> defaultEndpoint, com.google.common.base.Optional<String> defaultIdentity, com.google.common.base.Optional<String> defaultCredential, Properties defaultProperties, URI documentation, com.google.common.reflect.TypeToken<? extends Context> context, Set<Class<? extends com.google.inject.Module>> defaultModules)
-
-
Method Detail
-
defaultProperties
public static Properties defaultProperties()
-
string
protected com.google.common.base.MoreObjects.ToStringHelper string()
-
getId
public String getId()
- Specified by:
getIdin interfaceApiMetadata- Returns:
- the api's unique identifier (ex. ec2, openstack-nova)
-
getName
public String getName()
- Specified by:
getNamein interfaceApiMetadata- Returns:
- the name (display name) of the api (ex. EC2 Base API)
-
getViews
public Set<com.google.common.reflect.TypeToken<? extends View>> getViews()
- Specified by:
getViewsin interfaceApiMetadata- Returns:
- types of contexts this can be transformed into, for example
BlobStoreContext
-
getEndpointName
public String getEndpointName()
TheendpointNamehelps the user supply the correct data when prompted. For example, on OpenStack APIs, this could be:Keystone url
For file-based apis, this could be:Path of byon.yamlDefault:"https endpoint"- Specified by:
getEndpointNamein interfaceApiMetadata- Returns:
- the name (display name) of an endpoint to this api (ex. Keystone url).
-
getIdentityName
public String getIdentityName()
- Specified by:
getIdentityNamein interfaceApiMetadata- Returns:
- the name (display name) of an identity on this api (ex. user, email, account, apikey, tenantId:username)
-
getCredentialName
public com.google.common.base.Optional<String> getCredentialName()
Note: if the api doesn't need a credential, this will return absent.- Specified by:
getCredentialNamein interfaceApiMetadata- Returns:
- the name (display name) of a credential on this api, if it is required (ex. password, secret, rsaKey)
-
getVersion
public String getVersion()
Explicitly identifies the version of an api.- Specified by:
getVersionin interfaceApiMetadata
-
getBuildVersion
public com.google.common.base.Optional<String> getBuildVersion()
Explicitly identifies the build that the server jclouds connects to is running. For example, for virtualbox, the api version may be4.1.8while the build version is4.1.8r75467.- Specified by:
getBuildVersionin interfaceApiMetadata
-
getDefaultEndpoint
public com.google.common.base.Optional<String> getDefaultEndpoint()
Explicitly identifies the most top-level endpoint to a service provider. This helps differentiate two providers of the same api, or a different environments providing the same api.note
The type of endpoint isStringas we permit endpoints that require variable expansion. ex.https://${jclouds.identity}.blob.core.windows.net- Specified by:
getDefaultEndpointin interfaceApiMetadata- Returns:
- the api's default endpoint, if known.
-
getDefaultIdentity
public com.google.common.base.Optional<String> getDefaultIdentity()
Explicitly identifies the login identity into a provider- Specified by:
getDefaultIdentityin interfaceApiMetadata- Returns:
- the login identity into a provider, if known.
-
getDefaultCredential
public com.google.common.base.Optional<String> getDefaultCredential()
Explicitly sets the secret, which when combined with the identity, will create an authenticated subject or session- Specified by:
getDefaultCredentialin interfaceApiMetadata- Returns:
- the api's default credential, if known.
- See Also:
ApiMetadata.getDefaultIdentity(),ApiMetadata.getCredentialName()
-
getDefaultProperties
public Properties getDefaultProperties()
Configuration Properties used when creating connections to this api- Specified by:
getDefaultPropertiesin interfaceApiMetadata- Returns:
- properties used to create connections to this api
-
getDocumentation
public URI getDocumentation()
- Specified by:
getDocumentationin interfaceApiMetadata- Returns:
- the url for the API documentation related to this service
-
getContext
public com.google.common.reflect.TypeToken<? extends Context> getContext()
- Specified by:
getContextin interfaceApiMetadata- Returns:
- the primary context of this api, for example
ApiContext<EC2Api>
-
getDefaultModules
public Set<Class<? extends com.google.inject.Module>> getDefaultModules()
Modules that configure dependency injection for this context- Specified by:
getDefaultModulesin interfaceApiMetadata- Returns:
- modules that configure dependency injection for this context
-
-