-
Notifications
You must be signed in to change notification settings - Fork 5
/
InputContainer.java
34 lines (28 loc) · 1.08 KB
/
InputContainer.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
* © 2021. TU Dortmund University,
* Institute of Energy Systems, Energy Efficiency and Energy Economics,
* Research group Distribution grid planning and operation
*/
package edu.ie3.datamodel.models.input.container;
import edu.ie3.datamodel.exceptions.ValidationException;
import edu.ie3.datamodel.models.input.InputEntity;
import java.io.Serializable;
import java.util.List;
/** Represents an aggregation of different entities */
public interface InputContainer<T extends InputEntity> extends Serializable {
/** @return unmodifiable List of all entities */
List<T> allEntitiesAsList();
/** Returns an input container copy builder */
InputContainerCopyBuilder<? extends InputContainer<T>> copy();
/**
* Abstract class for all builder that build child containers of interface {@link
* edu.ie3.datamodel.models.input.container.InputContainer}
*
* @version 3.1
* @since 14.02.23
*/
interface InputContainerCopyBuilder<C extends InputContainer<?>> {
/** Returns the altered {@link InputContainer} of type {@link C} */
C build() throws ValidationException;
}
}