package org.quaere.expressions;
public class Property {
private final Identifier identifier;
private final Expression expression;
public Property(Identifier identifier, Expression expression) {
this.identifier = identifier;
this.expression = expression;
}
public Expression getExpression() {
return expression;
}
public Identifier getIdentifier() {
return identifier;
}
public String getPropertyName() {
if (identifier != null) {
return identifier.name;
}
if (expression instanceof Statement) {
Statement s = (Statement) expression;
return s.getLastIdentifier().name;
}
else {
throw new RuntimeException("Property name must be set...");
}
}
public String toString() {
return String.format("%s: %s", identifier.toString(), expression.toString());
}
}