package net.enilink.komma.edit.ui.properties.internal.parts; import net.enilink.komma.core.IStatement; public class PropertyStatementNode extends StatementNode { protected PropertyNode propertyNode; protected int index; public PropertyStatementNode(PropertyNode propertyNode, int index, boolean inverse) { super(inverse); this.propertyNode = propertyNode; this.index = index; } @Override public IStatement getStatement() { if (index < propertyNode.statements.length) { return propertyNode.statements[index]; } return null; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + index; result = prime * result + ((propertyNode == null) ? 0 : propertyNode.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; PropertyStatementNode other = (PropertyStatementNode) obj; if (index != other.index) return false; if (propertyNode == null) { if (other.propertyNode != null) return false; } else if (!propertyNode.equals(other.propertyNode)) return false; return true; } }