public class FallbackIdMethod extends Object implements IdMethod
Modifier and Type | Field and Description |
---|---|
private String |
method |
static FallbackIdMethod |
NAME_OR_BARCODE_OR_ID |
static FallbackIdMethod |
NAME_OR_EXTERNALID_OR_ID |
static FallbackIdMethod |
NAME_OR_ID
Use the name for finding items.
|
static FallbackIdMethod |
NAME_OR_SYSTEMID_OR_ID
Use the name or system ID for finding items.
|
private IdMethod |
parent |
private String |
title |
Constructor and Description |
---|
FallbackIdMethod(String method,
String title,
IdMethod parent)
Create a new id method.
|
Modifier and Type | Method and Description |
---|---|
<I extends BasicItem> |
find(DbControl dc,
ItemQuery<I> query,
String identifier)
First, find items using the parent id method.
|
String |
getColumnMappingParameterName() |
String |
getMethod()
The name of this method, which should be unique among the methods that
can be used at a given time.
|
String |
getTitle()
The display title of the method.
|
boolean |
isTrulyUnique()
If the identification method is truly unique or not.
|
<I extends BasicItem> |
prepareQuery(DbControl dc,
ItemQuery<I> query)
Adds a restriction to the query:
property = :identifier |
String |
toString() |
public static final FallbackIdMethod NAME_OR_ID
public static final FallbackIdMethod NAME_OR_EXTERNALID_OR_ID
public static final FallbackIdMethod NAME_OR_BARCODE_OR_ID
public static final FallbackIdMethod NAME_OR_SYSTEMID_OR_ID
private final String method
private final String title
private final IdMethod parent
public String getMethod()
IdMethod
public String getTitle()
IdMethod
public boolean isTrulyUnique()
IdMethod
IdMethod.find(DbControl, ItemQuery, String)
method will
never ever return a list with more than one item.isTrulyUnique
in interface IdMethod
public String getColumnMappingParameterName()
getColumnMappingParameterName
in interface IdMethod
public <I extends BasicItem> ItemQuery<I> prepareQuery(DbControl dc, ItemQuery<I> query)
property = :identifier
prepareQuery
in interface IdMethod
query
- The query to preparepublic <I extends BasicItem> List<I> find(DbControl dc, ItemQuery<I> query, String identifier)
getById()
to
load the item.find
in interface IdMethod
query
- The query to use, which should have been prepared
using IdMethod.prepareQuery(DbControl, ItemQuery)
identifier
- The identifier of the itemIdMethod.isTrulyUnique()
return true
the list is guaranteed to have at most one item