Crear su propio plugin de valores de selección de opciones
Para crear su propio plugin de valores de selección de opciones (Option select values), debe crear una nueva clase que implemente la interfaz OptionSelectValues:
package com.openkm.plugin.form;
import java.util.List;import net.xeoh.plugins.base.Plugin;import com.openkm.bean.form.Option;
public interface OptionSelectValues extends Plugin { public abstract String getName(); public abstract List<Option> getOptions() throws OptionSelectException;}La nueva clase debe cargarse en el paquete com.openkm.plugin.form, porque el sistema de plugins de la aplicación intentará cargarla desde ahí.
Descripción de los métodos
Sección titulada «Descripción de los métodos»| Método | Tipo | Descripción |
|---|---|---|
| getName() | String | Devuelve el nombre que se mostrará en la tabla de plugins. |
| getOptions() | List | Devuelve una lista con las opciones. |
Ejemplo de implementación de Option select values
Sección titulada «Ejemplo de implementación de Option select values»package com.openkm.plugin.form;
import java.util.ArrayList;import java.util.List;
import com.openkm.api.OKMAuth;import com.openkm.bean.form.Option;import com.openkm.principal.PrincipalAdapterException;
import net.xeoh.plugins.base.annotations.PluginImplementation;
@PluginImplementationpublic class OptionSelectUserList implements OptionSelectValues { @Override public String getName() { return "User list"; }
@Override public List<Option> getOptions() throws OptionSelectException { List<Option> options = new ArrayList<Option>(); try { List<String> userList; userList = OKMAuth.getInstance().getUsers(null); for (String user : userList) { Option option = new Option(); option.setLabel(OKMAuth.getInstance().getName(null, user)); option.setValue(user); options.add(option); } } catch (PrincipalAdapterException e) { throw new OptionSelectException(e); } return options; }}