package alien4cloud.paas.model;
import java.util.List;
import java.util.Map;
import lombok.Getter;
import lombok.Setter;
import org.alien4cloud.tosca.model.types.AbstractToscaType;
import org.alien4cloud.tosca.model.definitions.Interface;
import org.alien4cloud.tosca.model.templates.AbstractTemplate;
import alien4cloud.paas.IPaaSTemplate;
@Getter
@Setter
public abstract class AbstractPaaSTemplate<V extends AbstractToscaType, T extends AbstractTemplate> implements IPaaSTemplate<V> {
/** The unique id for the template within the topology. */
private String id;
/** The wrapped template. **/
private T template;
/**
* The combination of interfaces inherited from type and those defined at template level.
*/
private Map<String, Interface> interfaces;
/** Type for the wrapped template. */
private V indexedToscaElement;
/** Derived from types **/
private List<V> derivedFroms;
public AbstractPaaSTemplate(String id, T template) {
this.id = id;
this.template = template;
}
@Override
public T getTemplate() {
return template;
}
}