| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You 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 |
| <<<<<<< Updated upstream |
| * |
| * https://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 |
| ======= |
| * |
| * https://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 |
| >>>>>>> Stashed changes |
| * limitations under the License. |
| */ |
| package org.apache.jdo.tck.pc.companyAnnotatedPI; |
| |
| import java.math.BigDecimal; |
| import java.util.Set; |
| import javax.jdo.annotations.Column; |
| import javax.jdo.annotations.DatastoreIdentity; |
| import javax.jdo.annotations.Discriminator; |
| import javax.jdo.annotations.DiscriminatorStrategy; |
| import javax.jdo.annotations.Element; |
| import javax.jdo.annotations.IdGeneratorStrategy; |
| import javax.jdo.annotations.Inheritance; |
| import javax.jdo.annotations.InheritanceStrategy; |
| import javax.jdo.annotations.Join; |
| import javax.jdo.annotations.PersistenceCapable; |
| import javax.jdo.annotations.Persistent; |
| import org.apache.jdo.tck.pc.company.IEmployee; |
| import org.apache.jdo.tck.pc.company.IProject; |
| |
| /** |
| * This interface represents the persistent state of Project. Javadoc was deliberately omitted |
| * because it would distract from the purpose of the interface. |
| */ |
| @PersistenceCapable(table = "projects") |
| @Inheritance(strategy = InheritanceStrategy.NEW_TABLE) |
| @Discriminator(strategy = DiscriminatorStrategy.CLASS_NAME, column = "DISCRIMINATOR") |
| @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "DATASTORE_IDENTITY") |
| public interface PIDSProject extends IProject { |
| |
| @Column(name = "PROJID") |
| long getProjid(); |
| |
| @Column(name = "NAME") |
| String getName(); |
| |
| @Column(name = "BUDGET", jdbcType = "DECIMAL", length = 11, scale = 2) |
| BigDecimal getBudget(); |
| |
| @Persistent(table = "project_reviewer") |
| @Element( |
| types = org.apache.jdo.tck.pc.companyAnnotatedPI.PIDSEmployee.class, |
| column = "REVIEWER", |
| foreignKey = "PR_REV_FK") |
| @Join(column = "PROJID", foreignKey = "PR_PROJ_FK") |
| Set<IEmployee> getReviewers(); |
| |
| @Persistent(table = "project_member") |
| @Element( |
| types = org.apache.jdo.tck.pc.companyAnnotatedPI.PIDSEmployee.class, |
| column = "MEMBER", |
| foreignKey = "PM_MEMB_FK") |
| @Join(column = "PROJID", foreignKey = "PM_PROJ_FK") |
| Set<IEmployee> getMembers(); |
| |
| void setProjid(long projid); |
| |
| void setName(String name); |
| |
| void setBudget(BigDecimal budget); |
| |
| void setReviewers(Set<IEmployee> reviewers); |
| |
| void setMembers(Set<IEmployee> employees); |
| } |