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

org.teamapps.dto.UiVisibilityRule Maven / Gradle / Ivy

There is a newer version: 0.9.194
Show newest version
package org.teamapps.dto;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.function.Supplier;
import java.util.stream.Collectors;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonTypeIdResolver;

/**
 * THIS IS GENERATED CODE!
 * PLEASE DO NOT MODIFY - ALL YOUR WORK WOULD BE LOST!
 */
@JsonTypeInfo(use = JsonTypeInfo.Id.CUSTOM, property = "_type")
@JsonTypeIdResolver(TeamAppsJacksonTypeIdResolver.class)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class UiVisibilityRule extends UiMatcherRule implements UiObject {

	public enum ActionType {
		SHOW_ON_MATCH, HIDE_ON_MATCH, SHOW_ON_MATCH_AND_HIDE_IF_NO_MATCH;

		@com.fasterxml.jackson.annotation.JsonValue
		public int jsonValue() {
			return ordinal();
		}
	}

	protected ActionType actionType;
	protected List propertyNames;
	protected List fieldGroupIds;

	/**
	 * @deprecated Only for Jackson deserialization. Use the other constructor instead.
	 */
	@Deprecated
	public UiVisibilityRule() {
		// default constructor for Jackson
	}

	public UiVisibilityRule(List valueMatcher, ActionType actionType) {
		super(valueMatcher);
		this.actionType = actionType;
	}

	@com.fasterxml.jackson.annotation.JsonIgnore
	public UiObjectType getUiObjectType() {
		return UiObjectType.UI_VISIBILITY_RULE;
	}

	@SuppressWarnings("unchecked")
	public String toString() {
		return new StringBuilder(getClass().getSimpleName()).append(": ")
				.append("fieldGroupIds=" + fieldGroupIds).append(", ")
				.append("propertyNames=" + propertyNames).append(", ")
				.append("executeRuleIfAnyMatcherMatches=" + executeRuleIfAnyMatcherMatches).append(", ")
				.append("actionType=" + actionType).append(", ")
				.append(valueMatcher != null ? "valueMatcher={" + valueMatcher.toString() + "}" : "")
				.toString();
	}

	@com.fasterxml.jackson.annotation.JsonGetter("actionType")
	public ActionType getActionType() {
		return actionType;
	}

	@com.fasterxml.jackson.annotation.JsonGetter("propertyNames")
	public List getPropertyNames() {
		return propertyNames;
	}

	@com.fasterxml.jackson.annotation.JsonGetter("fieldGroupIds")
	public List getFieldGroupIds() {
		return fieldGroupIds;
	}

	@com.fasterxml.jackson.annotation.JsonSetter("executeRuleIfAnyMatcherMatches")
	public UiVisibilityRule setExecuteRuleIfAnyMatcherMatches(boolean executeRuleIfAnyMatcherMatches) {
		this.executeRuleIfAnyMatcherMatches = executeRuleIfAnyMatcherMatches;
		return this;
	}

	@com.fasterxml.jackson.annotation.JsonSetter("propertyNames")
	public UiVisibilityRule setPropertyNames(List propertyNames) {
		this.propertyNames = propertyNames;
		return this;
	}

	@com.fasterxml.jackson.annotation.JsonSetter("fieldGroupIds")
	public UiVisibilityRule setFieldGroupIds(List fieldGroupIds) {
		this.fieldGroupIds = fieldGroupIds;
		return this;
	}






}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy