package com.bd.movie.domain;
import java.util.HashSet;
import java.util.Set;
import java.util.UUID;

/**
 <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>PhysicalMedia</b></em>'.
 <!-- end-user-doc -->
 *
 * @generated
 */
public class PhysicalMedia  {

    /** @generated */
    private int id;
    /** @generated */
    private String status;
    /** @generated */
    private String location;

    /** @generated */
    private Library library;

    /** @generated */
    private Set<Media> media = new HashSet<Media>()

    /**
     <!-- begin-user-doc -->
     <!-- end-user-doc -->
     * @generated
     */
    public  PhysicalMedia() {
    }

    /**
     <!-- begin-user-doc -->
     <!-- end-user-doc -->
     * @generated
     */
    public int getId() {
        return id;
    }    
    /**
     <!-- begin-user-doc -->
     <!-- end-user-doc -->
     * @generated
     */
    public void setId(int aId) {
        this.id = aId;
    }    
    /**
     <!-- begin-user-doc -->
     <!-- end-user-doc -->
     * @generated
     */
    public String getStatus() {
        return status;
    }    
    /**
     <!-- begin-user-doc -->
     <!-- end-user-doc -->
     * @generated
     */
    public void setStatus(String aStatus) {
        this.status = aStatus;
    }    
    /**
     <!-- begin-user-doc -->
     <!-- end-user-doc -->
     * @generated
     */
    public String getLocation() {
        return location;
    }    
    /**
     <!-- begin-user-doc -->
     <!-- end-user-doc -->
     * @generated
     */
    public void setLocation(String aLocation) {
        this.location = aLocation;
    }    

    /**
     <!-- begin-user-doc -->
     <!-- end-user-doc -->
     * @generated
     */
    public Library getLibrary() {
        return library;
    }    
    /**
     <!-- begin-user-doc -->
     <!-- end-user-doc -->
     * @generated
     */
    public void setLibrary(Library aLibrary) {
        this.library = aLibrary;
    }

    /**
     <!-- begin-user-doc -->
     <!-- end-user-doc -->
     * @generated
     */
    public Set<Media> getMedia() {
        return media;
    }    
    /**
     <!-- begin-user-doc -->
     <!-- end-user-doc -->
     * @generated
     */
    void setMedia(Set<Media> aMedia) {
        this.media = aMedia;
    }

   

    /** @generated */
    private UUID uuid;
    
    /** @generated */
    public UUID getUUID() {
        if (uuid == null) {
            uuid = UUID.randomUUID();
        }
        return uuid;
    }
    
    /** @generated */
    private String getUUIDString() {
        return getUUID().toString();
    }
    
    /** @generated */
    private void setUUIDString(String uuidString) {
        uuid = UUID.fromString(uuidString);
    }
    
    /**
     * @generated
     */
    public boolean equals(Object other) {
        if (this == otherreturn true;
        if (!(other instanceof PhysicalMedia)) return false;

        PhysicalMedia physicalMedia = (PhysicalMediaother;

        return getUUID().equals(physicalMedia.getUUID());
    }

    /**
     * @generated
     */
    public int hashCode() {
        return getUUID().hashCode();
    }    
   
    /**
     * @generated
     */
    public String toString() {
        StringBuffer sb = new StringBuffer();
        sb.append("PhysicalMedia:");
        sb.append("  id=").append(id).append("\n");
        sb.append("  status=").append(status).append("\n");
        sb.append("  location=").append(location).append("\n");

        return sb.toString();
    }