com.intuit.tank.project.JobVMInstance.java Source code

Java tutorial

Introduction

Here is the source code for com.intuit.tank.project.JobVMInstance.java

Source

package com.intuit.tank.project;

/*
 * #%L
 * Intuit Tank data model
 * %%
 * Copyright (C) 2011 - 2015 Intuit Inc.
 * %%
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * #L%
 */

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;

import com.intuit.tank.vm.api.enumerated.VMRole;

@Entity
@Table(name = "job_vm_instance")
public class JobVMInstance extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ManyToOne
    @JoinColumn(name = "job_id", updatable = false, insertable = false)
    private JobConfiguration job;

    @ManyToOne
    @JoinColumn(name = "vm_instance_id")
    private VMInstance vmInstance;

    @Column(name = "user_count")
    private int userCount;

    @Column(name = "status")
    private String status;

    @Enumerated(EnumType.STRING)
    @Column(name = "vm_role")
    private VMRole vmRole;

    public JobConfiguration getJob() {
        return job;
    }

    protected void setJob(JobConfiguration job) {
        this.job = job;
    }

    public void setParent(JobConfiguration job) {
        this.job = job;
    }

    public VMInstance getVMInstance() {
        return vmInstance;
    }

    public void setVMInstance(VMInstance instance) {
        this.vmInstance = instance;
    }

    public int getUserCount() {
        return userCount;
    }

    public void setUserCount(int userCount) {
        this.userCount = userCount;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * @return the vmRole
     */
    public VMRole getVmRole() {
        return vmRole;
    }

    /**
     * @param vmRole
     *            the vmRole to set
     */
    public void setVmRole(VMRole vmRole) {
        this.vmRole = vmRole;
    }

    /**
     * @{inheritDoc
     */
    @Override
    public String toString() {
        return new ToStringBuilder(this).append("id", getId()).append("status", status).toString();
    }

    /**
     * @{inheritDoc
     */
    @Override
    public boolean equals(Object obj) {
        if (!(obj instanceof JobVMInstance)) {
            return false;
        }
        JobVMInstance o = (JobVMInstance) obj;
        return new EqualsBuilder().append(o.getId(), getId()).isEquals();
    }

    /**
     * @{inheritDoc
     */
    @Override
    public int hashCode() {
        return new HashCodeBuilder(29, 45).append(getId()).toHashCode();
    }
}