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

net.java.dev.vcc.api.CapabilityProfile Maven / Gradle / Ivy

Go to download

The API for control of virtual computers running on a virtual computer host

The newest version!
package net.java.dev.vcc.api;

import java.util.Set;

/**
 * Describes the capabilities of a {@link net.java.dev.vcc.api.Datacenter}.
 */
public interface CapabilityProfile {
    /**
     * Returns the types of {@link Command} that are supported against a specific type of
     * {@link net.java.dev.vcc.api.ManagedObject}.
     *
     * @param managedObjectClass The type of {@link net.java.dev.vcc.api.ManagedObject}.
     * @return The types of {@link net.java.dev.vcc.api.Command} that are supported on the
     *         {@link net.java.dev.vcc.api.ManagedObject}
     */
    Set> getCommands(Class managedObjectClass);

    /**
     * Returns the types of {@link net.java.dev.vcc.api.ManagedObject} that are available.
     *
     * @return the types of {@link net.java.dev.vcc.api.ManagedObject} that are available.
     */
    Set> getObjectClasses();

    /**
     * Returns {@code true} if this {@link net.java.dev.vcc.api.CapabilityProfile} supports a superset of the
     * supplied {@link net.java.dev.vcc.api.CapabilityProfile}.
     *
     * @param that The {@link net.java.dev.vcc.api.CapabilityProfile} which might be a subset of this.
     * @return {@code true} if this {@link net.java.dev.vcc.api.CapabilityProfile} supports a superset of the
     *         supplied {@link net.java.dev.vcc.api.CapabilityProfile}.
     */
    boolean supports(CapabilityProfile that);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy