Interface PathFactory

All Known Implementing Classes:
DefaultPathFactory

public interface PathFactory
PathFactory defines a factory interface for Path creation
Author:
tiwe
  • Method Details

    • createArrayPath

      <T> Path<T[]> createArrayPath(Class<T[]> type, PathMetadata metadata)
      Create an array path
      Parameters:
      type - type of the path
      metadata - metadata of the path
      Returns:
      new path instance
    • createEntityPath

      <T> Path<T> createEntityPath(Class<T> type, PathMetadata metadata)
      Create an entity path
      Parameters:
      type - type of the path
      metadata - metadata of the path
      Returns:
      new path instance
    • createSimplePath

      <T> Path<T> createSimplePath(Class<T> type, PathMetadata metadata)
      Create a simple path
      Parameters:
      type - type of the path
      metadata - metadata of the path
      Returns:
      new path instance
    • createComparablePath

      <T extends Comparable<?>> Path<T> createComparablePath(Class<T> type, PathMetadata metadata)
      Create a comparable path
      Parameters:
      type - type of the path
      metadata - metadata of the path
      Returns:
      new path instance
    • createEnumPath

      <T extends Enum<T>> Path<T> createEnumPath(Class<T> type, PathMetadata metadata)
      Create an enum path
      Parameters:
      type - type of the path
      metadata - metadata of the path
      Returns:
      new path instance
    • createDatePath

      <T extends Comparable<?>> Path<T> createDatePath(Class<T> type, PathMetadata metadata)
      Create a date path
      Parameters:
      type - type of the path
      metadata - metadata of the path
      Returns:
      new path instance
    • createTimePath

      <T extends Comparable<?>> Path<T> createTimePath(Class<T> type, PathMetadata metadata)
      Create a time path
      Parameters:
      type - type of the path
      metadata - metadata of the path
      Returns:
      new path instance
    • createDateTimePath

      <T extends Comparable<?>> Path<T> createDateTimePath(Class<T> type, PathMetadata metadata)
      Create a datetime path
      Parameters:
      type - type of the path
      metadata - metadata of the path
      Returns:
      new path instance
    • createNumberPath

      <T extends Number & Comparable<T>> Path<T> createNumberPath(Class<T> type, PathMetadata metadata)
      Create a number path
      Parameters:
      type - type of the path
      metadata - metadata of the path
      Returns:
      new path instance
    • createBooleanPath

      Path<Boolean> createBooleanPath(PathMetadata metadata)
      Create a boolean path
      Parameters:
      metadata - metadata of the path
      Returns:
      new path instance
    • createStringPath

      Path<String> createStringPath(PathMetadata metadata)
      Create a string path
      Parameters:
      metadata - metadata of the path
      Returns:
      new path instance
    • createListPath

      <E> Path<List<E>> createListPath(Class<E> elementType, PathMetadata metadata)
      Create a list path
      Parameters:
      elementType - element type
      metadata - metadata of the path
      Returns:
      new path instance
    • createSetPath

      <E> Path<Set<E>> createSetPath(Class<E> elementType, PathMetadata metadata)
      Create a set path
      Parameters:
      elementType - element type
      metadata - metadata of the path
      Returns:
      new path instance
    • createCollectionPath

      <E> Path<Collection<E>> createCollectionPath(Class<E> elementType, PathMetadata metadata)
      Create a collection path
      Parameters:
      elementType - element type
      metadata - metadata of the path
      Returns:
      new path instance
    • createMapPath

      <K, V> Path<Map<K,V>> createMapPath(Class<K> keyType, Class<V> valueType, PathMetadata metadata)
      Create a map path
      Parameters:
      keyType - key type
      valueType - value type
      metadata - metadata of the path
      Returns:
      new path instance