/* * Copyright (c) 2012-2015 iWave Software LLC * All Rights Reserved */ package com.emc.sa.machinetags.vmware; import com.emc.sa.machinetags.MachineTag; import com.emc.sa.machinetags.MultiValueMachineTag; import com.google.common.collect.Lists; import java.util.List; public class DatastoreMachineTag extends MultiValueMachineTag { public static final String NAMESPACE = "isa.vc"; public static final String DATACENTER = "datacenter"; public static final String VCENTER = "vcenter"; public static final String MOUNT_POINT = "mountPoint"; public static final String DATASTORE = "datastore"; public static final List<String> relatedTags = Lists.newArrayList(DATASTORE, MOUNT_POINT, VCENTER, DATACENTER); public DatastoreMachineTag(Integer index, String vcenter, String datacenter, String datastore, String mountpoint) { super(new MachineTag(NAMESPACE, DATASTORE, index, datastore), new MachineTag(NAMESPACE, VCENTER, index, vcenter), new MachineTag(NAMESPACE, DATACENTER, index, datacenter), new MachineTag(NAMESPACE, MOUNT_POINT, index, mountpoint)); } public DatastoreMachineTag(MachineTag datastore, MachineTag vcenter, MachineTag datacenter, MachineTag mountpoint) { super(datastore, vcenter, datacenter, mountpoint); } @Override public List<String> getRelatedTags() { return relatedTags; } @Override public String getNamespace() { return NAMESPACE; } public String getVCenter() { return getTagValue(VCENTER); } public String getDatacenter() { return getTagValue(DATACENTER); } public String getDatastore() { return getTagValue(DATASTORE); } public String getMountPoint() { return getTagValue(MOUNT_POINT); } private String getTagValue(String name) { MachineTag tag = getTag(name); return tag != null ? tag.value : null; } }