package com.farata.java_test.dto;
import java.io.Serializable;
import java.util.List;
import flex.messaging.util.UUIDUtils;
import clear.data.IUID;
import com.farata.dto2extjs.annotations.*;
import com.farata.dto2extjs.annotations.JSOneToMany.SyncType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@JSClass(ignoreSuperclasses = { IUID.class })
public class CompanyDTO implements Serializable, IUID {
private static final long serialVersionUID = 1L;
private String uid;
private Long id;
private String company;
private List<AssociateDTO> associates;
@Id
@GeneratedValue
@JSKeyColumn
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
@JSOneToMany(
storeType = "com.farata.java_test.collections.AssociateCollection",
fillArguments = "id",
sync = SyncType.BATCH
)
public List<AssociateDTO> getAssociates() {
return associates;
}
public void setAssociates(List<AssociateDTO> associates) {
this.associates = associates;
}
/**
* Obligatory implementation of IUID
*/
@JSIgnore
public String getUid() {
if (uid == null) {
uid = "" + id;
if (uid.equals(""))
uid = UUIDUtils.createUUID(false);
}
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
/*
* Business domain properties
*/
/**
* Optional, just to simplify debugging output
*/
public String toString() {
return "CompanyDTO{id:" + id + ",company:'" + company + "'}";
}
}