gcube-model/src/main/java/org/gcube/resourcemanagement/model/reference/entities/facets/LocationFacet.java

64 lines
2.6 KiB
Java

/**
*
*/
package org.gcube.resourcemanagement.model.reference.entities.facets;
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.gcube.informationsystem.model.reference.entities.Facet;
import org.gcube.informationsystem.types.annotations.ISProperty;
import org.gcube.informationsystem.types.reference.Change;
import org.gcube.informationsystem.types.reference.TypeMetadata;
import org.gcube.informationsystem.utils.TypeVersion;
import org.gcube.resourcemanagement.model.impl.entities.facets.LocationFacetImpl;
/**
* LocationFacet captures information on a physical area characterising the resource it
* is associated with. This should not be confused with {@link CoverageFacet}
* The LocationFacet provides information of a location (eventually using
* latitude and longitude), instead {@link CoverageFacet} provide a way to to define the spatial
* or the temporal extent the resource represent.
*
* It is mainly used to locate a data centre or to the geographic references of a
* legal body playing the role of an actor in the infrastructure.
*
* https://wiki.gcube-system.org/gcube/GCube_Model#Location_Facet
*
* @author Luca Frosini (ISTI - CNR)
*/
@JsonDeserialize(as=LocationFacetImpl.class)
@TypeMetadata(
name = LocationFacet.NAME,
description = "LocationFacet captures information on a physical area characterising the resource it is associated with. "
+ "This should not be confused with {@link CoverageFacet}. "
+ "The LocationFacet provides information of a location (eventually using latitude and longitude), "
+ "instead {@link CoverageFacet} provide a way to to define the spatial or the temporal extent the resource represent. "
+ "It is mainly used to locate a data centre or to the geographic references of a legal body playing "
+ "the role of an actor in the infrastructure.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface LocationFacet extends Facet {
public static final String NAME = "LocationFacet"; // LocationFacet.class.getSimpleName();
@ISProperty(description = "The English name of the country")
public String getCountry();
public void setCountry(String country);
@ISProperty(description = "The City name")
public String getLocation();
public void setLocation(String location);
@ISProperty(description = "Latitude")
public String getLatitude();
public void setLatitude(String latitude);
@ISProperty(description = "Longitude")
public String getLongitude();
public void setLongitude(String longitude);
}