fr.ird.observe.client.spi.context.OpenableDtoUIContext 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.client.spi.OpenDtoManager;
import fr.ird.observe.client.tree.navigation.nodes.NavigationTreeNodeSupport;
import fr.ird.observe.dto.data.DataDto;
import fr.ird.observe.dto.reference.DataDtoReference;
import fr.ird.observe.spi.context.DataDtoContext;
import fr.ird.observe.spi.context.DataFormContext;
import io.ultreia.java4all.lang.SingletonSupplier;
import java.util.List;
/**
* Created by tchemit on 28/09/17.
*
* @author Tony Chemit - [email protected]
*/
public abstract class OpenableDtoUIContext> extends DataDtoUIContext {
private final String openProperty;
private final SingletonSupplier openDataManager;
public abstract boolean canOpen(String id);
public abstract boolean isOpen(String id);
public abstract void close(String id);
public abstract void open(String parentId, String id);
public abstract boolean computeCanGotoOpen(List extends DataDtoReference> data);
public abstract boolean computeCanClose(List extends DataDtoReference> data);
public abstract NavigationTreeNodeSupport> getOpenNode();
@Override
public abstract boolean isOpen();
@Override
public abstract String getOpenId();
public abstract void setOpenId(ClientDataContext dataContext, String id);
protected OpenableDtoUIContext(SingletonSupplier dataContext, SingletonSupplier openDataManager, DtoUIContext parent, DataDtoContext dtoContext, DataFormContext formContext, String openProperty) {
super(dataContext, parent, dtoContext, formContext);
this.openProperty = openProperty;
this.openDataManager = openDataManager;
}
public OpenDtoManager getOpenDataManager() {
return openDataManager.get();
}
public String getOpenProperty() {
return openProperty;
}
public boolean canOpen() {
return openProperty != null;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy