package com.vistatec.ocelot.tm.penalty;
import com.vistatec.ocelot.segment.model.SegmentVariant;
import com.vistatec.ocelot.tm.TmMatch;
/**
* Wrapper around a {@link TmMatch} that both applies and keeps track of the penalty applied.
*/
public class PenalizedTmMatch implements TmMatch {
private final TmMatch match;
private final float penalty;
public PenalizedTmMatch(TmMatch match, float penalty) {
this.match = match;
this.penalty = penalty;
}
@Override
public String getTmOrigin() {
return this.match.getTmOrigin();
}
@Override
public float getMatchScore() {
return this.match.getMatchScore() - penalty;
}
@Override
public SegmentVariant getSource() {
return this.match.getSource();
}
@Override
public SegmentVariant getTarget() {
return this.match.getTarget();
}
}