information-system-model/src/main/java/org/gcube/informationsystem/types/reference/properties/ResourceEntryDefinition.java

51 lines
1.9 KiB
Java

package org.gcube.informationsystem.types.reference.properties;
import org.gcube.informationsystem.base.reference.properties.BaseProperty;
import org.gcube.informationsystem.types.annotations.ISProperty;
import org.gcube.informationsystem.types.impl.properties.ResourceEntryDefinitionImpl;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
@JsonDeserialize(as=ResourceEntryDefinitionImpl.class)
public interface ResourceEntryDefinition extends BaseProperty {
public static final String NAME = "ResourceEntryDefinition"; // ResourceSchemaEntryDefinition.class.getSimpleName();
public static final String SOURCE_PROPERTY = "source";
public static final String RELATION_PROPERTY = "relation";
public static final String TARGET_PROPERTY = "target";
public static final String DESCRIPTION_PROPERTY = "description";
public static final String MIN_PROPERTY = "min";
public static final String MAX_PROPERTY = "max";
@ISProperty(name = SOURCE_PROPERTY, readonly = true, mandatory = true, nullable = false)
public String getSource();
public void setSource(String source);
@ISProperty(name = RELATION_PROPERTY, readonly = true, mandatory = true, nullable = false)
public String getRelation();
public void setRelation(String relation);
@ISProperty(name = TARGET_PROPERTY, readonly = true, mandatory = true, nullable = false)
public String getTarget();
public void setTarget(String target);
@ISProperty(name = DESCRIPTION_PROPERTY, readonly = true, mandatory = true, nullable = false)
public String getDescription();
public void setDescription(String description);
@ISProperty(name = MIN_PROPERTY, readonly = false, mandatory = true, nullable = false)
public Integer getMin();
public void setMin(Integer min);
@ISProperty(name = MAX_PROPERTY, readonly = false, mandatory = true, nullable = true)
public Integer getMax();
public void setMax(Integer max);
}