DimensionKey.java
/*
* Copyright 2020 Global Crop Diversity Trust
*
* 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.gringlobal.model.kpi;
import javax.persistence.Cacheable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import lombok.Getter;
import lombok.Setter;
import org.genesys.blocks.model.BasicModel;
@Cacheable
@Entity
@Table(name = "kpi_dimension_key", uniqueConstraints = { @UniqueConstraint(name = "UQ_dimensionkey", columnNames = { "name", "val" }) })
@Getter
@Setter
public class DimensionKey extends BasicModel {
private static final long serialVersionUID = -2778429884234714507L;
@Column(length = 100, nullable = false, updatable = false)
private String name;
@Column(name = "val", length = 100, nullable = false, updatable = false)
private String value;
@Override
public String toString() {
return "{id=" + getId() + ", key=" + name + ", value=" + value + "}";
}
// @Override
// public int hashCode() {
// final int prime = 31;
// int result = super.hashCode();
// result = prime * result + ((name == null) ? 0 : name.hashCode());
// result = prime * result + ((value == null) ? 0 : value.hashCode());
// return result;
// }
//
// @Override
// public boolean equals(Object obj) {
// if (this == obj)
// return true;
// if (!super.equals(obj))
// return false;
// if (getClass() != obj.getClass())
// return false;
// DimensionKey other = (DimensionKey) obj;
// if (name == null) {
// if (other.name != null)
// return false;
// } else if (!name.equals(other.name))
// return false;
// if (value == null) {
// if (other.value != null)
// return false;
// } else if (!value.equals(other.value))
// return false;
// return true;
// }
public static DimensionKey createFor(String name, String value) {
DimensionKey dk = new DimensionKey();
dk.name = name;
dk.value = value;
return dk;
}
@Override
public boolean canEqual(Object other) {
return other instanceof DimensionKey;
}
}