blob: ab4e2614185bd4f9841871efa5a28646b0ca6398 [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:
// 03/29/2010-2.1 Guy Pelletier
// - 267217: Add Named Access Type to EclipseLink-ORM
// 04/09/2010-2.1 Guy Pelletier
// - 307050: Add defaults for access methods of a VIRTUAL access type
package org.eclipse.persistence.testing.models.jpa.xml.advanced;
import java.util.List;
import org.eclipse.persistence.annotations.ChangeTracking;
import static org.eclipse.persistence.annotations.ChangeTrackingType.DEFERRED;
/**
* This class is used to test the extended orm named-access setting.
*
* It is mapped as an entity in the following resource file:
*
* resource/eclipselinkorm/eclipselink-xml-extended-model/eclipselink-orm.xml
*
* @author gpelleti
*/
@ChangeTracking(DEFERRED)
public class Shovel {
// id
private Integer id;
// embedded
private ShovelSections sections;
// basic
private Double cost;
// version
private Integer version;
// Many to one
private ShovelOwner owner;
// one to many
private List<ShovelDigger> operators;
// many to many
private List<ShovelProject> projects;
public Shovel() {}
public Object getMy(String attribute) {
try {
return getClass().getDeclaredField(attribute).get(this);
} catch (Exception e) {
throw new RuntimeException("Error occured getting the value of attributee: " + attribute);
}
}
public void setMy(String attribute, Object value) {
try {
getClass().getDeclaredField(attribute).set(this, value);
} catch (Exception e) {
throw new RuntimeException("Error occured set the attribute: " + attribute + ", with value: " + value);
}
}
}