Package com.abiquo.hypervisor.util

Source Code of com.abiquo.hypervisor.util.HypervisorMonitorUtils

/**
* Copyright (C) 2008 - Abiquo Holdings S.L. All rights reserved.
*
* Please see /opt/abiquo/tomcat/webapps/legal/ on Abiquo server
* or contact contact@abiquo.com for licensing information.
*/
package com.abiquo.hypervisor.util;

import static com.abiquo.hypervisor.model.enumerator.VirtualMachineEvent.CREATED;
import static com.abiquo.hypervisor.model.enumerator.VirtualMachineEvent.POSSIBLE_DESTROY;
import static com.abiquo.hypervisor.model.enumerator.VirtualMachineEvent.DESTROYED;
import static com.abiquo.hypervisor.model.enumerator.VirtualMachineEvent.UNKNOWN;

import com.abiquo.hypervisor.model.State;
import com.abiquo.hypervisor.model.VirtualMachineIdentifier;
import com.abiquo.hypervisor.model.VirtualMachineStateChange;
import com.abiquo.hypervisor.model.enumerator.VirtualMachineEvent;
import com.google.common.base.Function;

public class HypervisorMonitorUtils
{
    /**
     * Given a {@link VirtualMachineIdentifier}, returns the String
     * {@link VirtualMachineIdentifier#getName()}
     */
    public static final Function<VirtualMachineIdentifier, String> ExtractIdentifierName =
        new Function<VirtualMachineIdentifier, String>()
        {
            @Override
            public String apply(final VirtualMachineIdentifier identifier)
            {
                return identifier.getName();
            }
        };

    /**
     * Given a virtual machine name, returns a {@link VirtualMachineStateChange} based on the
     * provided name and with the {@link VirtualMachineEvent#CREATED} event
     */
    public static final Function<String, VirtualMachineStateChange> CreatedStateChange =
        new Function<String, VirtualMachineStateChange>()
        {
            @Override
            public VirtualMachineStateChange apply(final String virtualMachine)
            {
                return newVirtualMachineStateChange(virtualMachine, CREATED);
            }
        };

    /**
     * Given a virtual machine name, returns a {@link VirtualMachineStateChange} based on the
     * provided name and with the {@link VirtualMachineEvent#DESTROYED} event
     */
    public static final Function<String, VirtualMachineStateChange> DestroyedStateChange =
        new Function<String, VirtualMachineStateChange>()
        {
            @Override
            public VirtualMachineStateChange apply(final String virtualMachine)
            {
                return newVirtualMachineStateChange(virtualMachine, DESTROYED);
            }
        };

    public static final Function<String, VirtualMachineStateChange> PossibleDestroyStateChange =
        new Function<String, VirtualMachineStateChange>()
        {
            @Override
            public VirtualMachineStateChange apply(final String virtualMachine)
            {
                return newVirtualMachineStateChange(virtualMachine, POSSIBLE_DESTROY);
            }
        };

    /**
     * Given a virtual machine name, returns a {@link VirtualMachineStateChange} based on the
     * provided name and with the {@link VirtualMachineEvent#UNKNOWN} event
     */
    public static final Function<String, VirtualMachineStateChange> UnknownStateChange =
        new Function<String, VirtualMachineStateChange>()
        {
            @Override
            public VirtualMachineStateChange apply(final String virtualMachine)
            {
                return newVirtualMachineStateChange(virtualMachine, UNKNOWN);
            }
        };

    public static VirtualMachineStateChange newVirtualMachineStateChange(
        final String virtualMachine, final State state)
    {
        return newVirtualMachineStateChange(virtualMachine, VirtualMachineEvent.from(state));
    }

    public static VirtualMachineStateChange newVirtualMachineStateChange(
        final String virtualMachine, final VirtualMachineEvent event)
    {
        return new VirtualMachineStateChange(new VirtualMachineIdentifier(virtualMachine), event);
    }
}
TOP

Related Classes of com.abiquo.hypervisor.util.HypervisorMonitorUtils

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.