class Attribute implements Serializable, Cloneable {

    @Override
    public boolean equals(Object obj) {
        Attribute attribute = (Attribute) obj;
        return nullSafeEquals(value, attribute.value)
                && nullSafeEquals(renderer, attribute.renderer)
                && nullSafeEquals(roles, attribute.roles)
                && nullSafeEquals(expressionObject, attribute.expressionObject);
    }

    public  Attribute();
    public  Attribute(Object value);
    public  Attribute(Attribute attribute);
    public  Attribute(Object value, String role);
    public  Attribute(Object value, Expression expression, String role, String rendererName);

}