tsp-output/@azure-tools/typespec-java/src/main/java/com/notificationhubs/models/FcmLegacyInstallation.java
<filename>tsp-output/@azure-tools/typespec-java/src/main/java/com/notificationhubs/models/FcmLegacyInstallation.java// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.notificationhubs.models;

import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeName;
import java.util.List;
import java.util.Map;

/** Represents an FCM Legacy based Azure Notification Hubs Installation. */
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "platform")
@JsonTypeName("gcm")
@Fluent
public final class FcmLegacyInstallation extends Installation {
    /**
     * Creates an instance of FcmLegacyInstallation class.
     *
     * @param tags the tags value to set.
     * @param templates the templates value to set.
     */
    @JsonCreator
    public FcmLegacyInstallation(
            @JsonProperty(value = "tags", required = true) List<String> tags,
            @JsonProperty(value = "templates", required = true) Map<String, String> templates) {
        super(tags, templates);
    }

    /** {@inheritDoc} */
    @Override
    public FcmLegacyInstallation setUserId(String userId) {
        super.setUserId(userId);
        return this;
    }
}
