package com.farata.demo.service; import java.util.List; import com.farata.demo.dto.CompanyAssociateDTO; import com.farata.demo.entity.Company; import com.farata.demo.entity.CompanyAssociate; import clear.cdb.extjs.annotations.JSGenerateStore; import clear.cdb.extjs.annotations.JSJPQLMethod; import clear.cdb.extjs.annotations.JSService; import clear.cdb.extjs.annotations.JSTransferInfo; import clear.cdb.extjs.annotations.JSUpdateInfo; @JSService public interface CompanyService { @JSJPQLMethod(query = "select c from Company c") List<?> getCompaniesEmpty(); @JSJPQLMethod(query = "select c from Company c", transferInfo = @JSTransferInfo(type = "com.farata.demo.dto.CompanyDTO")) List<?> getCompaniesTransferInfoType(); @JSJPQLMethod(query = "select c from Company c", transferInfo = @JSTransferInfo(type = "com.farata.demo.dto.CompanyDTO", mappedBy = Company.class)) List<?> getCompaniesTransferInfoTypeMappedBy(); @JSJPQLMethod(query = "select c from Company c", transferInfo = @JSTransferInfo(type = "com.farata.demo.dto.CompanyDTO", mappedBy = Company.class), updateInfo = @JSUpdateInfo(updateEntity = Company.class)) List<?> getCompaniesTransferInfoTypeUpdateEntity(); @JSJPQLMethod(query = "select c from Company c", transferInfo = @JSTransferInfo(type = "com.farata.demo.dto.CompanyDTO", mappedBy = Company.class), updateInfo = @JSUpdateInfo(updateEntity = Company.class, updatablePropertyNames = "company,pk")) List<?> getCompaniesTransferInfoTypeUpdatablePropertyNames(); @JSJPQLMethod(query = "select c from Company c", transferInfo = @JSTransferInfo(type = "com.farata.demo.dto.CompanyDTO", mappedBy = Company.class), updateInfo = @JSUpdateInfo(updateEntity = Company.class, keyPropertyNames="id")) List<?> getCompaniesTransferInfoTypeKeyPropertyNames(); @JSGenerateStore @JSJPQLMethod(query = "select ca from CompanyAssociate ca", transferInfo = @JSTransferInfo(type = "com.farata.demo.dto.CompanyAssociateDTO", mappedBy = CompanyAssociate.class), updateInfo = @JSUpdateInfo(updateEntity = CompanyAssociate.class)) List<?> getCompanyAssociates(Object companyId); @JSJPQLMethod(query = "select ca from CompanyAssociate ca") List<CompanyAssociateDTO> getCompanyAssociatesListTypeParameterAsDTO(Object companyId); @JSJPQLMethod(query = "select ca from CompanyAssociate ca") List<CompanyAssociate> getCompanyAssociatesListTypeParameterAsEntity(Object companyId); }