gcube-sdi-suite/sdi-library/src/main/java/org/gcube/spatial/data/sdi/plugins/SDIAbstractPlugin.java

52 lines
1.3 KiB
Java
Raw Normal View History

2021-02-12 18:00:21 +01:00
package org.gcube.spatial.data.sdi.plugins;
2021-04-09 18:15:10 +02:00
import org.gcube.common.clients.Plugin;
2021-02-12 18:00:21 +01:00
import org.gcube.common.clients.ProxyBuilder;
import org.gcube.common.clients.ProxyBuilderImpl;
2021-04-09 18:15:10 +02:00
import org.gcube.common.gxrest.request.GXWebTargetAdapterRequest;
2021-02-12 18:00:21 +01:00
import org.gcube.spatial.data.sdi.interfaces.Metadata;
2021-02-16 16:10:52 +01:00
import org.gcube.spatial.data.sdi.interfaces.SDIManagement;
2021-02-12 18:00:21 +01:00
import org.gcube.spatial.data.sdi.model.ServiceConstants;
public abstract class SDIAbstractPlugin<S, P> implements Plugin<S, P>{
private static final MetadataPlugin metadata_plugin=new MetadataPlugin();
2021-02-16 16:10:52 +01:00
private static final SDIPlugin sdi_plugin=new SDIPlugin();
2021-02-12 18:00:21 +01:00
public static ProxyBuilder<Metadata> metadata() {
2021-04-09 18:15:10 +02:00
return new ProxyBuilderImpl<GXWebTargetAdapterRequest,Metadata>(metadata_plugin);
2021-02-12 18:00:21 +01:00
}
2021-02-16 16:10:52 +01:00
public static ProxyBuilder<SDIManagement> management() {
2021-04-09 18:15:10 +02:00
return new ProxyBuilderImpl<GXWebTargetAdapterRequest,SDIManagement>(sdi_plugin);
2021-02-16 16:10:52 +01:00
}
2021-02-12 18:00:21 +01:00
public final String name;
public SDIAbstractPlugin(String name) {
this.name = name;
}
@Override
public String serviceClass() {
return ServiceConstants.SERVICE_CLASS;
}
@Override
public String serviceName() {
return ServiceConstants.SERVICE_NAME;
}
@Override
public String name() {
return name;
}
@Override
public String namespace() {
return ServiceConstants.NAMESPACE;
}
}