tech.kronicle.componentmetadata.models.ComponentMetadata Maven / Gradle / Ivy
package tech.kronicle.componentmetadata.models;
import tech.kronicle.sdk.models.Area;
import tech.kronicle.sdk.models.Component;
import tech.kronicle.sdk.models.ComponentType;
import tech.kronicle.sdk.models.ObjectWithReference;
import tech.kronicle.sdk.models.Platform;
import tech.kronicle.sdk.models.Team;
import lombok.Builder;
import lombok.Value;
import lombok.With;
import lombok.extern.jackson.Jacksonized;
import javax.validation.Valid;
import java.util.List;
import static tech.kronicle.sdk.utils.ListUtils.createUnmodifiableList;
@Value
@With
@Builder(toBuilder = true)
@Jacksonized
public class ComponentMetadata implements ObjectWithReference {
List<@Valid ComponentType> componentTypes;
List<@Valid Platform> platforms;
List<@Valid Area> areas;
List<@Valid Team> teams;
List<@Valid Component> components;
public ComponentMetadata(List componentTypes, List platforms, List areas, List teams, List components) {
this.componentTypes = createUnmodifiableList(componentTypes);
this.platforms = createUnmodifiableList(platforms);
this.areas = createUnmodifiableList(areas);
this.teams = createUnmodifiableList(teams);
this.components = createUnmodifiableList(components);
}
@Override
public String reference() {
return "component-metadata";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy