/*
* Copyright 2014 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.drools.workbench.models.guided.dtree.shared.model.nodes.impl;
import org.drools.workbench.models.datamodel.util.PortablePreconditions;
import org.drools.workbench.models.guided.dtree.shared.model.nodes.ConstraintNode;
import org.drools.workbench.models.guided.dtree.shared.model.values.Value;
public class ConstraintNodeImpl extends BaseBoundNodeImpl implements ConstraintNode {
private String className;
private String fieldName;
private String operator;
private Value value;
public ConstraintNodeImpl() {
//Errai marshalling
}
public ConstraintNodeImpl( final String className,
final String fieldName ) {
setClassName( className );
setFieldName( fieldName );
}
public ConstraintNodeImpl( final String className,
final String fieldName,
final String operator,
final Value value ) {
setClassName( className );
setFieldName( fieldName );
setOperator( operator );
setValue( value );
}
@Override
public String getClassName() {
return this.className;
}
@Override
public void setClassName( final String className ) {
this.className = PortablePreconditions.checkNotNull( "className",
className );
}
@Override
public String getFieldName() {
return this.fieldName;
}
@Override
public void setFieldName( final String fieldName ) {
this.fieldName = PortablePreconditions.checkNotNull( "fieldName",
fieldName );
}
@Override
public String getOperator() {
return this.operator;
}
@Override
public void setOperator( final String operator ) {
this.operator = operator;
}
@Override
public Value getValue() {
return this.value;
}
@Override
public void setValue( final Value value ) {
this.value = value;
}
@Override
public boolean equals( Object o ) {
if ( this == o ) {
return true;
}
if ( !( o instanceof ConstraintNodeImpl ) ) {
return false;
}
if ( !super.equals( o ) ) {
return false;
}
ConstraintNodeImpl nodes = (ConstraintNodeImpl) o;
if ( !className.equals( nodes.className ) ) {
return false;
}
if ( !fieldName.equals( nodes.fieldName ) ) {
return false;
}
if ( operator != null ? !operator.equals( nodes.operator ) : nodes.operator != null ) {
return false;
}
if ( value != null ? !value.equals( nodes.value ) : nodes.value != null ) {
return false;
}
return true;
}
@Override
public int hashCode() {
int result = super.hashCode();
result = 31 * result + className.hashCode();
result = 31 * result + fieldName.hashCode();
result = 31 * result + ( operator != null ? operator.hashCode() : 0 );
result = 31 * result + ( value != null ? value.hashCode() : 0 );
return result;
}
}