public boolean matches()

in commons/src/main/java/com/epam/eco/kafkamanager/TopicSearchCriteriaImpl.java [148:173]


    public boolean matches(TopicInfo obj) {
        Validate.notNull(obj, "Topic Info is null");

        Boolean underReplicated = null;
        if (ReplicationState.FULLY_REPLICATED == replicationState) {
            underReplicated = Boolean.FALSE;
        } else if (ReplicationState.UNDER_REPLICATED == replicationState) {
            underReplicated = Boolean.TRUE;
        }

        return
                (StringUtils.isBlank(topicName) || StringUtils.containsIgnoreCase(obj.getName(), topicName)) &&
                (minPartitionCount == null || obj.getPartitionCount() >= minPartitionCount) &&
                (maxPartitionCount == null || obj.getPartitionCount() <= maxPartitionCount) &&
                (minReplicationFactor == null || obj.getReplicationFactor() >= minReplicationFactor) &&
                (maxReplicationFactor == null || obj.getReplicationFactor() <= maxReplicationFactor) &&
                (minConsumerCount == null || matchesMinConsumerCount(obj)) &&
                (maxConsumerCount == null || matchesMaxConsumerCount(obj)) &&
                (underReplicated == null || obj.hasUnderReplicatedPartitions() == underReplicated) &&
                (
                        StringUtils.isBlank(configString) ||
                        obj.getConfig().entrySet().containsAll(parseConfigString(configString).entrySet())) &&
                (configMap == null || obj.getConfig().entrySet().containsAll(configMap.entrySet())) &&
                (StringUtils.isBlank(description) || StringUtils.containsIgnoreCase(
                        obj.getMetadata().map(Metadata::getDescription).orElse(null), description));
    }