@Component(value="core_DatatypeRegistry") public class DatatypeRegistryImpl extends java.lang.Object implements DatatypeRegistry
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<java.lang.Class<?>,Datatype> |
datatypeByClass |
protected java.util.Map<java.lang.String,Datatype> |
datatypeById |
Constructor and Description |
---|
DatatypeRegistryImpl(java.util.List<Datatype<?>> datatypeList,
JmixModulesAwareBeanSelector beanSelector) |
Modifier and Type | Method and Description |
---|---|
<T> Datatype<T> |
find(java.lang.Class<T> javaClass)
Get Datatype instance by the corresponding Java class.
|
Datatype<?> |
find(java.lang.String id)
Get Datatype instance by id.
|
<T> Datatype<T> |
get(java.lang.Class<T> javaClass)
Get Datatype instance by the corresponding Java class.
|
Datatype<?> |
get(java.lang.String id)
Get Datatype instance by its unique id
|
java.lang.String |
getId(Datatype<?> datatype)
Returns an ID of the given datatype in the registry.
|
java.lang.String |
getIdByJavaClass(java.lang.Class<?> javaClass)
Returns an ID of a first datatype handling the given Java class.
|
java.util.Optional<java.lang.String> |
getIdByJavaClassOptional(java.lang.Class<?> javaClass) |
java.util.Optional<java.lang.String> |
getIdOptional(Datatype<?> datatype) |
java.util.Set<java.lang.String> |
getIds() |
void |
register(Datatype<?> datatype,
java.lang.String id,
boolean defaultForJavaClass)
Register a datatype instance
|
protected java.util.Map<java.lang.Class<?>,Datatype> datatypeByClass
protected java.util.Map<java.lang.String,Datatype> datatypeById
@Autowired public DatatypeRegistryImpl(java.util.List<Datatype<?>> datatypeList, JmixModulesAwareBeanSelector beanSelector)
public Datatype<?> get(java.lang.String id)
DatatypeRegistry
get
in interface DatatypeRegistry
public Datatype<?> find(java.lang.String id)
DatatypeRegistry
find
in interface DatatypeRegistry
@Nullable public <T> Datatype<T> find(java.lang.Class<T> javaClass)
DatatypeRegistry
find
in interface DatatypeRegistry
public <T> Datatype<T> get(java.lang.Class<T> javaClass)
get
in interface DatatypeRegistry
java.lang.IllegalArgumentException
- if no datatype suitable for the given type foundpublic java.lang.String getId(Datatype<?> datatype)
DatatypeRegistry
getId
in interface DatatypeRegistry
public java.util.Optional<java.lang.String> getIdOptional(Datatype<?> datatype)
getIdOptional
in interface DatatypeRegistry
Optional
if it found in the registry,
otherwise an empty Optional
.public java.lang.String getIdByJavaClass(java.lang.Class<?> javaClass)
DatatypeRegistry
getIdByJavaClass
in interface DatatypeRegistry
public java.util.Optional<java.lang.String> getIdByJavaClassOptional(java.lang.Class<?> javaClass)
getIdByJavaClassOptional
in interface DatatypeRegistry
Optional
if it found, otherwise an empty Optional
.public java.util.Set<java.lang.String> getIds()
getIds
in interface DatatypeRegistry
public void register(Datatype<?> datatype, java.lang.String id, boolean defaultForJavaClass)
DatatypeRegistry
register
in interface DatatypeRegistry
datatype
- datatype instanceid
- unique registration iddefaultForJavaClass
- true if the datatype should be default for a Java class handled by this datatype