Interface Mount

  • All Known Implementing Classes:
    MountInfo

    @ProviderType
    public interface Mount
    Refers to a set of paths from a ContentRepositoryx that are possibly stored in a separate physical persistent store.

    In a default setup all paths belong to a default Mount.

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.String getName()
      Name of the mount.
      java.lang.String getPathFragmentName()
      Returns fragment name which can be used to construct node name used for storing meta content belonging to path under this Mount.
      boolean isDefault()
      Checks whether current mount is the default mount.
      boolean isDirectlyUnder​(java.lang.String path)
      Checks if this mount directly falls under given path.
      boolean isMounted​(java.lang.String path)
      Checks if given path belongs to this Mount
      boolean isReadOnly()
      Checks whether the mount is marked as read only.
      boolean isSupportFragment​(java.lang.String path)
      Checks if this mount supports mounting nodes containing the fragment (see getPathFragmentName()) under the given path.
      boolean isSupportFragmentUnder​(java.lang.String path)
      Checks if any path supporting the fragments falls under the specified path.
      boolean isUnder​(java.lang.String path)
      Checks if this mount falls under given path.
    • Method Detail

      • getName

        java.lang.String getName()
        Name of the mount. If this @Mount is the default mount, an empty string is returned
      • isReadOnly

        boolean isReadOnly()
        Checks whether the mount is marked as read only.
        Returns:
        true if the mount is read only.
      • isDefault

        boolean isDefault()
        Checks whether current mount is the default mount.

        The Default mount includes the root path and all other paths which are not part of any other mount.

        Returns:
        true if this mount represents the default mount
      • getPathFragmentName

        java.lang.String getPathFragmentName()
        Returns fragment name which can be used to construct node name used for storing meta content belonging to path under this Mount. Such a node name would be used by NodeStore to determine the storage for nodes under those paths.

        Fragment name is formatted as 'oak:mount-<mount name>'

        For e.g. for mount name 'private' the fragment name would be oak:mount-private. This can be then used to construct node name like oak:mount-private-index and then any derived content for path under this mount would be stored as child node under oak:mount-private-index like /fooIndex/oak:mount-private-index/foo. Such paths would then be stored in a separate store which would only be storing paths belonging to that mount

        If this Mount is the default mount, an empty string is returned

        Returns:
        node name prefix which can be used
      • isSupportFragment

        boolean isSupportFragment​(java.lang.String path)
        Checks if this mount supports mounting nodes containing the fragment (see getPathFragmentName()) under the given path.
        Parameters:
        path - ancestor path
        Returns:
        true if the path fragment mounts are supported in the given subtree
      • isSupportFragmentUnder

        boolean isSupportFragmentUnder​(java.lang.String path)
        Checks if any path supporting the fragments falls under the specified path.
        Parameters:
        path - ancestor path
        Returns:
        true if the path fragment mounts are supported under some descendants of the specified path
      • isMounted

        boolean isMounted​(java.lang.String path)
        Checks if given path belongs to this Mount

        A path belongs to a Mount in two scenarios:

        1. The path is below a fragment-supported path and the path contains a fragment name.
        2. The path of this mount is the most specific ancestor for the specified path.

        The fragment check has a higher priority, and the presence of a fragment name in the path always decides the mount this path belongs to.

        Parameters:
        path - path to check
        Returns:
        true if path belong to this mount
        See Also:
        getPathFragmentName()
      • isUnder

        boolean isUnder​(java.lang.String path)
        Checks if this mount falls under given path.

        For e.g. if a mount consist of '/etc/config'. Then if path is

        • /etc - Then it returns true
        • /etc/config - Then it returns false
        • /lib - Then it returns false
        Parameters:
        path - path to check
        Returns:
        true if this Mount is rooted under given path
      • isDirectlyUnder

        boolean isDirectlyUnder​(java.lang.String path)
        Checks if this mount directly falls under given path.

        For e.g. if a mount consist of '/etc/my/config'. Then if path is

        • /etc - Then it returns false
        • /etc/my - Then it returns true
        • /etc/my/config- Then it returns false
        • /lib - Then it returns false
        Parameters:
        path - path to check
        Returns:
        true if this Mount is rooted directly under given path