CNodeId

The NodeId has its own class CNodeId , which is derived from the IId. It is unique in a segment and can be freely assigned.

Empty NodeId

There is a public EMPTY field, which is an invalid NodeId .

Constructors

The default constructor creates an invalid ID.

public CNodeId();

A NodeId can be made from a normal ID.

public CNodeId(@NotNull final IId aId);

Probably the most used is the constructor, which takes a string.

public CNodeId(@NotNull final String aId);

There is a factory method that creates a NodeId from an object.

@NotNull
public static CNodeId fromObject(@Nullable final Object aValue);

This method returns the invalid ID.

public static CNodeId getInvalid();

There is another static method for creating a random NodeId . The name of the random NodeId consists of an integer and is only suitable for debug purposes.

public static CNodeId random();

Getter

There is a getter for the ID:

@NotNull
public IId getId();

Valid and Invalid

This method returns true if the passed NodeId is not null and not invalid.

public boolean isValid();
public static boolean isValid(@Nullable final CNodeId aNodeId);

This method returns true if the passed NodeId is null or invalid.

public boolean isEmpty();
public static boolean isEmpty(@Nullable final CNodeId aNodeId);

If a null value is passed, this static method returns EMPTY, otherwise the passed value.

public static CNodeId getNonNullNodeId(@Nullable final CNodeId aNodeId);

Comparison

This static method compares two NodeIds considering null values.

public static boolean equals(@Nullable final CNodeId aNodeId1,
                             @Nullable final CNodeId aNodeId2);

CNodeId implements the Comparable interface:

public int compareTo(@NotNull final CNodeId aOther);

Lokale NodeId

This static method returns the local NodeId that is the NodeId of the own Node.

@NotNull
public static CNodeId getLocal();

There is a static method that checks if a given NodeId belongs to its own node. A null value or an invalid value is assumed to be local.

public static boolean isLocal(@Nullable final CNodeId aNodeId);

Stream I/O

A static method writes a NodeId to a DataOutput stream.

public static void toStream(@NotNull final DataOutput aStream,
                            @Nullable final CNodeId aNodeId) throws IOException;

This static method reads a NodeId from a DataInput stream.

@Nullable
public static CNodeId fromStream(@NotNull final DataInput aStream) throws IOException;

String I/O

Beside the toString() method there is also a valueToString() method, which in contrast to the first one stores a NodeId in a string in such a way that it can be read out again.

public static String valueToString(@Nullable final CNodeId aValue);

Notes

CNodeId supports the equals() and hashCode() methods.