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

com.genability.client.api.service.PropertyService Maven / Gradle / Ivy

package com.genability.client.api.service;

import com.fasterxml.jackson.core.type.TypeReference;
import com.genability.client.api.request.GetPropertyKeyRequest;
import com.genability.client.api.request.GetPropertyKeysRequest;
import com.genability.client.api.request.GetPropertyLookupsRequest;
import com.genability.client.types.PropertyKey;
import com.genability.client.types.PropertyLookup;
import com.genability.client.types.PropertyLookupStats;
import com.genability.client.types.Response;

public class PropertyService extends BaseService {

	private static final TypeReference> PROPERTY_RESPONSE_TYPEREF = new TypeReference>() {};
	
	private static final TypeReference> PROPERTY_LOOKUP_RESPONSE_TYPEREF = new TypeReference>() {};
	
	private static final TypeReference> PROPERTY_LOOKUP_STATS_RESPONSE_TYPEREF = new TypeReference>() {};

	
	public Response getPropertyKey(GetPropertyKeyRequest request) {
		
		if(log.isDebugEnabled()) log.debug("getPropertyKey called");

		String uri = "public/properties";
		if (request.getKeyName() != null && request.getKeyName().length() !=0) {
			uri += "/" + request.getKeyName();
		}
		Response response = this.callGet(uri,request.getQueryParams(),PROPERTY_RESPONSE_TYPEREF);
		
		if(log.isDebugEnabled()) log.debug("getPropertyKey completed");
		
		return response;
		
	}

	public Response getPropertyKeys(GetPropertyKeysRequest request) {
		
		if(log.isDebugEnabled()) log.debug("getPropertyKeys called");

		String uri = "public/properties";

		Response response = this.callGet(uri,request.getQueryParams(),PROPERTY_RESPONSE_TYPEREF);
		
		if(log.isDebugEnabled()) log.debug("getPropertyKeys completed");
		
		return response;
	}

	public Response getPropertyLookups(GetPropertyLookupsRequest request) {
		
		if(log.isDebugEnabled()) log.debug("getPropertyLookups called");

		String uri = "public/properties/lookups";

		Response response = this.callGet(uri,request.getQueryParams(),PROPERTY_LOOKUP_RESPONSE_TYPEREF);
		
		if(log.isDebugEnabled()) log.debug("getPropertyLookups completed");
		
		return response;
	}

	public Response getPropertyStats(String propertyKeyName) {
		
		if(log.isDebugEnabled()) log.debug("getPropertyStats called");

		String uri = "public/properties";
		if (propertyKeyName != null && propertyKeyName.length() !=0) {
			uri += "/" + propertyKeyName + "/stats";
		}

		Response response = this.callGet(uri,null,PROPERTY_LOOKUP_STATS_RESPONSE_TYPEREF);
		
		if(log.isDebugEnabled()) log.debug("getPropertyStats completed");
		
		return response;
	}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy