//
// Basic root Object for efficient linked list classes.
// By Tony Swain Feb 15 2003. https://www.facebook.com/groups/javafunctions/
// This is mostly a container for HyperLinkedList et al.
// To extend. Thus you would usually extend this class.
// In order to use it. You can also just add an attachment
//

public class Linkable implements HyperLinkedListConstants,Connectable
{
String name;
volatile Object attachment;
HyperLinkedList parentList;
volatile int linkFlags;
volatile Linkable prev;
volatile Linkable next;
volatile long index;

Linkable()
{
     name = DEFAULT_LINK_NAME;
     index      = -1;
     linkFlags  = 0;
}

Linkable(Object tObject)
{
  name = DEFAULT_LINK_NAME;
  linkFlags  = 0; 
  attachment = tObject;
}

Linkable(String tName,Object tObject)
{
  name = tName;
  linkFlags  = 0; 
  attachment = tObject;
}

Linkable(String tName)
{
  name = tName;
  linkFlags  = 0; 
}

void setName(String tString)
{
   name = tString;
}

boolean inList()
{
   if(prev != null || next != null)
   {
      return true;
   }
   return false;
}

}










