All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gs.fw.finder.attribute.IntegerAttribute Maven / Gradle / Ivy

There is a newer version: 18.1.0
Show newest version
/*
 Copyright 2016 Goldman Sachs.
 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 com.gs.fw.finder.attribute;

import com.gs.collections.api.set.primitive.IntSet;
import com.gs.fw.finder.Operation;


public interface IntegerAttribute extends NumericAttribute
{
    public Operation eq(int value);

    public Operation notEq(int value);

    public Operation greaterThan(int value);

    public Operation greaterThanEquals(int value);

    public Operation lessThan(int value);

    public Operation lessThanEquals(int value);

    public Operation in(IntSet intSet);

    public Operation notIn(IntSet intSet);

    public IntegerAttribute plus(ByteAttribute addend);
    public IntegerAttribute plus(ShortAttribute addend);
    public IntegerAttribute plus(IntegerAttribute addend);
    public LongAttribute plus(LongAttribute addend);
    public FloatAttribute plus(FloatAttribute addend);
    public DoubleAttribute plus(DoubleAttribute addend);

    public IntegerAttribute minus(ByteAttribute subtrahend);
    public IntegerAttribute minus(ShortAttribute subtrahend);
    public IntegerAttribute minus(IntegerAttribute subtrahend);
    public LongAttribute minus(LongAttribute subtrahend);
    public FloatAttribute minus(FloatAttribute subtrahend);
    public DoubleAttribute minus(DoubleAttribute subtrahend);

    public IntegerAttribute times(ByteAttribute multiplicand);
    public IntegerAttribute times(ShortAttribute multiplicand);
    public IntegerAttribute times(IntegerAttribute multiplicand);
    public LongAttribute times(LongAttribute multiplicand);
    public FloatAttribute times(FloatAttribute multiplicand);
    public DoubleAttribute times(DoubleAttribute multiplicand);

    public IntegerAttribute dividedBy(ByteAttribute divisor);
    public IntegerAttribute dividedBy(ShortAttribute divisor);
    public IntegerAttribute dividedBy(IntegerAttribute divisor);
    public LongAttribute dividedBy(LongAttribute divisor);
    public FloatAttribute dividedBy(FloatAttribute divisor);
    public DoubleAttribute dividedBy(DoubleAttribute divisor);

    public IntegerAttribute absoluteValue();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy