Exemplo n.º 1
0
  @Override
  public void readValue(Object data, Tagable tagabale) {
    if (data instanceof MacroSeqData) {
      MacroSeqData macro = (MacroSeqData) data;
      Object val = getValue(macro.getAttributes());
      if (val instanceof Sequence) {
        Sequence seq = (Sequence) val;
        if (!seq.isEmpty()) {
          val = seq.get(0);
        }
      }

      if (val instanceof Attributes) {
        Attributes dataset = (Attributes) val;
        Predicate<? super Attributes> predicate = macro.getApplicable();
        if (predicate == null || predicate.test(dataset)) {
          for (TagW tag : macro.getTags()) {
            if (tag != null) {
              tag.readValue(dataset, tagabale);
            }
          }
        }
      }
    }
  }