public AFeatureData create(int id, int startLineNumber, int endLineNumber) { final AFeatureData data; switch (dataType) { case TYPE_FOP: data = new FOPFeatureData(id, startLineNumber, endLineNumber); data.setConstraint(new Literal(sigs.getFeatureName(id))); break; case TYPE_PP: data = new PreprocessorFeatureData(startLineNumber, endLineNumber); data.setConstraint(new Literal(sigs.getFeatureName(id))); break; default: data = null; } return data; }
public AFeatureData create(Node constraint, int startLineNumber, int endLineNumber) { final AFeatureData data; switch (dataType) { case TYPE_FOP: if (constraint instanceof Literal) { data = new FOPFeatureData( sigs.getFeatureID(((Literal) constraint).var.toString()), startLineNumber, endLineNumber); } else { data = new FOPFeatureData(-1, startLineNumber, endLineNumber); } data.setConstraint(constraint); break; case TYPE_PP: data = new PreprocessorFeatureData(startLineNumber, endLineNumber); data.setConstraint(constraint); break; default: data = null; } return data; }