All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.meridor.stecker.impl.PluginMetadataContainer Maven / Gradle / Ivy

Go to download

This is a plugin loading library. Its main purpose is to load extension point implementations from provided plugins.

There is a newer version: 1.0.2
Show newest version
package org.meridor.stecker.impl;

import org.meridor.stecker.PluginMetadata;
import org.meridor.stecker.interfaces.Dependency;

import java.nio.file.Path;
import java.time.ZonedDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

public class PluginMetadataContainer implements PluginMetadata {

    private final String name;

    private final String version;

    private final Path filePath;
    private final List depends = new ArrayList<>();
    private final List conflicts = new ArrayList<>();
    private Optional date;
    private String description;
    private String maintainer;
    private Dependency provides;

    public PluginMetadataContainer(String name, String version, Path filePath) {
        this.name = name;
        this.version = version;
        this.filePath = filePath;
    }

    @Override
    public String getName() {
        return name;
    }

    @Override
    public String getVersion() {
        return version;
    }

    @Override
    public Path getPath() {
        return filePath;
    }

    @Override
    public Dependency getDependency() {
        return new DependencyContainer(getName(), getVersion());
    }

    @Override
    public Optional getDate() {
        return date;
    }

    public void setDate(Optional date) {
        this.date = date;
    }

    @Override
    public Optional getDescription() {
        return Optional.ofNullable(description);
    }

    public void setDescription(String description) {
        this.description = description;
    }

    @Override
    public Optional getMaintainer() {
        return Optional.ofNullable(maintainer);
    }

    public void setMaintainer(String maintainer) {
        this.maintainer = maintainer;
    }

    @Override
    public List getRequiredDependencies() {
        return depends;
    }

    @Override
    public List getConflictingDependencies() {
        return conflicts;
    }

    @Override
    public Optional getProvidedDependency() {
        return Optional.ofNullable(provides);
    }

    public void setProvidedDependency(Dependency provides) {
        this.provides = provides;
    }

    public void addRequiredDependencies(List dependencies) {
        this.depends.addAll(dependencies);
    }

    public void addConflictingDependencies(List dependencies) {
        this.conflicts.addAll(dependencies);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy