package io.haskins.java.cloudtrailviewer.filter; import io.haskins.java.cloudtrailviewer.model.event.Event; import io.haskins.java.cloudtrailviewer.utils.EventUtils; import javax.swing.*; /** * Created by markhaskins on 18/02/2017. */ public class EventFieldFilter extends AbstractFilter { private String fieldName; private final JLabel filterName = new JLabel(); public void setOption(String fieldName) { this.fieldName = fieldName; } public boolean passesFilter(Event event) { boolean passesFilter = false; String fieldValue = EventUtils.getEventProperty(fieldName, event); if (fieldValue != null) { fieldValue = fieldValue.toLowerCase(); String lowerFilter = this.needle.toLowerCase(); if (fieldValue.contains(lowerFilter)) { passesFilter = true; } } return passesFilter; } @Override public boolean isNeedleSet() { boolean needleSet = false; if (needle != null && needle.length() > 0) { needleSet = true; } return needleSet; } }