001package co.codewizards.cloudstore.local.persistence;
002
003import java.util.UUID;
004
005import javax.jdo.annotations.Column;
006import javax.jdo.annotations.Index;
007import javax.jdo.annotations.NullValue;
008import javax.jdo.annotations.PersistenceCapable;
009import javax.jdo.annotations.Persistent;
010import javax.jdo.annotations.Queries;
011import javax.jdo.annotations.Query;
012import javax.jdo.annotations.Unique;
013
014import co.codewizards.cloudstore.core.repo.transport.TransferDoneMarkerType;
015
016@PersistenceCapable
017@Unique(
018                name="TransferDoneMarker_fromRepositoryId_toRepositoryId_transferDoneMarkerType_fromEntityId",
019                members={"fromRepositoryId", "toRepositoryId", "transferDoneMarkerType", "fromEntityId"})
020@Index(
021                name="TransferDoneMarker_fromRepositoryId_toRepositoryId",
022                members={"fromRepositoryId", "toRepositoryId"})
023@Queries({
024        @Query(
025                        name="getTransferDoneMarker_fromRepositoryId_toRepositoryId_transferDoneMarkerType_fromEntityId",
026                        value="SELECT UNIQUE WHERE"
027                                        + " this.fromRepositoryId == :fromRepositoryId"
028                                        + " && this.toRepositoryId == :toRepositoryId"
029                                        + " && this.transferDoneMarkerType == :transferDoneMarkerType"
030                                        + " && this.fromEntityId == :fromEntityId"),
031        @Query(
032                        name="getTransferDoneMarkers_fromRepositoryId_toRepositoryId",
033                        value="SELECT WHERE this.fromRepositoryId == :fromRepositoryId && this.toRepositoryId == :toRepositoryId")
034})
035public class TransferDoneMarker extends Entity {
036
037        @Persistent(nullValue = NullValue.EXCEPTION)
038        private String fromRepositoryId;
039
040        @Persistent(nullValue = NullValue.EXCEPTION)
041        private String toRepositoryId;
042
043        @Persistent(nullValue = NullValue.EXCEPTION)
044        @Column(jdbcType="INTEGER")
045        private TransferDoneMarkerType transferDoneMarkerType;
046
047        private long fromEntityId;
048
049        private long fromLocalRevision;
050
051        public UUID getFromRepositoryId() {
052                return fromRepositoryId == null ? null : UUID.fromString(fromRepositoryId);
053        }
054        public void setFromRepositoryId(final UUID fromRepositoryId) {
055                this.fromRepositoryId = fromRepositoryId == null ? null : fromRepositoryId.toString();
056        }
057
058        public UUID getToRepositoryId() {
059                return toRepositoryId == null ? null : UUID.fromString(toRepositoryId);
060        }
061        public void setToRepositoryId(final UUID toRepositoryId) {
062                this.toRepositoryId = toRepositoryId == null ? null : toRepositoryId.toString();
063        }
064
065        public TransferDoneMarkerType getTransferDoneMarkerType() {
066                return transferDoneMarkerType;
067        }
068        public void setTransferDoneMarkerType(final TransferDoneMarkerType transferDoneMarkerType) {
069                this.transferDoneMarkerType = transferDoneMarkerType;
070        }
071
072        public long getFromEntityId() {
073                return fromEntityId;
074        }
075        public void setFromEntityId(final long fromEntityId) {
076                this.fromEntityId = fromEntityId;
077        }
078
079        public long getFromLocalRevision() {
080                return fromLocalRevision;
081        }
082        public void setFromLocalRevision(final long fromLocalRevision) {
083                this.fromLocalRevision = fromLocalRevision;
084        }
085
086}