2017-12-18 15:37:22 +01:00
|
|
|
package org.gcube.informationsystem.resourceregistry.schema;
|
2017-12-18 15:34:25 +01:00
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
2020-01-30 11:04:58 +01:00
|
|
|
import org.gcube.informationsystem.base.reference.Element;
|
2017-12-18 15:34:25 +01:00
|
|
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
|
|
|
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.schema.SchemaException;
|
|
|
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.schema.SchemaNotFoundException;
|
2019-10-25 17:44:44 +02:00
|
|
|
import org.gcube.informationsystem.types.reference.TypeDefinition;
|
2017-12-18 15:34:25 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @author Luca Frosini (ISTI - CNR)
|
|
|
|
*/
|
|
|
|
public interface ResourceRegistrySchemaClient {
|
|
|
|
|
2020-01-30 11:04:58 +01:00
|
|
|
public <ISM extends Element> TypeDefinition create(Class<ISM> clz)
|
2017-12-18 15:34:25 +01:00
|
|
|
throws SchemaException, ResourceRegistryException;
|
|
|
|
|
2017-12-19 11:27:29 +01:00
|
|
|
public String create(String baseType, String typeDefinitition)
|
2017-12-18 15:34:25 +01:00
|
|
|
throws SchemaException, ResourceRegistryException;
|
|
|
|
|
|
|
|
|
2020-01-30 11:04:58 +01:00
|
|
|
public <ISM extends Element> List<TypeDefinition> read(Class<ISM> clz, Boolean polymorphic)
|
2017-12-18 15:34:25 +01:00
|
|
|
throws SchemaNotFoundException, ResourceRegistryException;
|
|
|
|
|
|
|
|
public String read(String type, Boolean polymorphic)
|
|
|
|
throws SchemaNotFoundException, ResourceRegistryException;
|
|
|
|
|
|
|
|
}
|