/** * Copyright (c) Istituto Nazionale di Fisica Nucleare (INFN). 2006-2016 * * 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 org.glite.security.voms.admin.integration.orgdb.model; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import org.hibernate.annotations.Immutable; @Entity @Immutable @Table(name = "EXPERIMENTS") public class Experiment implements Serializable { /** * */ private static final long serialVersionUID = 1L; @Id @Column(length = 60, name = "NAME") String name; @Column(length = 300, name = "TITLE") String title; @Column(nullable = false, length = 2, name = "STATUS") String status; @ManyToOne(optional = true) @JoinColumn(name = "PARENT_EXPERIMENT") Experiment parent; @Column(name = "BEAM", length = 20) String beam; @Column(name = "HOME_PAGE", length = 150) String homePage; @Column(name = "DOCUMENTATION_PAGE", length = 150) String documentationPage; @Column(name = "PROGRAMME", length = 10) String programme; @Column(name = "MNEMONIC", length = 20) String mnemonic; @Column(name = "GB_FLAG", length = 1, nullable = false) String gbFlag; @Column(name = "EMAIL", length = 150) String email; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public Experiment getParent() { return parent; } public void setParent(Experiment parent) { this.parent = parent; } public String getBeam() { return beam; } public void setBeam(String beam) { this.beam = beam; } public String getHomePage() { return homePage; } public void setHomePage(String homePage) { this.homePage = homePage; } public String getDocumentationPage() { return documentationPage; } public void setDocumentationPage(String documentationPage) { this.documentationPage = documentationPage; } public String getProgramme() { return programme; } public void setProgramme(String programme) { this.programme = programme; } public String getMnemonic() { return mnemonic; } public void setMnemonic(String mnemonic) { this.mnemonic = mnemonic; } public String getGbFlag() { return gbFlag; } public void setGbFlag(String gbFlag) { this.gbFlag = gbFlag; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } /* * (non-Javadoc) * * @see java.lang.Object#hashCode() */ @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((name == null) ? 0 : name.hashCode()); return result; } /* * (non-Javadoc) * * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Experiment other = (Experiment) obj; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; } /* * (non-Javadoc) * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("Experiment [name=").append(name).append(", status=") .append(status).append(", mnemonic=").append(mnemonic).append(", email=") .append(email).append("]"); return builder.toString(); } }