KeyProvider { protected static String buildVersionName(String name, int version) { return name + "@" + version; } KeyProvider(Configuration conf); Configuration getConf(); static Options options(Configuration conf); boolean isTransient(); abstract KeyVersion getKeyVersion(String versionName
                                            ); abstract List<String> getKeys(); Metadata[] getKeysMetadata(String... names); abstract List<KeyVersion> getKeyVersions(String name); KeyVersion getCurrentKey(String name); abstract Metadata getMetadata(String name); abstract KeyVersion createKey(String name, byte[] material,
                                       Options options); KeyVersion createKey(String name, Options options); abstract void deleteKey(String name); abstract KeyVersion rollNewVersion(String name,
                                             byte[] material
                                            ); void close(); KeyVersion rollNewVersion(String name); abstract void flush(); static String getBaseName(String versionName); static KeyProvider findProvider(List<KeyProvider> providerList,
                                         String keyName); static final String DEFAULT_CIPHER_NAME; static final String DEFAULT_CIPHER; static final String DEFAULT_BITLENGTH_NAME; static final int DEFAULT_BITLENGTH; }
@Test public void testBuildVersionName() throws Exception { assertEquals("/a/b@3", KeyProvider.buildVersionName("/a/b", 3)); assertEquals("/aaa@12", KeyProvider.buildVersionName("/aaa", 12)); }