@Override public void setOptions(Options<V> options) { if (this.optionsBinding != null) { this.optionsBinding.unbind(); this.optionsBinding = null; } if (options != null) { OptionsBinder optionsBinder = beanLocator.get(OptionsBinder.NAME); this.optionsBinding = optionsBinder.bind(options, this, this::setItemsToPresentation); this.optionsBinding.activate(); if (getMetaClass() == null && options instanceof EntityOptions) { setMetaClass(((EntityOptions<V>) options).getEntityMetaClass()); } } }
@Override public void setOptions(Options<V> options) { if (this.optionsBinding != null) { this.optionsBinding.unbind(); this.optionsBinding = null; } if (options != null) { OptionsBinder optionsBinder = beanLocator.get(OptionsBinder.NAME); this.optionsBinding = optionsBinder.bind(options, this, this::setItemsToPresentation); this.optionsBinding.activate(); if (getMetaClass() == null && options instanceof EntityOptions) { setMetaClass(((EntityOptions<V>) options).getEntityMetaClass()); } } }
protected Class<V> getLookupEntityClass() { Class<V> entityClass; ValueSource<Collection<V>> valueSource = getValueSource(); if (valueSource != null) { if (valueSource instanceof EntityValueSource) { //noinspection unchecked entityClass = ((EntityValueSource) valueSource).getMetaPropertyPath().getRangeJavaClass(); } else { entityClass = ((LegacyCollectionDsValueSource<V>) valueSource).getDatasource().getMetaClass().getJavaClass(); } } else if (getOptions() instanceof EntityOptions) { entityClass = ((EntityOptions<V>) getOptions()).getEntityMetaClass().getJavaClass(); } else { throw new RuntimeException("Unable to determine entity class to open lookup"); } return entityClass; }