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

org.infinispan.hotrod.HotRodFlags Maven / Gradle / Ivy

The newest version!
package org.infinispan.hotrod;

import org.infinispan.api.common.CacheOptions;
import org.infinispan.api.common.Flags;

/**
 * @since 14.0
 **/
public class HotRodFlags implements Flags {
   int flags;

   HotRodFlags() {}

   public static HotRodFlags of(HotRodFlag... flag) {
      HotRodFlags flags = new HotRodFlags();
      for(HotRodFlag f : flag) {
         flags.add(f);
      }
      return flags;
   }

   public static int toInt(CacheOptions.Impl options) {
      HotRodFlags flags = (HotRodFlags) options.rawFlags();
      return flags == null ? 0 : flags.toInt();
   }

   @Override
   public HotRodFlags add(HotRodFlag flag) {
      flags |= flag.getFlagInt();
      return this;
   }

   @Override
   public boolean contains(HotRodFlag flag) {
      return (flags & flag.getFlagInt()) != 0;
   }

   @Override
   public HotRodFlags addAll(Flags flags) {
      HotRodFlags theFlags = (HotRodFlags) flags;
      this.flags |= theFlags.flags;
      return this;
   }

   public int toInt() {
      return flags;
   }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy