JavaTuples - Octet Class


Advertisements

Introduction

The org.javatuples.Octet class represents a Tuple with eight elements.

Class Declaration

Following is the declaration for org.javatuples.Octet class −

public final class Octet<A, B, C, D, E, F, G, H>
   extends Tuple
      implements IValue0<A>, IValue1<B>, 
         IValue2<C>, IValue3<D>, IValue4<E>,
            IValue5<F>, IValue6<G>, IValue7<H>

Class Constructor

Sr.No. Constructor & Description
1

Octet(A value0, B value1, C value2, D value3, E value4, F value5, G value6, H value7)

This creates a Octet Tuple.

Class Methods

Similarly setAt1() upto setAt7() set the value at index 1, and so on.

Sr.No. Method & Description
1

Ennead add(Unit tuple)

This method returns a Ennead tuple.

Similarly other methods to add tuples are available e.g. add(Pair tuple) returns Decade.

2

Ennead add(X0 value)

This method add a value to the tuple and returns a Ennead tuple.

Similarly other methods to add values are available e.g. add(X0 value0, X1 value1) returns Decade.

3

Ennead addAt0(Unit value)

This method add a Unit tuple at index 0 and returns a Ennead tuple.

Similarly other methods to add tuples are available e.g. addAt0(Pair value) returns Decade. Other similar method are addAt1(Unit value) which add a unit at index0 and have similar methods upto addAt7(Pair).

4

Ennead addAt0(X0 value)

This method add a value at index 0 and returns a Ennead tuple.

Similarly other methods to add values are available e.g. addAt0(X0 value0, X1 value1) returns Decade. Other similar method are addAt1(X0 value) which add a value at index0 and have similar methods upto addAt7() with two parameters.

5

static <X> Octet<X,X,X,X,X,X,X,X> fromArray(X[] array)

Create tuple from array.

6

static <X> Octet<X,X,X,X,X,X,X,X> fromCollection(Collection<X> collection)

Create tuple from collection.

7

static <X> Octet<X,X,X,X,X,X,X,X> fromIterable(Iterable<X> iterable)

Create tuple from iterable.

8

static <X> Octet<X,X,X,X,X,X,X,X> fromIterable(Iterable<X> iterable, int index)

Create tuple from iterable, starting from the specified index.

9

int getSize()

Return the size of the tuple.

10

A getValue0()

Returns the value of the tuple at index 0.

Similarly getValue1() upto getValue7() returns the value at index 1 and so on.

11

Septet<B,C,D,E,F,G,H> removeFrom0()

Return the tuple after removing value of the tuple at index 0.

Similarly removeFrom1() upto removeFrom7() returns the tuple after removing value of the tuple at index 1 and so on.

12

<X> Octet<X,B,C,D,E,F,G,H> setAt0(X value)

Set the value of the tuple at index 0.

13

static <A> Octet<A,B,C,D,E,F,G,H> with(A value0, B value1, C value2, D value3, E value4, F value5, G value6, H value7)

Create the tuple using given value.

Methods inherite

This class inherits methods from the following classes −

  • org.javatuples.Tuple

  • Object

Example

Let's see Octet Class in action. Here we'll see how to use various methods.

Create a java class file named TupleTester in C:\>JavaTuples.

File: TupleTester.java

package com.howcodex;
import java.util.ArrayList;
import java.util.List;
import org.javatuples.Ennead;
import org.javatuples.Octet;
import org.javatuples.Septet;
public class TupleTester {
   public static void main(String args[]){
      Octet<Integer, Integer, Integer, Integer, Integer,Integer,Integer,Integer>
      octet = Octet.with(5, 6, 7,8,9,10,11,12);
      System.out.println(octet);
      boolean isPresent = octet.contains(5);
      System.out.println("5 is present: " + isPresent);
      List<Integer> list = new ArrayList<>();
      list.add(1);
      list.add(2);
      list.add(3);
      list.add(4);
      list.add(5);
      list.add(6);
      list.add(7);
      list.add(8);
      Ennead<Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, String>
      ennead = octet.add("Test");
      System.out.println(ennead);
      Integer value = octet.getValue0();
      System.out.println(value);
      Septet<Integer, Integer, Integer, Integer,Integer, Integer,Integer>
      septet = octet.removeFrom0();
      System.out.println(septet);
      Octet<Integer, Integer, Integer, Integer, Integer,Integer, Integer, Integer> 
      octet1 = Octet.fromCollection(list);   
      System.out.println(octet1);
   }
}

Verify the result

Compile the classes using javac compiler as follows −

C:\JavaTuples>javac -cp javatuples-1.2.jar ./com/howcodex/TupleTester.java

Now run the TupleTester to see the result −

C:\JavaTuples>java  -cp .;javatuples-1.2.jar com.howcodex.TupleTester

Output

Verify the Output

[5, 6, 7, 8, 9, 10, 11, 12]
5 is present: true
[5, 6, 7, 8, 9, 10, 11, 12, Test]
5
[6, 7, 8, 9, 10, 11, 12]
[1, 2, 3, 4, 5, 6, 7, 8]
Advertisements