Class AbstractAzResourceModule<T extends AbstractAzResource<T,P,R>,P extends AzResource,R>
- java.lang.Object
-
- com.microsoft.azure.toolkit.lib.common.model.AbstractAzResourceModule<T,P,R>
-
- All Implemented Interfaces:
AzComponent,AzResourceModule<T>,Refreshable
- Direct Known Subclasses:
AbstractAzService,AbstractEmulatableAzResourceModule,AzResourceModule.None,GenericResourceModule,ResourceDeploymentModule,ResourceGroupModule
public abstract class AbstractAzResourceModule<T extends AbstractAzResource<T,P,R>,P extends AzResource,R> extends Object implements AzResourceModule<T>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.microsoft.azure.toolkit.lib.common.model.AzResourceModule
AzResourceModule.None
-
-
Field Summary
Fields Modifier and Type Field Description private DebouncerfireEventsprivate Locklockprivate Stringnameprivate Iterator<? extends com.azure.core.util.paging.ContinuablePage<String,R>>pagesprotected Pparentprotected Map<String,Optional<T>>resourcesprotected AtomicLongsyncTimeRefprivate Map<String,T>tempResources-
Fields inherited from interface com.microsoft.azure.toolkit.lib.common.model.AzResourceModule
NONE
-
-
Constructor Summary
Constructors Constructor Description AbstractAzResourceModule()
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.microsoft.azure.toolkit.lib.common.model.AzComponent
getName
-
-
-
-
Field Detail
-
parent
protected final P extends AzResource parent
-
syncTimeRef
@Nonnull protected final AtomicLong syncTimeRef
-
resources
@Nonnull protected final Map<String,Optional<T extends AbstractAzResource<T,P,R>>> resources
-
lock
private final Lock lock
-
-
Method Detail
-
refresh
public void refresh()
- Specified by:
refreshin interfaceAzResourceModule<T extends AbstractAzResource<T,P,R>>- Specified by:
refreshin interfaceRefreshable
-
invalidateCache
protected void invalidateCache()
-
list
@Nonnull public List<T> list()
- Specified by:
listin interfaceAzResourceModule<T extends AbstractAzResource<T,P,R>>
-
reloadResources
private void reloadResources()
-
loadMoreResources
public void loadMoreResources()
-
hasMoreResources
public boolean hasMoreResources()
-
clear
public void clear()
-
get
@Nullable public T get(@Nonnull String name, @Nullable String rgName)
- Specified by:
getin interfaceAzResourceModule<T extends AbstractAzResource<T,P,R>>
-
get
@Nullable public T get(@Nonnull String resourceId)
- Specified by:
getin interfaceAzResourceModule<T extends AbstractAzResource<T,P,R>>
-
exists
public boolean exists(@Nonnull String name, @Nullable String rgName)
- Specified by:
existsin interfaceAzResourceModule<T extends AbstractAzResource<T,P,R>>
-
delete
public void delete(@Nonnull String name, @Nullable String rgName)
- Specified by:
deletein interfaceAzResourceModule<T extends AbstractAzResource<T,P,R>>
-
getOrDraft
@Nonnull public T getOrDraft(@Nonnull String name, @Nullable String rgName)
- Specified by:
getOrDraftin interfaceAzResourceModule<T extends AbstractAzResource<T,P,R>>
-
updateOrCreate
@Nonnull public <D extends AzResource.Draft<T,R>> D updateOrCreate(@Nonnull String name, @Nullable String rgName)
-
create
@Nonnull public <D extends AzResource.Draft<T,R>> D create(@Nonnull String name, @Nullable String rgName)
-
create
@Nonnull public T create(@Nonnull AzResource.Draft<T,?> d)
- Specified by:
createin interfaceAzResourceModule<T extends AbstractAzResource<T,P,R>>
-
update
@Nonnull public T update(@Nonnull AzResource.Draft<T,?> draft)
- Specified by:
updatein interfaceAzResourceModule<T extends AbstractAzResource<T,P,R>>
-
toResourceId
@Nonnull public String toResourceId(@Nonnull String resourceName, @Nullable String resourceGroup)
-
deleteResourceFromLocal
protected void deleteResourceFromLocal(@Nonnull String id, boolean... silent)
-
deleteResourceFromLocalResourceGroup
protected void deleteResourceFromLocalResourceGroup(@Nonnull T resource, boolean... silent)
-
addResourceToLocal
protected void addResourceToLocal(@Nonnull String id, @Nullable T resource, boolean... silent)
-
addResourceToLocalResourceGroup
protected void addResourceToLocalResourceGroup(@Nonnull String id, @Nonnull T resource, boolean... silent)
-
fireChildrenChangedEvent
private void fireChildrenChangedEvent()
-
loadResourcePagesFromAzure
@Nonnull protected Iterator<? extends com.azure.core.util.paging.ContinuablePage<String,R>> loadResourcePagesFromAzure()
-
loadResourceFromAzure
@Nullable protected R loadResourceFromAzure(@Nonnull String name, @Nullable String resourceGroup)
-
normalizeResourceGroupName
private String normalizeResourceGroupName(String name, @Nullable String rgName)
-
newDraftForCreate
@Nonnull protected AzResource.Draft<T,R> newDraftForCreate(@Nonnull String name, @Nullable String rgName)
-
newResource
@Nonnull protected abstract T newResource(@Nonnull String name, @Nullable String resourceGroupName)
-
getClient
@Nullable protected Object getClient()
get track2 client, which is used to implementloadResourcePagesFromAzure(),loadResourceFromAzure(java.lang.String, java.lang.String)anddeleteResourceFromAzure(java.lang.String)
-
getFullResourceType
@Nonnull public String getFullResourceType()
- Specified by:
getFullResourceTypein interfaceAzComponent- Specified by:
getFullResourceTypein interfaceAzResourceModule<T extends AbstractAzResource<T,P,R>>
-
getResourceTypeName
@Nonnull public String getResourceTypeName()
- Specified by:
getResourceTypeNamein interfaceAzComponent- Specified by:
getResourceTypeNamein interfaceAzResourceModule<T extends AbstractAzResource<T,P,R>>
-
getSubscriptionId
@Nonnull public String getSubscriptionId()
- Specified by:
getSubscriptionIdin interfaceAzResourceModule<T extends AbstractAzResource<T,P,R>>
-
getId
@Nonnull public String getId()
- Specified by:
getIdin interfaceAzComponent
-
getPageSize
public static int getPageSize()
-
isAuthRequiredForListing
protected boolean isAuthRequiredForListing()
-
getServiceNameForTelemetry
public String getServiceNameForTelemetry()
- Specified by:
getServiceNameForTelemetryin interfaceAzResourceModule<T extends AbstractAzResource<T,P,R>>
-
-