// Path: src/main/java/sleet/SleetException.java
// public class SleetException extends Exception {
// 
//   /**
//    * generated by eclipse
//    */
//   private static final long serialVersionUID = -404982431470350032L;
// 
//   public SleetException(String message, Throwable cause) {
//     super(message, cause);
//   }
// 
//   public SleetException(String message) {
//     super(message);
//   }
// 
//   public SleetException(Throwable cause) {
//     super(cause);
//   }
// 
// }
// 
// Path: src/main/java/sleet/generators/GeneratorConfigException.java
// public class GeneratorConfigException extends GeneratorException {
//   /**
//    * generated by eclipse
//    */
//   private static final long serialVersionUID = -2894157024668803650L;
// 
//   public GeneratorConfigException(String message, Throwable cause) {
//     super(message, cause);
//   }
// 
//   public GeneratorConfigException(String message) {
//     super(message);
//   }
// 
//   public GeneratorConfigException(Throwable cause) {
//     super(cause);
//   }
// 
// }
// 
// Path: src/main/java/sleet/generators/GeneratorSessionException.java
// public class GeneratorSessionException extends GeneratorException {
//   /**
//    * generated by eclipse
//    */
// 
//   private static final long serialVersionUID = -5663201042060915360L;
// 
//   public GeneratorSessionException(String message, Throwable cause) {
//     super(message, cause);
//   }
// 
//   public GeneratorSessionException(String message) {
//     super(message);
//   }
// 
//   public GeneratorSessionException(Throwable cause) {
//     super(cause);
//   }
// 
// }
// 
// Path: src/main/java/sleet/generators/IdGenerator.java
// public interface IdGenerator<T extends IdType<?, ?>> {
//   public void beginIdSession(Properties config) throws SleetException;
// 
//   public void checkSessionValidity() throws SleetException;
// 
//   public void endIdSession() throws SleetException;
// 
//   public IdType<?, ?> getId(List<IdState<?, ?>> states) throws SleetException;
// }
// 
// Path: src/main/java/sleet/id/LongId.java
// public class LongId implements LongIdType {
//   private final long value;
//   private final int numBits;
//   private final IdError error;
// 
//   public LongId(long value, IdError error, int numBits) {
//     this.value = value;
//     this.error = error;
//     this.numBits = numBits;
//   }
// 
//   @Override
//   public Long getId() {
//     return this.value;
//   }
// 
//   @Override
//   public IdError getError() {
//     return this.error;
//   }
// 
//   @Override
//   public int getNumBitsInId() {
//     return this.numBits;
//   }
// 
// }
// 
// Path: src/main/java/sleet/id/LongIdType.java
// public interface LongIdType extends IdType<Long, IdError> {
// 
// }
// 
// Path: src/main/java/sleet/state/IdState.java
// public class IdState<T, E extends IdError> {
//   private Class<? extends IdGenerator<? extends IdType<T, E>>> generatorClass;
//   private IdType<T, E> id;
// 
//   public IdState(Class<? extends IdGenerator<? extends IdType<T, E>>> generatorClass, IdType<T, E> id) {
//     this.generatorClass = generatorClass;
//     this.id = id;
//   }
// 
//   public Class<? extends IdGenerator<? extends IdType<T, E>>> getGeneratorClass() {
//     return generatorClass;
//   }
// 
//   public IdType<T, E> getId() {
//     return id;
//   }
// }


import java.util.List;
import java.util.Properties;
import sleet.SleetException;
import sleet.generators.GeneratorConfigException;
import sleet.generators.GeneratorSessionException;
import sleet.generators.IdGenerator;
import sleet.id.LongId;
import sleet.id.LongIdType;
import sleet.state.IdState;
/**
 * 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 sleet.generators.fixed;



public class FixedLongIdGenerator implements IdGenerator<LongIdType> {
  public static final String FIXED_LONG_VALUE_KEY = "fixed.long.value";
  public static final String FIXED_BITS_IN_ID_KEY = "fixed.bits.in.value";

// Path: src/main/java/sleet/SleetException.java
// public class SleetException extends Exception {
// 
//   /**
//    * generated by eclipse
//    */
//   private static final long serialVersionUID = -404982431470350032L;
// 
//   public SleetException(String message, Throwable cause) {
//     super(message, cause);
//   }
// 
//   public SleetException(String message) {
//     super(message);
//   }
// 
//   public SleetException(Throwable cause) {
//     super(cause);
//   }
// 
// }
// 
// Path: src/main/java/sleet/generators/GeneratorConfigException.java
// public class GeneratorConfigException extends GeneratorException {
//   /**
//    * generated by eclipse
//    */
//   private static final long serialVersionUID = -2894157024668803650L;
// 
//   public GeneratorConfigException(String message, Throwable cause) {
//     super(message, cause);
//   }
// 
//   public GeneratorConfigException(String message) {
//     super(message);
//   }
// 
//   public GeneratorConfigException(Throwable cause) {
//     super(cause);
//   }
// 
// }
// 
// Path: src/main/java/sleet/generators/GeneratorSessionException.java
// public class GeneratorSessionException extends GeneratorException {
//   /**
//    * generated by eclipse
//    */
// 
//   private static final long serialVersionUID = -5663201042060915360L;
// 
//   public GeneratorSessionException(String message, Throwable cause) {
//     super(message, cause);
//   }
// 
//   public GeneratorSessionException(String message) {
//     super(message);
//   }
// 
//   public GeneratorSessionException(Throwable cause) {
//     super(cause);
//   }
// 
// }
// 
// Path: src/main/java/sleet/generators/IdGenerator.java
// public interface IdGenerator<T extends IdType<?, ?>> {
//   public void beginIdSession(Properties config) throws SleetException;
// 
//   public void checkSessionValidity() throws SleetException;
// 
//   public void endIdSession() throws SleetException;
// 
//   public IdType<?, ?> getId(List<IdState<?, ?>> states) throws SleetException;
// }
// 
// Path: src/main/java/sleet/id/LongId.java
// public class LongId implements LongIdType {
//   private final long value;
//   private final int numBits;
//   private final IdError error;
// 
//   public LongId(long value, IdError error, int numBits) {
//     this.value = value;
//     this.error = error;
//     this.numBits = numBits;
//   }
// 
//   @Override
//   public Long getId() {
//     return this.value;
//   }
// 
//   @Override
//   public IdError getError() {
//     return this.error;
//   }
// 
//   @Override
//   public int getNumBitsInId() {
//     return this.numBits;
//   }
// 
// }
// 
// Path: src/main/java/sleet/id/LongIdType.java
// public interface LongIdType extends IdType<Long, IdError> {
// 
// }
// 
// Path: src/main/java/sleet/state/IdState.java
// public class IdState<T, E extends IdError> {
//   private Class<? extends IdGenerator<? extends IdType<T, E>>> generatorClass;
//   private IdType<T, E> id;
// 
//   public IdState(Class<? extends IdGenerator<? extends IdType<T, E>>> generatorClass, IdType<T, E> id) {
//     this.generatorClass = generatorClass;
//     this.id = id;
//   }
// 
//   public Class<? extends IdGenerator<? extends IdType<T, E>>> getGeneratorClass() {
//     return generatorClass;
//   }
// 
//   public IdType<T, E> getId() {
//     return id;
//   }
// }


// Path: src/main/java/sleet/generators/fixed/FixedLongIdGenerator.java
import java.util.List;
import java.util.Properties;
import sleet.SleetException;
import sleet.generators.GeneratorConfigException;
import sleet.generators.GeneratorSessionException;
import sleet.generators.IdGenerator;
import sleet.id.LongId;
import sleet.id.LongIdType;
import sleet.state.IdState;

/**
 * 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 sleet.generators.fixed;



public class FixedLongIdGenerator implements IdGenerator<LongIdType> {
  public static final String FIXED_LONG_VALUE_KEY = "fixed.long.value";
  public static final String FIXED_BITS_IN_ID_KEY = "fixed.bits.in.value";

  private LongId value = null;