# com.bea.content
PathHelper Class

public class PathHelper
extends `Object`

Utility class to manipulate unix path like Strings such as /a/b/c/d. Paths are always expected to begin with / and end without it. Therefore neither a/b/c or /a/b/c/ are considered valid. Most operations take a path which must be in correct form and also an element to add/remove from the path. This element must not contain the SEPARATOR / as any part of itself.

Hierarchy
  `Object`
  `PathHelper`

## Field Summary

`public static final `String`` | `SEPARATOR` String

## Constructor Summary

PathHelper()

## Method Summary

`public static `String`` | `addFirst`(`String` first, `String` path) Adds a new element to the front of a path.
`public static `String`` | `addLast`(`String` path, `String` last) Adds a new element to the end of a path.
`public static `String`` | `getFirst`(`String` path) Gets the first element in the path.
`public static `String`` | `getLast`(`String` path) Gets the last element in the path.
`public static `String`` | `getLineage`(`String` path) Removes the last element and returns the result.
`public int` | `getNameCount`(`String` path) Gets the number of Nodes in the path.
`public static `String`` | `getParentName`(`String` path) Gets the second to last element in a path.
`public `String`` | `getSubPath`(`String` path, int size) Returns the lineage with the number of parents specified.
`public static boolean` | `isValid`(`String` path) Checks if the path is valid: must be non null must be > 0 characters must start with a SEPARATOR must not end with a SEPARATOR
`public static `String`` | `removeFirst`(`String` path) Removes the first element from path and returns the result.
`public static `String`` | `trimPath`(`String` path, int size) Trims the path to the given size.

Methods from class `java.lang.`Object``
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Detail

### SEPARATOR

    public static final String SEPARATOR

## Constructor Detail

### PathHelper

    public PathHelper()

## Method Detail

### addFirst(String, String) Method

    public static String addFirst(String first,
                                  String path)

Adds a new element to the front of a path. For example first = first and path = /a/b/c would return /first/a/b/c.

#### Parameters

first
  - the element to add. Must not contain / as part of the String.

path
  - the path to add an element to.

#### Returns

the updated path

### addLast(String, String) Method

    public static String addLast(String path,
                                 String last)

Adds a new element to the end of a path. For example last = last and path = /a/b/c would return /a/b/c/last.

#### Parameters

path
  - the path to add an element to.

#### Returns

the updated path

### getFirst(String) Method

    public static String getFirst(String path)

Gets the first element in the path. For example, /first/a/b/c would return first.

### getLast(String) Method

    public static String getLast(String path)

Gets the last element in the path. For example, /a/b/c/last would return last

### getLineage(String) Method

    public static String getLineage(String path)

Removes the last element and returns the result. For example, /a/b/c/d would return /a/b/c

### getNameCount(String) Method

    public int getNameCount(String path)

Gets the number of Nodes in the path. For example, /a/b/c/d would return 4.

### getParentName(String) Method

    public static String getParentName(String path)

Gets the second to last element in a path. For example, /a/b/c/parent/e would return parent

### getSubPath(String, int) Method

    public String getSubPath(String path,
                             int size)

Returns the lineage with the number of parents specified. For example, /a/b/c/d/e with a size of 3 would return /a/b/c

### isValid(String) Method

    public static boolean isValid(String path)

Checks if the path is valid:
- must be non null
- must be > 0 characters
- must start with a SEPARATOR
- must not end with a SEPARATOR

  #### Parameters

  path
    - the path to validate

  #### Returns

  true if the above are fullfilled, false if the path is incorrect

  ### removeFirst(String) Method

      public static String removeFirst(String path)

  Removes the first element from path and returns the result. For example, /first/a/b/c would return /a/b/c If there is only one element then return an empty String.

  ### trimPath(String, int) Method

      public static String trimPath(String path,
                                    int size)

  Trims the path to the given size. For example, path = /one/two/three/four and size = 10 would return /one/two/t