org.automagic.deps.doctor.TransitiveDepsGroup.java Source code

Java tutorial

Introduction

Here is the source code for org.automagic.deps.doctor.TransitiveDepsGroup.java

Source

/*
 * Copyright 2015 Jose Carrizo
 * Licensed under the Apache License, Version 2.0 
 * See accompanying file LICENSE or get a copy at http://www.apache.org/licenses/LICENSE-2.0
 */
package org.automagic.deps.doctor;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import com.google.common.base.Optional;

public class TransitiveDepsGroup {

    private final List<TransitiveDependency> dependencies;

    private Optional<TransitiveDependency> topLevelDependency;

    public TransitiveDepsGroup() {
        dependencies = new ArrayList<>();
        topLevelDependency = Optional.absent();
    }

    public List<TransitiveDependency> getDependencies() {
        return Collections.unmodifiableList(dependencies);
    }

    public void add(TransitiveDependency dependency) {
        if (dependency.getHopCount() == 1) {
            topLevelDependency = Optional.of(dependency);
        }
        dependencies.add(dependency);
    }

    public Optional<TransitiveDependency> getTopLevelDependency() {
        return topLevelDependency;
    }

    public String getGroupId() {
        return dependencies.get(0).getArtifact().getGroupId();
    }

    public String getArtifactId() {
        return dependencies.get(0).getArtifact().getArtifactId();
    }

}