Class AbstractAzureResource<T extends IAzureResource<E>,E extends AbstractAzureResource.RemoteAwareResourceEntity<R>,R>
- java.lang.Object
-
- com.microsoft.azure.toolkit.lib.common.entity.AbstractAzureResource<T,E,R>
-
- All Implemented Interfaces:
IAzureBaseResource<IAzureBaseResource,IAzureBaseResource>,IAzureResource<E>,AzureOperationEvent.Source<T>
public abstract class AbstractAzureResource<T extends IAzureResource<E>,E extends AbstractAzureResource.RemoteAwareResourceEntity<R>,R> extends Object implements IAzureResource<E>, AzureOperationEvent.Source<T>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAbstractAzureResource.RemoteAwareResourceEntity<R>-
Nested classes/interfaces inherited from interface com.microsoft.azure.toolkit.lib.common.entity.IAzureBaseResource
IAzureBaseResource.Status
-
-
Field Summary
Fields Modifier and Type Field Description protected Eentityprivate booleanrefreshedprivate Stringstatus-
Fields inherited from interface com.microsoft.azure.toolkit.lib.common.entity.IAzureBaseResource
REST_SEGMENT_JOB_MANAGEMENT_RESOURCE, REST_SEGMENT_JOB_MANAGEMENT_TENANTID
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractAzureResource(E entity)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Eentity()booleanexists()protected abstract RloadRemote()protected StringloadStatus()Trefresh()protected Trefresh(R remote)voidrefreshStatus()Rremote()Stringstatus()protected voidstatus(String status)-
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.event.AzureOperationEvent.Source
getEventSource
-
Methods inherited from interface com.microsoft.azure.toolkit.lib.common.entity.IAzureBaseResource
portalUrl, resourceGroup, subscription, subscriptionId
-
Methods inherited from interface com.microsoft.azure.toolkit.lib.common.entity.IAzureResource
id, module, name, parent
-
-
-
-
Field Detail
-
refreshed
private boolean refreshed
-
entity
@Nonnull protected final E extends AbstractAzureResource.RemoteAwareResourceEntity<R> entity
-
status
private String status
-
-
Method Detail
-
exists
public final boolean exists()
- Specified by:
existsin interfaceIAzureBaseResource<T extends IAzureResource<E>,E extends AbstractAzureResource.RemoteAwareResourceEntity<R>>
-
refresh
@Nonnull @CacheEvict(cacheName="resource/{}/children", key="${this.id()}") public T refresh()
- Specified by:
refreshin interfaceIAzureBaseResource<T extends IAzureResource<E>,E extends AbstractAzureResource.RemoteAwareResourceEntity<R>>- Specified by:
refreshin interfaceIAzureResource<T extends IAzureResource<E>>
-
entity
@Nonnull public final E entity()
- Specified by:
entityin interfaceIAzureResource<T extends IAzureResource<E>>
-
status
public final String status()
- Specified by:
statusin interfaceIAzureBaseResource<T extends IAzureResource<E>,E extends AbstractAzureResource.RemoteAwareResourceEntity<R>>
-
refreshStatus
public final void refreshStatus()
- Specified by:
refreshStatusin interfaceIAzureBaseResource<T extends IAzureResource<E>,E extends AbstractAzureResource.RemoteAwareResourceEntity<R>>
-
loadStatus
protected String loadStatus()
- Returns:
IAzureBaseResource.Status
-
-