package com.sequenceiq.cloudbreak.cloud.event.resource; import java.util.Collections; import java.util.List; import com.sequenceiq.cloudbreak.cloud.context.CloudContext; import com.sequenceiq.cloudbreak.cloud.event.CloudPlatformResult; import com.sequenceiq.cloudbreak.cloud.model.CloudVmInstanceStatus; public class GetInstancesStateResult extends CloudPlatformResult<GetInstancesStateRequest<GetInstancesStateResult>> { private final List<CloudVmInstanceStatus> statuses; public GetInstancesStateResult(GetInstancesStateRequest<GetInstancesStateResult> request) { super(request); this.statuses = Collections.emptyList(); } public GetInstancesStateResult(GetInstancesStateRequest<GetInstancesStateResult> request, List<CloudVmInstanceStatus> statuses) { super(request); this.statuses = statuses; } public GetInstancesStateResult(String statusReason, Exception errorDetails, GetInstancesStateRequest<GetInstancesStateResult> request) { super(statusReason, errorDetails, request); this.statuses = Collections.emptyList(); } public CloudContext getCloudContext() { return getRequest().getCloudContext(); } public List<CloudVmInstanceStatus> getStatuses() { return statuses; } public boolean isFailed() { return getErrorDetails() != null; } @Override public String toString() { final StringBuilder sb = new StringBuilder("GetInstancesStateResult{"); sb.append("cloudContext=").append(getCloudContext()); sb.append(", statuses=").append(statuses); sb.append(", exception=").append(getErrorDetails()); sb.append('}'); return sb.toString(); } }