/** * Possible values of CriteriaType */ export enum CriteriaType { TYPE_STRING = 'S', TYPE_DATE = 'D', TYPE_NUMBER = 'N', } /** * Interface: return of method "buildParam" of CriteriaParameter class */ export interface InputCriteria { type: CriteriaType; value: any; } /** * CriteriaParameter: */ export class CriteriaParameter { //Internal Properties //================================================================ private _type: CriteriaType; private _value: any; //Constructor //================================================================ constructor(type: CriteriaType, value: any) { this._type = type; this._value = value; } //Getters and Setters //================================================================ /** * @ngdoc * @Getter_______________ * @name sankhyalabs.core.src:CriteriaParameter#value * @methodOf sankhyalabs.core.src:CriteriaProvider * @description Setter para "value". Trata-se do valor do Parâmetro. * @param {any} [value] Valor do Parâmetro. * @returns {void} */ public set value(value: any) { this._value = value; } /** * @ngdoc * @Setter_______________ * @name sankhyalabs.core.src:CriteriaParameter#value * @methodOf sankhyalabs.core.src:CriteriaProvider * @description Getter para "value". Trata-se do valor do Parâmetro. * @returns {any} Retorna valor do Parâmetro da classe Criteria */ public get value(): any { return this._value; } /** * @ngdoc * @Getter_______________ * @name sankhyalabs.core.src:CriteriaParameter#type * @methodOf sankhyalabs.core.src:CriteriaProvider * @description Setter para "type". Trata-se do tipo do valor do Parâmetro. * @param {CriteriaType} [type] Tipo do valor do Parâmetro. * @returns {void} */ public set type(type: CriteriaType) { this._type = type; } /** * @ngdoc * @Setter_______________ * @name sankhyalabs.core.src:CriteriaParameter#type * @methodOf sankhyalabs.core.src:CriteriaProvider * @description Getter para "type". Trata-se do valor do Parâmetro. * @returns {CriteriaType} Retorna o tipo do Parâmetro da classe Criteria */ public get type(): CriteriaType { return this._type; } /** * @sankhyalabscore * @name sankhyalabs.core.src:CriteriaParameter#buildParam * @methodOf sankhyalabscore src.utils.CriteriaParameter * @description Cria um JSON/Objeto de acordo com as propriedades internas "value" e "type" da classe CriteriaParameter * @returns {InputCriteria} Retorna JSON/Objeto no formato InputCriteria. */ public buildParam = (): InputCriteria => { const paramObj = { type: this._type, value: this._value, } return paramObj; } }