/** * Copyright 2014 Microsoft Open Technologies Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.microsoftopentechnologies.intellij.model.vm; import com.microsoftopentechnologies.intellij.model.ServiceTreeItem; import org.jetbrains.annotations.NotNull; import java.util.Calendar; public class VirtualMachineImage implements ServiceTreeItem { private boolean loading; private String name; private String type; private String category; private String publisherName; private Calendar publishedDate; private String label; private String description; private String operatingSystemType; private String location; private String eulaUri; private String privacyUri; private String pricingUri; private String recommendedVMSize; private boolean showInGui; public VirtualMachineImage(@NotNull String name, @NotNull String type, @NotNull String category, @NotNull String publisherName, @NotNull Calendar publishedDate, @NotNull String label, @NotNull String description, @NotNull String operatingSystemType, @NotNull String location, @NotNull String eulaUri, @NotNull String privacyUri, @NotNull String pricingUri, @NotNull String recommendedVMSize, boolean showInGui) { this.name = name; this.type = type; this.category = category; this.publisherName = publisherName; this.publishedDate = publishedDate; this.label = label; this.description = description; this.operatingSystemType = operatingSystemType; this.location = location; this.eulaUri = eulaUri; this.privacyUri = privacyUri; this.pricingUri = pricingUri; this.recommendedVMSize = recommendedVMSize; this.showInGui = showInGui; } @Override public boolean isLoading() { return loading; } @Override public void setLoading(boolean loading) { this.loading = loading; } @NotNull public String getName() { return name; } @NotNull public String getType() { return type; } @NotNull public String getCategory() { return category; } @NotNull public String getPublisherName() { return publisherName; } @NotNull public Calendar getPublishedDate() { return publishedDate; } @NotNull public String getLabel() { return label; } @NotNull public String getDescription() { return description; } @NotNull public String getOperatingSystemType() { return operatingSystemType; } @NotNull public String getLocation() { return location; } @NotNull public String getEulaUri() { return eulaUri; } @NotNull public String getPrivacyUri() { return privacyUri; } @NotNull public String getPricingUri() { return pricingUri; } public String getRecommendedVMSize() { return recommendedVMSize; } public boolean isShowInGui() { return showInGui; } @Override public String toString() { return label + (loading ? " (loading...)" : ""); } }