public class FallbackIdMethod extends java.lang.Object implements IdMethod
Modifier and Type | Field and Description |
---|---|
private java.lang.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 java.lang.String |
title |
Constructor and Description |
---|
FallbackIdMethod(java.lang.String method,
java.lang.String title,
IdMethod parent)
Create a new id method.
|
Modifier and Type | Method and Description |
---|---|
<I extends BasicItem> |
find(DbControl dc,
ItemQuery<I> query,
java.lang.String identifier)
First, find items using the parent id method.
|
java.lang.String |
getColumnMappingParameterName() |
java.lang.String |
getMethod()
The name of this method, which should be unique among the methods that
can be used at a given time.
|
java.lang.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 |
java.lang.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 java.lang.String method
private final java.lang.String title
private final IdMethod parent
public FallbackIdMethod(java.lang.String method, java.lang.String title, IdMethod parent)
method
- The method name, which should be unique among all methodstitle
- The title to use for display purposesparent
- The parent id method, which will be tried firstpublic java.lang.String getMethod()
IdMethod
public java.lang.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 java.lang.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> java.util.List<I> find(DbControl dc, ItemQuery<I> query, java.lang.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 itempublic java.lang.String toString()
toString
in class java.lang.Object