Ejemplo n.º 1
0
  @Override
  public void operate(OpContext arg0) throws ProcessingException {
    // get input
    IPATranscript transcript = IPATranscript.class.cast(arg0.get(ipaInput));

    // create a new matcher
    PhonexMatcher matcher = pattern.matcher(transcript);
    if (matcher.matches()) {
      // set matches output
      arg0.put(matchesOut, Boolean.TRUE);

      arg0.put(g0Out, new IPATranscript(matcher.group(0)));

      for (int gIdx = 1; gIdx <= pattern.numberOfGroups(); gIdx++) {
        String outputName =
            (pattern.groupName(gIdx) != null ? pattern.groupName(gIdx) : "g" + gIdx);
        arg0.put(outputName, new IPATranscript(matcher.group(gIdx)));
      }
    }
  }