JavaTuples – Octet Class

JavaTuples - Octet Class

This topic is about JavaTuples – Octet Class.

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
1Octet(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
1Ennead add(Unit tuple)This method returns a Ennead tuple.Similarly other methods to add tuples are available e.g. add(Pair tuple) returns Decade.
2Ennead 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.
3Ennead 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).
4Ennead 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.
5static <X> Octet<X,X,X,X,X,X,X,X> fromArray(X[] array)Create tuple from array.
6static <X> Octet<X,X,X,X,X,X,X,X> fromCollection(Collection<X> collection)Create tuple from collection.
7static <X> Octet<X,X,X,X,X,X,X,X> fromIterable(Iterable<X> iterable)Create tuple from iterable.
8static <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.
9int getSize()Return the size of the tuple.
10A getValue0()Returns the value of the tuple at index 0.Similarly getValue1() upto getValue7() returns the value at index 1 and so on.
11Septet<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.
13static <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.Adglob;
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/Adglob/TupleTester.java

Now run the TupleTester to see the result −

C:\JavaTuples>java  -cp .;javatuples-1.2.jar com.Adglob.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]

In this topic we learned about JavaTuples – Octet Class. To know more, Click Here.

This Post Has One Comment

Leave a Reply