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

com.davidbracewell.function.Serialized Maven / Gradle / Ivy

There is a newer version: 0.5
Show newest version
/*
 * (c) 2005 David B. Bracewell
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you 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.davidbracewell.function;

import lombok.NonNull;

import java.util.function.*;

/**
 * The interface Serialized.
 */
public interface Serialized {

  /**
   * Runnable runnable.
   *
   * @param runnable the runnable
   * @return the runnable
   */
  static Runnable runnable(SerializableRunnable runnable) {
    return runnable;
  }

  /**
   * And serializable predicate.
   *
   * @param  the type parameter
   * @param p1  the p 1
   * @param p2  the p 2
   * @return the serializable predicate
   */
  static  SerializablePredicate and(@NonNull SerializablePredicate p1, @NonNull SerializablePredicate p2) {
    return t -> p1.test(t) && p2.test(t);
  }

  /**
   * Or serializable predicate.
   *
   * @param  the type parameter
   * @param p1  the p 1
   * @param p2  the p 2
   * @return the serializable predicate
   */
  static  SerializablePredicate or(@NonNull SerializablePredicate p1, @NonNull SerializablePredicate p2) {
    return t -> p1.test(t) || p2.test(t);
  }

  /**
   * Negate serializable predicate.
   *
   * @param  the type parameter
   * @param p1  the p 1
   * @return the serializable predicate
   */
  static  SerializablePredicate negate(@NonNull SerializablePredicate p1) {
    return t -> !p1.test(t);
  }


  /**
   * And serializable bi predicate.
   *
   * @param  the type parameter
   * @param  the type parameter
   * @param p1  the p 1
   * @param p2  the p 2
   * @return the serializable bi predicate
   */
  static  SerializableBiPredicate and(@NonNull SerializableBiPredicate p1, @NonNull SerializableBiPredicate p2) {
    return (t, u) -> p1.test(t, u) && p2.test(t, u);
  }

  /**
   * Or serializable bi predicate.
   *
   * @param  the type parameter
   * @param  the type parameter
   * @param p1  the p 1
   * @param p2  the p 2
   * @return the serializable bi predicate
   */
  static  SerializableBiPredicate or(@NonNull SerializableBiPredicate p1, @NonNull SerializableBiPredicate p2) {
    return (t, u) -> p1.test(t, u) || p2.test(t, u);
  }

  /**
   * Negate serializable bi predicate.
   *
   * @param  the type parameter
   * @param  the type parameter
   * @param p1  the p 1
   * @return the serializable bi predicate
   */
  static  SerializableBiPredicate negate(@NonNull SerializableBiPredicate p1) {
    return (t, u) -> !p1.test(t, u);
  }

  /**
   * Generates a serialized version of DoubleToIntFunction
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static DoubleToIntFunction doubleToIntFunction(SerializableDoubleToIntFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of IntToDoubleFunction
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static IntToDoubleFunction intToDoubleFunction(SerializableIntToDoubleFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of Consumer
   *
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  Consumer consumer(SerializableConsumer serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of IntPredicate
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static IntPredicate intPredicate(SerializableIntPredicate serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of ObjLongConsumer
   *
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  ObjLongConsumer objLongConsumer(SerializableObjLongConsumer serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of BiPredicate
   *
   * @param         Functional parameter
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  BiPredicate biPredicate(SerializableBiPredicate serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of DoubleUnaryOperator
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static DoubleUnaryOperator doubleUnaryOperator(SerializableDoubleUnaryOperator serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of IntUnaryOperator
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static IntUnaryOperator intUnaryOperator(SerializableIntUnaryOperator serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of LongUnaryOperator
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static LongUnaryOperator longUnaryOperator(SerializableLongUnaryOperator serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of BooleanSupplier
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static BooleanSupplier booleanSupplier(SerializableBooleanSupplier serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of IntSupplier
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static IntSupplier intSupplier(SerializableIntSupplier serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of IntBinaryOperator
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static IntBinaryOperator intBinaryOperator(SerializableIntBinaryOperator serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of ObjIntConsumer
   *
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  ObjIntConsumer objIntConsumer(SerializableObjIntConsumer serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of LongBinaryOperator
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static LongBinaryOperator longBinaryOperator(SerializableLongBinaryOperator serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of UnaryOperator
   *
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  UnaryOperator unaryOperator(SerializableUnaryOperator serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of BinaryOperator
   *
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  BinaryOperator binaryOperator(SerializableBinaryOperator serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of Predicate
   *
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  Predicate predicate(SerializablePredicate serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of ToDoubleFunction
   *
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  ToDoubleFunction toDoubleFunction(SerializableToDoubleFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of Supplier
   *
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  Supplier supplier(SerializableSupplier serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of ToDoubleBiFunction
   *
   * @param         Functional parameter
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  ToDoubleBiFunction toDoubleBiFunction(SerializableToDoubleBiFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of LongPredicate
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static LongPredicate longPredicate(SerializableLongPredicate serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of BiConsumer
   *
   * @param         Functional parameter
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  BiConsumer biConsumer(SerializableBiConsumer serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of LongSupplier
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static LongSupplier longSupplier(SerializableLongSupplier serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of ToLongFunction
   *
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  ToLongFunction toLongFunction(SerializableToLongFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of IntFunction
   *
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  IntFunction intFunction(SerializableIntFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of IntConsumer
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static IntConsumer intConsumer(SerializableIntConsumer serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of BiFunction
   *
   * @param         Functional parameter
   * @param         Functional parameter
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  BiFunction biFunction(SerializableBiFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of LongToDoubleFunction
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static LongToDoubleFunction longToDoubleFunction(SerializableLongToDoubleFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of DoubleBinaryOperator
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static DoubleBinaryOperator doubleBinaryOperator(SerializableDoubleBinaryOperator serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of LongFunction
   *
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  LongFunction longFunction(SerializableLongFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of LongToIntFunction
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static LongToIntFunction longToIntFunction(SerializableLongToIntFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of ToLongBiFunction
   *
   * @param         Functional parameter
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  ToLongBiFunction toLongBiFunction(SerializableToLongBiFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of DoublePredicate
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static DoublePredicate doublePredicate(SerializableDoublePredicate serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of DoubleFunction
   *
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  DoubleFunction doubleFunction(SerializableDoubleFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of LongConsumer
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static LongConsumer longConsumer(SerializableLongConsumer serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of Function
   *
   * @param         Functional parameter
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  Function function(SerializableFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of DoubleToLongFunction
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static DoubleToLongFunction doubleToLongFunction(SerializableDoubleToLongFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of DoubleConsumer
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static DoubleConsumer doubleConsumer(SerializableDoubleConsumer serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of IntToLongFunction
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static IntToLongFunction intToLongFunction(SerializableIntToLongFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of ToIntFunction
   *
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  ToIntFunction toIntFunction(SerializableToIntFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of DoubleSupplier
   *
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static DoubleSupplier doubleSupplier(SerializableDoubleSupplier serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of ToIntBiFunction
   *
   * @param         Functional parameter
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  ToIntBiFunction toIntBiFunction(SerializableToIntBiFunction serialized) {
    return serialized;
  }


  /**
   * Generates a serialized version of ObjDoubleConsumer
   *
   * @param         Functional parameter
   * @param serialized The serialized functional
   * @return The serialized functional.
   */
  static  ObjDoubleConsumer objDoubleConsumer(SerializableObjDoubleConsumer serialized) {
    return serialized;
  }


}//END OF Serialized