public boolean evaluate()

in src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java [88:114]


  public boolean evaluate(final LoggingEvent event, Map matches) {
    String eventTimeStampString = RESOLVER.getValue(LoggingEventFieldResolver.TIMESTAMP_FIELD, event).toString();
    long eventTimeStamp = Long.parseLong(
                eventTimeStampString) / 1000 * 1000;
    boolean result = false;
    long first = eventTimeStamp;
    long second = timeStamp;

    if ("<".equals(inequalitySymbol)) {
      result = first < second;
    } else if (">".equals(inequalitySymbol)) {
      result = first > second;
    } else if ("<=".equals(inequalitySymbol)) {
      result = first <= second;
    } else if (">=".equals(inequalitySymbol)) {
      result = first >= second;
    }
    if (result && matches != null) {
        Set entries = (Set) matches.get(LoggingEventFieldResolver.TIMESTAMP_FIELD);
        if (entries == null) {
            entries = new HashSet();
            matches.put(LoggingEventFieldResolver.TIMESTAMP_FIELD, entries);
        }
        entries.add(eventTimeStampString);
    }
    return result;
  }