uk.ac.starlink.ttools.cone
Class ConeErrorPolicy

java.lang.Object
  extended by uk.ac.starlink.ttools.cone.ConeErrorPolicy

public abstract class ConeErrorPolicy
extends Object

Defines how errors are treated during a multiple cone search operation. It also makes sure that interruptions are checked for, which is important to stop threads continuing to submit requests to remote services after the client no longer has any need for them.

Since:
24 Jan 2007
Author:
Mark Taylor

Field Summary
static ConeErrorPolicy ABORT
          An error during a cone search results in a failure of the task.
static ConeErrorPolicy IGNORE
          Errors during cone searches are treated as if the search had returned with no results.
static ConeErrorPolicy RETRY
          If an error occurs during a cone search it is retried until a non-error result is obtained.
 
Constructor Summary
protected ConeErrorPolicy(String name)
          Constructor.
 
Method Summary
static ConeErrorPolicy createAdviceAbortPolicy(String name, String extraAdvice)
          Returns a policy like ABORT, except that if an error occurs, the IOException thrown is populated with some custom text.
static ConeErrorPolicy createRetryPolicy(String name, int nTry)
          Constructs an error policy which will retry the search a fixed number of times.
abstract  StarTable performConeSearch(ConeSearcher cs, double ra, double dec, double sr)
          Uses the given cone searcher object to perform an actual cone search.
 String toString()
          Returns this object's name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ABORT

public static final ConeErrorPolicy ABORT
An error during a cone search results in a failure of the task.


IGNORE

public static final ConeErrorPolicy IGNORE
Errors during cone searches are treated as if the search had returned with no results.


RETRY

public static final ConeErrorPolicy RETRY
If an error occurs during a cone search it is retried until a non-error result is obtained. Use with care.

Constructor Detail

ConeErrorPolicy

protected ConeErrorPolicy(String name)
Constructor.

Parameters:
name - policy name
Method Detail

toString

public String toString()
Returns this object's name.

Overrides:
toString in class Object

performConeSearch

public abstract StarTable performConeSearch(ConeSearcher cs,
                                            double ra,
                                            double dec,
                                            double sr)
                                     throws IOException,
                                            InterruptedException
Uses the given cone searcher object to perform an actual cone search. This may result in more than one call to the given cone searcher's performSearch method.

Implementations are expected to check for thread interruption status and throw an InterruptedException if interruption has happened. They should do this in such a way that the cone search query is not performed (especially multiple times) following an interruption.

Parameters:
cs - cone searcher providing basic cone search capabilities
ra - right ascension in degrees of search region centre
dec - declination in degrees of search region centre
sr - search radius in degrees
Returns:
table containing records in the given cone, or possibly null if no records are found
Throws:
IOException - if an IO error occurs
InterruptedException - if the thread was interrupted
See Also:
ConeSearcher.performSearch(double, double, double)

createRetryPolicy

public static ConeErrorPolicy createRetryPolicy(String name,
                                                int nTry)
Constructs an error policy which will retry the search a fixed number of times.

Parameters:
name - policy name
nTry - maximum number of attempts; if <=0 will retry indefinitely
Returns:
new error policy

createAdviceAbortPolicy

public static ConeErrorPolicy createAdviceAbortPolicy(String name,
                                                      String extraAdvice)
Returns a policy like ABORT, except that if an error occurs, the IOException thrown is populated with some custom text.

Parameters:
name - policy name
extraAdvice - advice to user in case of cone search failure
Returns:
new abort-like policy


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.