@Override public DeweyNumber copy(DeweyNumber from) { return new DeweyNumber(from); }
@Override public DeweyNumber createInstance() { return new DeweyNumber(1); }
/** * Creates a new dewey number from this such that a 0 is appended as new last digit. * * @return A new dewey number which contains this as a prefix and has 0 as last digit */ public DeweyNumber addStage() { int[] newDeweyNumber = Arrays.copyOf(deweyNumber, deweyNumber.length + 1); return new DeweyNumber(newDeweyNumber); }
/** * Creates a new dewey number from this such that its last digit is increased by the supplied * number. * * @param times how many times to increase the Dewey number * @return A new dewey number derived from this whose last digit is increased by given number */ public DeweyNumber increase(int times) { int[] newDeweyNumber = Arrays.copyOf(deweyNumber, deweyNumber.length); newDeweyNumber[deweyNumber.length - 1] += times; return new DeweyNumber(newDeweyNumber); }
/** * Creates a dewey number from a string representation. The input string must be a dot separated * string of integers. * * @param deweyNumberString Dot separated string of integers * @return Dewey number generated from the given input string */ public static DeweyNumber fromString(final String deweyNumberString) { String[] splits = deweyNumberString.split("\\."); if (splits.length == 0) { return new DeweyNumber(Integer.parseInt(deweyNumberString)); } else { int[] deweyNumber = new int[splits.length]; for (int i = 0; i < splits.length; i++) { deweyNumber[i] = Integer.parseInt(splits[i]); } return new DeweyNumber(deweyNumber); } }
public static ComputationState createStartState(final String state) { return createStartState(state, new DeweyNumber(1)); }
@Override public DeweyNumber deserialize(DataInputView source) throws IOException { final int size = source.readInt(); int[] number = new int[size]; for (int i = 0; i < size; i++) { number[i] = source.readInt(); } return new DeweyNumber(number); }
final DeweyNumber nextVersion = new DeweyNumber(currentVersion).addStage(); takeBranchesToVisit--;
@Test public void testDeweyNumberGeneration() { DeweyNumber start = new DeweyNumber(1); DeweyNumber increased = start.increase(); DeweyNumber increaseAddStage = increased.addStage(); DeweyNumber startAddStage = start.addStage(); DeweyNumber startAddStageIncreased = startAddStage.increase(); DeweyNumber startAddStageIncreasedAddStage = startAddStageIncreased.addStage(); assertEquals(DeweyNumber.fromString("1"), start); assertEquals(DeweyNumber.fromString("2"), increased); assertEquals(DeweyNumber.fromString("2.0"), increaseAddStage); assertEquals(DeweyNumber.fromString("1.0"), startAddStage); assertEquals(DeweyNumber.fromString("1.1"), startAddStageIncreased); assertEquals(DeweyNumber.fromString("1.1.0"), startAddStageIncreasedAddStage); assertTrue(startAddStage.isCompatibleWith(start)); assertTrue(startAddStageIncreased.isCompatibleWith(startAddStage)); assertTrue(startAddStageIncreasedAddStage.isCompatibleWith(startAddStageIncreased)); assertFalse(startAddStageIncreasedAddStage.isCompatibleWith(startAddStage)); assertFalse(increaseAddStage.isCompatibleWith(startAddStage)); assertFalse(startAddStage.isCompatibleWith(increaseAddStage)); assertFalse(startAddStageIncreased.isCompatibleWith(startAddStageIncreasedAddStage)); } }
@Override public DeweyNumber copy(DeweyNumber from) { return new DeweyNumber(from); }
@Override public DeweyNumber createInstance() { return new DeweyNumber(1); }
/** * Creates a new dewey number from this such that its last digit is increased by the supplied * number. * * @param times how many times to increase the Dewey number * @return A new dewey number derived from this whose last digit is increased by given number */ public DeweyNumber increase(int times) { int[] newDeweyNumber = Arrays.copyOf(deweyNumber, deweyNumber.length); newDeweyNumber[deweyNumber.length - 1] += times; return new DeweyNumber(newDeweyNumber); }
/** * Creates a new dewey number from this such that a 0 is appended as new last digit. * * @return A new dewey number which contains this as a prefix and has 0 as last digit */ public DeweyNumber addStage() { int[] newDeweyNumber = Arrays.copyOf(deweyNumber, deweyNumber.length + 1); return new DeweyNumber(newDeweyNumber); }
/** * Creates a new dewey number from this such that its last digit is increased by the supplied * number * * @param times how many times to increase the Dewey number * @return A new dewey number derived from this whose last digit is increased by given number */ public DeweyNumber increase(int times) { int[] newDeweyNumber = Arrays.copyOf(deweyNumber, deweyNumber.length); newDeweyNumber[deweyNumber.length - 1] += times; return new DeweyNumber(newDeweyNumber); }
/** * Creates a new dewey number from this such that a 0 is appended as new last digit. * * @return A new dewey number which contains this as a prefix and has 0 as last digit */ public DeweyNumber addStage() { int[] newDeweyNumber = Arrays.copyOf(deweyNumber, deweyNumber.length + 1); return new DeweyNumber(newDeweyNumber); }
/** * Creates a new dewey number from this such that its last digit is increased by the supplied * number. * * @param times how many times to increase the Dewey number * @return A new dewey number derived from this whose last digit is increased by given number */ public DeweyNumber increase(int times) { int[] newDeweyNumber = Arrays.copyOf(deweyNumber, deweyNumber.length); newDeweyNumber[deweyNumber.length - 1] += times; return new DeweyNumber(newDeweyNumber); }
/** * Creates a new dewey number from this such that a 0 is appended as new last digit. * * @return A new dewey number which contains this as a prefix and has 0 as last digit */ public DeweyNumber addStage() { int[] newDeweyNumber = Arrays.copyOf(deweyNumber, deweyNumber.length + 1); return new DeweyNumber(newDeweyNumber); }
@Override public DeweyNumber deserialize(DataInputView source) throws IOException { final int size = source.readInt(); int[] number = new int[size]; for (int i = 0; i < size; i++) { number[i] = elemSerializer.deserialize(source); } return new DeweyNumber(number); }
@Override public DeweyNumber deserialize(DataInputView source) throws IOException { final int size = source.readInt(); int[] number = new int[size]; for (int i = 0; i < size; i++) { number[i] = elemSerializer.deserialize(source); } return new DeweyNumber(number); }
@Override public DeweyNumber deserialize(DataInputView source) throws IOException { final int size = source.readInt(); int[] number = new int[size]; for (int i = 0; i < size; i++) { number[i] = elemSerializer.deserialize(source); } return new DeweyNumber(number); }