| package net.onrc.onos.core.newintent; |
| |
| import com.google.common.collect.ImmutableList; |
| import net.onrc.onos.api.newintent.InstallableIntent; |
| |
| import java.util.ArrayList; |
| import java.util.List; |
| |
| import static com.google.common.base.Preconditions.checkArgument; |
| import static com.google.common.base.Preconditions.checkNotNull; |
| |
| /** |
| * A class representing a result of intent compilation. |
| */ |
| public class IntentCompilationResult { |
| private final List<InstallableIntent> result; |
| |
| /** |
| * Constructs an instance containing the specified list of installable intents. |
| * |
| * @param result installable intents |
| */ |
| public IntentCompilationResult(List<InstallableIntent> result) { |
| checkNotNull(result); |
| checkArgument(result.size() > 0, |
| "result of intent compilation should be " + |
| "at least one installable intent, but %s", result.size()); |
| |
| this.result = new ArrayList<>(checkNotNull(result)); |
| } |
| |
| /** |
| * Constructor for serializer. |
| */ |
| protected IntentCompilationResult() { |
| this.result = null; |
| } |
| |
| /** |
| * Returns list of installable intents that this object contains. |
| * |
| * @return installable intents |
| */ |
| public List<InstallableIntent> getResult() { |
| return ImmutableList.copyOf(result); |
| } |
| } |