/* * Copyright (c) 2010-2013 Evolveum * * 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 com.evolveum.midpoint.repo.sql.data.common.embedded; import com.evolveum.midpoint.prism.polystring.PolyString; import com.evolveum.midpoint.repo.sql.query.definition.JaxbType; import com.evolveum.prism.xml.ns._public.types_3.PolyStringType; import org.apache.commons.lang.builder.ReflectionToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; import javax.persistence.Column; import javax.persistence.Embeddable; import java.io.Serializable; /** * @author lazyman */ @Embeddable @JaxbType(type = PolyString.class) public class RPolyString implements Serializable { public static final String F_NORM = "norm"; public static final String F_ORIG = "orig"; private String orig; private String norm; public RPolyString() { } public RPolyString(String orig, String norm) { this.norm = norm; this.orig = orig; } @Column(nullable = true) public String getNorm() { return norm; } @Column(nullable = true) public String getOrig() { return orig; } public void setNorm(String norm) { this.norm = norm; } public void setOrig(String orig) { this.orig = orig; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; RPolyString that = (RPolyString) o; if (norm != null ? !norm.equals(that.norm) : that.norm != null) return false; if (orig != null ? !orig.equals(that.orig) : that.orig != null) return false; return true; } @Override public int hashCode() { int result = orig != null ? orig.hashCode() : 0; result = 31 * result + (norm != null ? norm.hashCode() : 0); return result; } @Override public String toString() { return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE); } public static RPolyString copyFromJAXB(PolyStringType string) { if (string == null) { return null; } return new RPolyString(string.getOrig(), string.getNorm()); } public static RPolyString toRepo(PolyString string) { if (string == null) { return null; } return new RPolyString(string.getOrig(), string.getNorm()); } public static PolyStringType copyToJAXB(RPolyString string) { if (string == null) { return null; } PolyStringType poly = new PolyStringType(); poly.setOrig(string.getOrig()); poly.setNorm(string.getNorm()); return poly; } public static PolyString fromRepo(RPolyString string) { if (string == null) { return null; } return new PolyString(string.getOrig(), string.getNorm()); } }