package com.plectix.simulator.simulator.api.steps.experiments;
import com.plectix.simulator.interfaces.ConnectedComponentInterface;
/**
* TODO sooner or later we will use this class, so then we should put it in util package
* or something like that
* @author evlasov
*
*/
public class ConnectedComponentPattern implements Pattern<ConnectedComponentInterface> {
private final String componentStringRepresentation;
public ConnectedComponentPattern(String template) {
this.componentStringRepresentation = template;
}
public ConnectedComponentPattern(ConnectedComponentInterface connectedComponent) {
if (connectedComponent == null) {
componentStringRepresentation = "";
} else {
componentStringRepresentation = connectedComponent.getSmilesString();
}
}
public boolean matches(ConnectedComponentInterface connectedComponent) {
if (connectedComponent == null) {
return false;
}
return componentStringRepresentation.equals(connectedComponent.getSmilesString());
}
public boolean matches(String componentRepresentation) {
return componentStringRepresentation.equals(componentRepresentation);
}
@Override
public final String toString() {
return componentStringRepresentation;
}
}