/*******************************************************************************
* Copyright (c) 1998, 2015 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 v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Oracle - initial API and implementation from Oracle TopLink
******************************************************************************/
package org.eclipse.persistence.testing.models.jpa.lob;
import java.io.Serializable;
import javax.persistence.*;
import org.eclipse.persistence.annotations.SerializedConverter;
import org.eclipse.persistence.annotations.SerializedConverters;
import org.eclipse.persistence.sessions.serializers.JSONSerializer;
import org.eclipse.persistence.sessions.serializers.XMLSerializer;
/**
* Model class used to test Lobs and Lazy Basics.
*/
@Entity
@Table(name="CMP3_IMAGE")
@SecondaryTable(name="CMP3_CLIP")
@PrimaryKeyJoinColumn(name="ID", referencedColumnName="ID")
@SerializedConverter(name="json2", serializerClass=JSONSerializer.class, serializerPackage="org.eclipse.persistence.testing.models.jpa.lob")
public class Image implements Serializable {
private int id;
private byte[] audio;
private char[] commentary;
private Byte[] picture;
private String script;
private SerializableNonEntity customAttribute1;
private SerializableNonEntity customAttribute2;
private SerializableNonEntity xml1;
private SerializableNonEntity json1;
private SerializableNonEntity xml2;
private SerializableNonEntity json2;
@org.eclipse.persistence.annotations.Convert("xml2")
@SerializedConverters({
@SerializedConverter(name="xml2", serializerClass=XMLSerializer.class, serializerPackage="org.eclipse.persistence.testing.models.jpa.lob")
})
public SerializableNonEntity getXml2() {
return xml2;
}
public void setXml2(SerializableNonEntity xml2) {
this.xml2 = xml2;
}
@org.eclipse.persistence.annotations.Convert("json2")
public SerializableNonEntity getJson2() {
return json2;
}
public void setJson2(SerializableNonEntity json2) {
this.json2 = json2;
}
@org.eclipse.persistence.annotations.Convert(org.eclipse.persistence.annotations.Convert.XML)
public SerializableNonEntity getXml1() {
return xml1;
}
public void setXml1(SerializableNonEntity xml) {
this.xml1 = xml;
}
@org.eclipse.persistence.annotations.Convert(org.eclipse.persistence.annotations.Convert.JSON)
public SerializableNonEntity getJson1() {
return json1;
}
public void setJson1(SerializableNonEntity json) {
this.json1 = json;
}
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
@Lob
@Column(table="CMP3_CLIP", length=4800)
@Basic(fetch=FetchType.LAZY)
public byte[] getAudio(){
return audio;
}
@Lob
@Column(table="CMP3_CLIP", length=4500)
public char[] getCommentary() {
return commentary;
}
@Lob
@Basic(fetch=FetchType.LAZY)
public SerializableNonEntity getCustomAttribute1() {
return customAttribute1;
}
public SerializableNonEntity getCustomAttribute2() {
return customAttribute2;
}
@Id
public int getId(){
return id;
}
@Lob
@Column(length=4800)
public Byte[] getPicture(){
return picture;
}
@Lob
@Column(length=4500)
public String getScript() {
return script;
}
public void setAudio(byte[] audio) {
this.audio = audio;
}
public void setCommentary(char[] commentary) {
this.commentary = commentary;
}
public void setCustomAttribute1(SerializableNonEntity customAttribute) {
this.customAttribute1= customAttribute;
}
public void setCustomAttribute2(SerializableNonEntity customAttribute) {
this.customAttribute2=customAttribute;
}
public void setId(int id) {
this.id = id;
}
public void setPicture(Byte[] picture) {
this.picture = picture;
}
public void setScript(String script) {
this.script = script;
}
}