blob: 109ee8a982be61a99a849e8b0be239e29fd12977 [file] [log] [blame]
/*
* Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// James - initial impl
package org.eclipse.persistence.testing.models.jpa.plsql;
import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import org.eclipse.persistence.annotations.Struct;
import org.eclipse.persistence.platform.database.oracle.annotations.PLSQLParameter;
import org.eclipse.persistence.platform.database.oracle.annotations.PLSQLRecord;
import org.eclipse.persistence.platform.database.oracle.annotations.PLSQLTable;
/**
* Used to test simple PLSQL record types.
*
* @author James
*/
@PLSQLRecord(name="PLSQL_P.PLSQL_PHONE_REC", compatibleType="PLSQL_P_PLSQL_PHONE_REC", javaType=Phone.class,
fields={
@PLSQLParameter(name="AREA_CODE", databaseType="VARCHAR_TYPE"),
@PLSQLParameter(name="P_NUM", databaseType="VARCHAR_TYPE")
}
)
@PLSQLTable(name="PLSQL_P.PLSQL_PHONE_LIST", compatibleType="PLSQL_P_PLSQL_PHONE_LIST", nestedType="PLSQL_P.PLSQL_PHONE_REC")
@Embeddable
@Struct(name="PLSQL_P_PLSQL_PHONE_REC")
public class Phone {
@Column(name="AREA_CODE")
protected String areaCode;
@Column(name="P_NUM")
protected String number;
public String getAreaCode() {
return areaCode;
}
public void setAreaCode(String areaCode) {
this.areaCode = areaCode;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public boolean equals(Object object) {
if (!(object instanceof Phone)) {
return false;
}
Phone address = (Phone) object;
if (this.areaCode != null && !this.areaCode.equals(address.areaCode)) {
return false;
}
if (this.number != null && !this.number.equals(address.number)) {
return false;
}
return true;
}
}