
com.fasterxml.clustermate.api.RequestPathStrategy Maven / Gradle / Ivy
Show all versions of clustermate-api Show documentation
package com.fasterxml.clustermate.api;
/**
* Type that defines how references are built to access
* a StoreMate service node.
*
* @param Path type enumeration used
*/
public abstract class RequestPathStrategy
>
{
/*
/**********************************************************************
/* Methods for building general requests paths (by client or server-as-client)
/**********************************************************************å
*/
/**
* Method to call to append path segments of specified type, onto
* partially built base path.
*
* @param basePath Existing path, on to which append specified path segment(s)
*
* @return Path builder after appending specified path
*/
public abstract > B appendPath(B basePath, P type);
/*
/**********************************************************************
/* Methods for building basic content access paths
/**********************************************************************å
*/
/**
* Method for building path for accessing payload of specified entry.
*/
public abstract > B appendStoreEntryPath(B basePath);
/**
* Method for building path for entry point to access item info of individual entries.
*/
public abstract > B appendStoreEntryInfoPath(B basePath);
/**
* Method for building path for entry point to list available entries with specified
* path prefix.
*/
public abstract > B appendStoreListPath(B basePath);
/*
/**********************************************************************
/* Methods for building server-side access paths
/**********************************************************************å
*/
public abstract > B appendSyncListPath(B basePath);
public abstract > B appendSyncPullPath(B basePath);
public abstract > B appendNodeMetricsPath(B basePath);
public abstract > B appendNodeStatusPath(B basePath);
public abstract > B appendRemoteSyncListPath(B basePath);
public abstract > B appendRemoteSyncPullPath(B basePath);
public abstract > B appendRemoteStatusPath(B basePath);
/*
/**********************************************************************
/* Methods for decoded requests paths (by server)
/**********************************************************************
*/
/**
* Method for finding which entry point given path matches (if any); and if there
* is a match, consuming matched path.
*/
public abstract P matchPath(DecodableRequestPath pathDecoder);
}