gcube-cms-suite/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/ProfiledDocument.java

54 lines
1.5 KiB
Java

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;
}