
nl.tno.bim.nmd.domain.NmdProductCard Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bimnmdservice Show documentation
Show all versions of bimnmdservice Show documentation
provides a REST api for retrieving nmd data from various data sources
The newest version!
package nl.tno.bim.nmd.domain;
import java.util.Collection;
import java.util.Optional;
import java.util.Set;
import com.fasterxml.jackson.annotation.JsonIgnore;
import nl.tno.bim.nmd.scaling.NmdScaler;
/**
* Storage container to contain the lifecycle coefficients to do the MPG
* calculations. A single instance of this interface can return 1 to n materials
* linked to it. For isntance: a brick wall MaterialsSpecifications instance
* might have individual MaterialSpecification objects for Brick, Mortar and
* Cementing. While the materials have individual envronmental factors it is
* assumed that they are transported and replaced in a single action
*
* @author vijj
*
*/
public interface NmdProductCard {
String getDescription();
Set getProfileSets();
Optional getProfileSetByName(String description);
void addProfileSet(NmdProfileSet spec);
void addProfileSets(Collection specs);
NlsfbCode getNlsfbCode();
String getUnit();
Integer getCategory();
Integer getLifetime();
Integer getParentProductId();
Integer getProductId();
@JsonIgnore
Double getProfileSetsCoeficientSum();
/**
* Returns a scaler if profileset id matches a contained profileset with a scaler
* or if a scaler is cuopled to the product card
* @param psId ProfileSet identifier
* @return A NMDScaler object for the queries profileset.
*/
NmdScaler getScalerForProfileSet(Integer psId);
/**
* performs any checks that would remove the need for product card scaling here.
* @return flag to indicate that theproduct needs to be scaled.
*/
boolean requiresScaling();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy