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

com.recombee.api_client.api_requests.AddUserProperty Maven / Gradle / Ivy

There is a newer version: 4.1.5
Show newest version
package com.recombee.api_client.api_requests;

/*
 This file is auto-generated, do not edit
*/

import java.util.Date;
import java.util.Map;
import java.util.HashMap;

import com.recombee.api_client.util.HTTPMethod;

/**
 * Adding an user property is somehow equivalent to adding a column to the table of users. The users may be characterized by various properties of different types.
 */
public class AddUserProperty extends Request {

    /**
     * Name of the user property to be created. Currently, the following names are reserved:`id`, `userid`, case insensitively. Also, the length of the property name must not exceed 63 characters.
     */
    protected String propertyName;
    /**
     * Value type of the user property to be created. One of: `int`, `double`, `string`, `boolean`, `timestamp`, `set`
     */
    protected String type;

    /**
     * Construct the request
     * @param propertyName Name of the user property to be created. Currently, the following names are reserved:`id`, `userid`, case insensitively. Also, the length of the property name must not exceed 63 characters.
     * @param type Value type of the user property to be created. One of: `int`, `double`, `string`, `boolean`, `timestamp`, `set`
     */
    public AddUserProperty (String propertyName,String type) {
        this.propertyName = propertyName;
        this.type = type;
        this.timeout = 1000;
    }


    public String getPropertyName() {
         return this.propertyName;
    }

    public String getType() {
         return this.type;
    }

    /**
     * @return Used HTTP method
     */
    @Override
    public HTTPMethod getHTTPMethod() {
        return HTTPMethod.PUT;
    }

    /**
     * @return URI to the endpoint including path parameters
     */
    @Override
    public String getPath() {
        return String.format("/users/properties/%s", this.propertyName);
    }

    /**
     * Get query parameters
     * @return Values of query parameters (name of parameter: value of the parameter)
     */
    @Override
    public Map getQueryParameters() {
        HashMap params = new HashMap();
        params.put("type", this.type.toString());
        return params;
    }

    /**
     * Get body parameters
     * @return Values of body parameters (name of parameter: value of the parameter)
     */
    @Override
    public Map getBodyParameters() {
        HashMap params = new HashMap();
        return params;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy