/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License. See License.txt in the project root for
 * license information.
 *
 * Code generated by Microsoft (R) AutoRest Code Generator.
 */

package com.microsoft.azure.applicationinsights.query.models;

import java.util.Collection;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.microsoft.rest.ExpandableStringEnum;

/**
 * Defines values for EventType.
 */
public final class EventType extends ExpandableStringEnum<EventType> {
    /** Static value $all for EventType. */
    public static final EventType ALL = fromString("$all");

    /** Static value traces for EventType. */
    public static final EventType TRACES = fromString("traces");

    /** Static value customEvents for EventType. */
    public static final EventType CUSTOM_EVENTS = fromString("customEvents");

    /** Static value pageViews for EventType. */
    public static final EventType PAGE_VIEWS = fromString("pageViews");

    /** Static value browserTimings for EventType. */
    public static final EventType BROWSER_TIMINGS = fromString("browserTimings");

    /** Static value requests for EventType. */
    public static final EventType REQUESTS = fromString("requests");

    /** Static value dependencies for EventType. */
    public static final EventType DEPENDENCIES = fromString("dependencies");

    /** Static value exceptions for EventType. */
    public static final EventType EXCEPTIONS = fromString("exceptions");

    /** Static value availabilityResults for EventType. */
    public static final EventType AVAILABILITY_RESULTS = fromString("availabilityResults");

    /** Static value performanceCounters for EventType. */
    public static final EventType PERFORMANCE_COUNTERS = fromString("performanceCounters");

    /** Static value customMetrics for EventType. */
    public static final EventType CUSTOM_METRICS = fromString("customMetrics");

    /**
     * Creates or finds a EventType from its string representation.
     * @param name a name to look for
     * @return the corresponding EventType
     */
    @JsonCreator
    public static EventType fromString(String name) {
        return fromString(name, EventType.class);
    }

    /**
     * @return known EventType values
     */
    public static Collection<EventType> values() {
        return values(EventType.class);
    }
}
