package org.gcube.application.geoportal.common.model.document; import com.mongodb.client.model.geojson.GeoJsonObjectType; import com.vdurmont.semver4j.Semver; import lombok.*; import org.bson.Document; import org.gcube.application.geoportal.common.model.document.accounting.PublicationInfo; import org.gcube.application.geoportal.common.model.document.lifecycle.LifecycleInformation; @NoArgsConstructor @AllArgsConstructor @Getter @Setter @ToString public class ProfiledDocument { public static final String ID="_id"; public static final String VERSION="_version"; public static final String INFO="_info"; public static final String PROFILE_ID="_profileID"; public static final String PROFILE_VERSION="_profileVersion"; public static final String LIFECYCLE_INFORMATION="_lifecycleInformation"; public static final String RELATIONSHIPS="_relationships"; public static final String SPATIAL_REFERENCE="_spatialReference"; public static final String TEMPORAL_REFERENCE="_temporalReference"; public static final String THE_DOCUMENT="_theDocument"; // CORE METADATA private String _id; private Semver version; // Publication Info private PublicationInfo info; // Profile reference private String profileID; private Semver profileVersion; private LifecycleInformation lifecycleInformation; private Relationship[] relationships; // Expected GEOJSON private Document spatialReference; private TemporalReference temporalReference; private Document theDocument; }