/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*/
package com.microsoft.azure.management.redis.implementation;
import com.microsoft.azure.management.apigeneration.LangDefinition;
import com.microsoft.azure.management.redis.RedisCache;
import com.microsoft.azure.management.redis.RedisCaches;
import com.microsoft.azure.management.resources.fluentcore.arm.collection.implementation.TopLevelModifiableResourcesImpl;
/**
* The implementation of RedisCaches and its parent interfaces.
*/
@LangDefinition
class RedisCachesImpl
extends TopLevelModifiableResourcesImpl<
RedisCache,
RedisCacheImpl,
RedisResourceInner,
RedisInner,
RedisManager>
implements RedisCaches {
RedisCachesImpl(final RedisManager redisManager) {
super(redisManager.inner().redis(), redisManager);
}
@Override
public RedisCacheImpl define(String name) {
return wrapModel(name);
}
@Override
protected RedisCacheImpl wrapModel(String name) {
return new RedisCacheImpl(
name,
new RedisResourceInner(),
this.manager());
}
@Override
protected RedisCacheImpl wrapModel(RedisResourceInner redisResourceInner) {
if (redisResourceInner == null) {
return null;
}
return new RedisCacheImpl(
redisResourceInner.name(),
redisResourceInner,
this.manager());
}
}