Skip to content

Instantly share code, notes, and snippets.

@thaniaclair
Last active December 17, 2015 05:49
Show Gist options
  • Select an option

  • Save thaniaclair/5561284 to your computer and use it in GitHub Desktop.

Select an option

Save thaniaclair/5561284 to your computer and use it in GitHub Desktop.
Componentes para temas.
import java.util.ArrayList;
import java.util.List;
/**
* <P>Componente de {@link Tema}.</P>
* @author thania
* @since 2013-04-26
*/
public abstract class TemaComponent {
/** Serviço para {@link TemaComponent}. */
private TemaComponentService service;
/** Modelo para {@link TemaComponent}. */
private TemaComponentModel model;
/**
* Construtor.
* @param service {@link TemaComponentService}.
*/
public TemaComponent(TemaComponentService service) {
this.service = service;
reset();
}
/**
* Limpa o {@link TemaComponentModel} e carrega os {@link Cliente}s.
*/
public void reset() {
this.model = new TemaComponentModel();
loadClientes();
}
/**
* Carrega todos os {@link Cliente}s que possuem {@link Tema}s.
*/
public void loadClientes() {
model.setClientes(service.findClientesWithTemas());
}
/**
* Carrega todos os {@link Tema}s.
*/
public void loadTemas() {
List<Tema> temas = new ArrayList<Tema>();
if (isMultipleClientes()) {
List<Cliente> clientes = model.getSelectedClientes();
if (clientes != null && !clientes.isEmpty()) {
temas = service.findByClientes(clientes);
}
} else {
Cliente cliente = model.getSelectedCliente();
if (cliente != null) {
temas = service.findByCliente(cliente);
}
}
model.setTemas(temas);
}
/**
* Seleciona todos os {@link Tema}s.
*/
public void checkAllTemas() {
if (model.isCheckAllTemas()) {
List<Tema> temas = model.getTemas();
model.setSelectedTemas(temas);
} else {
model.setSelectedTemas(null);
}
}
public void setSelectedTemas(List<Tema> temas) {
model.setSelectedTemas(temas);
}
public void setSelectedCliente(Cliente cliente) {
model.setSelectedCliente(cliente);
}
public void setSelectedClientes(List<Cliente> clientes) {
model.setSelectedClientes(clientes);
}
public TemaComponentModel getModel() {
return model;
}
public void setModel(TemaComponentModel model) {
this.model = model;
}
public TemaComponentService getService() {
return service;
}
public void setService(TemaComponentService service) {
this.service = service;
}
public Cliente getSelectedCliente() {
return model.getSelectedCliente();
}
public List<Cliente> getSelectedClientes() {
return model.getSelectedClientes();
}
public List<Tema> getSelectedTemas() {
return model.getSelectedTemas();
}
public List<Cliente> getClientes() {
return model.getClientes();
}
public List<Tema> getTemas() {
return model.getTemas();
}
public boolean isMultipleClientes() {
return model.isMultipleClientes();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment