コード例 #1
0
    @Override
    public Matcher visit(IsNull isNull) {
      return isNull
          .getField()
          .accept(
              new VisitorAdapter<Matcher>() {

                @Override
                public Matcher visit(final Field field) {
                  return new Matcher() {

                    @Override
                    public boolean match(DataRecord record) {
                      return record.get(field.getFieldMetadata()) == null;
                    }
                  };
                }

                @Override
                public Matcher visit(StagingBlockKey stagingBlockKey) {
                  return new Matcher() {

                    @Override
                    public boolean match(DataRecord record) {
                      return record
                              .getRecordMetadata()
                              .getRecordProperties()
                              .get(StagingStorage.METADATA_STAGING_BLOCK_KEY)
                          == null;
                    }
                  };
                }
              });
    }