Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jboss.cache
Class Fqn

    java.lang.Object
      org.jboss.cache.Fqn

All Implemented Interfaces:
  java.io.Externalizable, java.io.Serializable, java.lang.Cloneable

    public class Fqn

extends java.lang.Object
implements java.lang.Cloneable, java.io.Externalizable

Fully qualified name. A list of relatives names, which can be any Object, from root to a given node. This class is immutable.

Note that

`Fqn f = new Fqn("/a/b/c");`

is not the same as

`Fqn f = Fqn.fromString("/a/b/c");`

The former will result in a single Fqn, called "/a/b/c" which hangs directly under Fqn.ROOT.

The latter will result in 3 Fqns, called "a", "b" and "c", where "c" is a child of "b", "b" is a child of "a", and "a" hangs off Fqn.ROOT.

Another way to look at it is that the "/" separarator is only parsed when it form sa part of a String passed in to Fqn.fromString() and not otherwise.

Version:
  $Revision: 1.31.2.1 $
See Also:
  Serialized Form

Field Summary
`static Fqn` | `ROOT` Immutable root FQN.
`static java.lang.String` | `SEPARATOR` Separator between FQN elements.

Constructor Summary
`Fqn()` Constructs a root FQN.
`Fqn(Fqn base, Fqn relative)` Constructs a FQN from a base and relative FQN.
`Fqn(Fqn base, java.util.List relative)` Constructs a FQN from a base and a list of relative names.
`Fqn(Fqn base, java.lang.Object relative_name)` Constructs a FQN from a base and relative name.
`Fqn(Fqn base, java.lang.Object relative_name1, java.lang.Object relative_name2)` Constructs a FQN from a base and two relative names.
`Fqn(Fqn base, java.lang.Object relative_name1, java.lang.Object relative_name2, java.lang.Object relative_name3)` Constructs a FQN from a base and three relative names.
`Fqn(java.util.List names)` Constructs a FQN from a list of names.
`Fqn(java.lang.Object name)` Constructs a single element Fqn.
`Fqn(java.lang.Object[] names)` Constructs a FQN from an array of names.

Method Summary
`java.lang.Object` | `clone()` Clones the FQN.
`boolean` | `equals(java.lang.Object obj)` Returns true if obj is a FQN with the same elements.
`static Fqn` | `fromString(java.lang.String fqn)` Returns a new FQN from a string, where the elements are deliminated by one or more separator (`SEPARATOR`) characters. Example use:
`java.lang.Object` | `get(int index)` Returns the Nth element in the FQN.
`Fqn` | `getFqnChild(int index)` Obtains a child Fqn from a sub-index.
`Fqn` | `getFqnChild(int startIndex, int endIndex)` Obtains a child Fqn from a sub-index.
`java.lang.Object` | `getLast()` Returns the last element in the FQN.
`java.lang.String` | `getName()` Returns a String representation of the last element that makes up this Fqn.
`Fqn` | `getParent()` Returns the parent of this FQN.
`boolean` | `hasElement(java.lang.Object o)` Returns true if the FQN contains this element.
`int` | `hashCode()` Returns a hash code with FQN elements.
`boolean` | `isChildOf(Fqn parentFqn)` Returns true if this fqn is child of parentFqn
`boolean` | `isChildOrEquals(Fqn parentFqn)` Returns true if this fqn is equals or the child of parentFqn.
`boolean` | `isRoot()` Returns true if this is a root FQN.
`java.util.List` | `peekElements()` Peeks into the elements that build up this Fqn.
`void` | `readExternal(java.io.ObjectInput in)`
`int` | `size()` Returns the number of elements in the FQN.
`java.lang.String` | `toString()` Returns this FQN as a string, prefixing the first element with a / and joining each subsequent element with a /.
`void` | `writeExternal(java.io.ObjectOutput out)`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### SEPARATOR

    public static final java.lang.String SEPARATOR

  Separator between FQN elements.

  See Also:
    Constant Field Values

### ROOT

    public static final Fqn ROOT

  Immutable root FQN.

Constructor Detail

### Fqn

    public Fqn()

  Constructs a root FQN.

### Fqn

    public Fqn(java.lang.Object name)

  Constructs a single element Fqn. Note that if a String is passed in, separator characters `SEPARATOR` are not parsed. If you wish these to be parsed, use `fromString(String)`.

  See Also:
    `fromString(String)`

### Fqn

    public Fqn(java.util.List names)

  Constructs a FQN from a list of names.

### Fqn

    public Fqn(java.lang.Object[] names)

  Constructs a FQN from an array of names.

### Fqn

    public Fqn(Fqn base,
               java.lang.Object relative_name)

  Constructs a FQN from a base and relative name.

### Fqn

    public Fqn(Fqn base,
               Fqn relative)

  Constructs a FQN from a base and relative FQN.

### Fqn

    public Fqn(Fqn base,
               java.util.List relative)

  Constructs a FQN from a base and a list of relative names.

### Fqn

    public Fqn(Fqn base,
               java.lang.Object relative_name1,
               java.lang.Object relative_name2)

  Constructs a FQN from a base and two relative names.

### Fqn

    public Fqn(Fqn base,
               java.lang.Object relative_name1,
               java.lang.Object relative_name2,
               java.lang.Object relative_name3)

  Constructs a FQN from a base and three relative names.

Method Detail

### fromString

    public static Fqn fromString(java.lang.String fqn)

  Returns a new FQN from a string, where the elements are deliminated by one or more separator (`SEPARATOR`) characters.
  Example use:

       Fqn.fromString("/a//b/c/");

  is equivalent to:

       new Fqn(new Object[] { "a", "b", "c" });

  but not

       new Fqn("/a/b/c");

  See Also:
    `Fqn(Object[])`, `Fqn(Object)`

### getFqnChild

    public Fqn getFqnChild(int index)

  Obtains a child Fqn from a sub-index.

  Parameters:
    `index` - where is the last index of child fqn
  Returns:
    A Fqn child object.

### getFqnChild

    public Fqn getFqnChild(int startIndex,
                           int endIndex)

  Obtains a child Fqn from a sub-index.

### size

    public int size()

  Returns the number of elements in the FQN. The root node contains zero.

### get

    public java.lang.Object get(int index)

  Returns the Nth element in the FQN.

### getLast

    public java.lang.Object getLast()

  Returns the last element in the FQN.

  See Also:
    `getName()`

### hasElement

    public boolean hasElement(java.lang.Object o)

  Returns true if the FQN contains this element.

### clone

    public java.lang.Object clone()

  Clones the FQN.

  Overrides:
    `clone` in class `java.lang.Object`

### equals

    public boolean equals(java.lang.Object obj)

  Returns true if obj is a FQN with the same elements.

  Overrides:
    `equals` in class `java.lang.Object`

### hashCode

    public int hashCode()

  Returns a hash code with FQN elements.

  Overrides:
    `hashCode` in class `java.lang.Object`

### toString

    public java.lang.String toString()

  Returns this FQN as a string, prefixing the first element with a / and joining each subsequent element with a /. If this is the root FQN, returns `SEPARATOR`. Example:

          new Fqn(new Object[] { "a", "b", "c" }).toString(); // "/a/b/c"
          Fqn.ROOT.toString(); // "/"

  Overrides:
    `toString` in class `java.lang.Object`

### writeExternal

    public void writeExternal(java.io.ObjectOutput out)
                       throws java.io.IOException

  Specified by:
    `writeExternal` in interface `java.io.Externalizable`
  Throws:
    `java.io.IOException`

### readExternal

    public void readExternal(java.io.ObjectInput in)
                      throws java.io.IOException,
                             java.lang.ClassNotFoundException

  Specified by:
    `readExternal` in interface `java.io.Externalizable`
  Throws:
    `java.io.IOException`
    `java.lang.ClassNotFoundException`

### isChildOf

    public boolean isChildOf(Fqn parentFqn)

  Returns true if this fqn is child of parentFqn

  Parameters:
    `parentFqn` -
  Returns:
    true if the target is a child of parentFqn

### isChildOrEquals

    public boolean isChildOrEquals(Fqn parentFqn)

  Returns true if this fqn is equals or the child of parentFqn.

### getParent

    public Fqn getParent()

  Returns the parent of this FQN.

### isRoot

    public boolean isRoot()

  Returns true if this is a root FQN.

### getName

    public java.lang.String getName()

  Returns a String representation of the last element that makes up this Fqn. If this is the root, returns `SEPARATOR`.

### peekElements

    public java.util.List peekElements()

  Peeks into the elements that build up this Fqn. The list returned is read-only, to maintain the immutable nature of Fqn.

  Returns:
    an unmodifiable list

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 1998-2005 JBoss Inc . All Rights Reserved.