fr.ird.observe.client.spi.context.DtoUIContext Maven / Gradle / Ivy
package fr.ird.observe.client.spi.context;
/*-
* #%L
* ObServe Toolkit :: Common Client
* %%
* Copyright (C) 2008 - 2017 IRD, Ultreia.io
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* .
* #L%
*/
import fr.ird.observe.client.spi.ClientDataContext;
import fr.ird.observe.dto.IdDto;
import fr.ird.observe.spi.context.IdDtoContext;
import io.ultreia.java4all.lang.SingletonSupplier;
import java.util.Objects;
/**
* Created by tchemit on 28/09/17.
*
* @author Tony Chemit - [email protected]
*/
public abstract class DtoUIContext {
private final DtoUIContext parent;
private final IdDtoContext dtoContext;
private final SingletonSupplier dataContext;
public abstract String getSelectedId();
public abstract void setSelectedId(String id);
public boolean isOpen() {
return false;
}
public String getOpenId() {
return null;
}
DtoUIContext(SingletonSupplier dataContext, DtoUIContext parent, IdDtoContext dtoContext) {
this.parent = parent;
this.dtoContext = dtoContext;
this.dataContext = dataContext;
}
public final Class getType() {
return dtoContext.toDtoType();
}
public final Class> getReferenceType() {
return dtoContext.toReferenceType();
}
public final DtoUIContext getParent() {
return parent;
}
public final ClientDataContext getDataContext() {
return dataContext.get();
}
public IdDtoContext dtoContext() {
return dtoContext;
}
public final boolean isSelected(String id) {
return Objects.equals(id, getSelectedId());
}
public abstract boolean isOpen(String id);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy