/*
 * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */


/*
 * $Id: Order.java 68600 2012-11-19 16:24:08Z sdimilla $
 */

package com.sun.ts.tests.jpa.core.callback.xml;

import com.sun.ts.tests.jpa.core.callback.common.CallbackStatusIF;
import com.sun.ts.tests.jpa.core.callback.common.CallbackStatusImpl;

import javax.persistence.*;
import java.util.Collection;

public class Order extends CallbackStatusImpl
        implements java.io.Serializable, CallbackStatusIF {
    private String id;
    private double totalPrice;
    private LineItem sampleLineItem;
    private Collection<LineItem> lineItemsCollection = new java.util.ArrayList<LineItem>();
    
    public Order() {
    }
    
    public Order(String id, double totalPrice) {
        this.id = id;
        this.totalPrice = totalPrice;
    }
    
    @Id
    @Column(name="ID")
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    
    @Column(name="TOTALPRICE")
    public double getTotalPrice() {
        return totalPrice;
    }
    public void setTotalPrice(double price) {
        this.totalPrice = price;
    }

   // 1x1
    @OneToOne(cascade = CascadeType.REMOVE)
    @JoinColumn(name="FK0_FOR_LINEITEM_TABLE")
    public LineItem getSampleLineItem() {
        return sampleLineItem;
    }
    public void setSampleLineItem(LineItem l) {
        this.sampleLineItem = l;
    }
    
    @OneToMany(mappedBy="order", cascade = CascadeType.ALL)
    public Collection<LineItem> getLineItemsCollection() {
        return lineItemsCollection;
    }
    public void setLineItemsCollection(Collection<LineItem> c) {
        this.lineItemsCollection = c;
    }
    
    public void addLineItem(LineItem p) {
        getLineItemsCollection().add(p);
    }
}
