Added AttributeSpecification property type

This commit is contained in:
Luca Frosini 2024-06-06 17:17:06 +02:00
parent 36adf3eac8
commit bf47e6187f
3 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,21 @@
/**
*
*/
package org.gcube.informationsystem.model.impl.properties;
import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
import org.gcube.informationsystem.base.impl.properties.PropertyVariableImpl;
import org.gcube.informationsystem.model.reference.properties.AttributeSpecification;
/**
* @author Luca Frosini (ISTI - CNR)
*/
@JsonTypeName(value = AttributeSpecification.NAME)
public class AttributeSpecificationImpl extends PropertyVariableImpl implements AttributeSpecification {
/**
* Generated Serial Version UID
*/
private static final long serialVersionUID = -7153079086146339263L;
}

View File

@ -0,0 +1,22 @@
package org.gcube.informationsystem.model.reference.properties;
import org.gcube.com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.gcube.informationsystem.base.reference.properties.PropertyVariable;
import org.gcube.informationsystem.model.impl.properties.AttributeSpecificationImpl;
import org.gcube.informationsystem.types.reference.Change;
import org.gcube.informationsystem.types.reference.TypeMetadata;
import org.gcube.informationsystem.utils.Version;
/**
* @author Luca Frosini (ISTI - CNR)
*/
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonDeserialize(as = AttributeSpecificationImpl.class)
@TypeMetadata(name = AttributeSpecification.NAME, description = "This type provides the basic information for the definition of attributes and and variables", version = Version.MINIMAL_VERSION_STRING)
@Change(version = Version.MINIMAL_VERSION_STRING, description = Version.MINIMAL_VERSION_DESCRIPTION)
public interface AttributeSpecification extends Property, PropertyVariable {
public static final String NAME = "Variable"; // AttributeSpecification.class.getSimpleName();
}

View File

@ -9,6 +9,7 @@ import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
import org.gcube.informationsystem.base.reference.AccessType;
import org.gcube.informationsystem.base.reference.properties.PropertyElement;
import org.gcube.informationsystem.base.reference.properties.PropertyVariable;
import org.gcube.informationsystem.base.reference.properties.PropertyVariableDefinition;
import org.gcube.informationsystem.queries.templates.reference.properties.TemplateVariable;
import org.gcube.informationsystem.serialization.ElementMapper;
import org.gcube.informationsystem.types.impl.TypeImpl;
@ -36,6 +37,7 @@ public final class PropertyTypeImpl<P extends PropertyElement> extends TypeImpl
propertyElementAccesTypes = new HashSet<>();
propertyElementAccesTypes.add(PropertyElement.NAME);
propertyElementAccesTypes.add(PropertyVariable.NAME);
propertyElementAccesTypes.add(PropertyVariableDefinition.NAME);
propertyElementAccesTypes.add(LinkedEntity.NAME);
propertyElementAccesTypes.add(TemplateVariable.NAME);
}