Files
spring-data-couchbase/spring-data-testapp/src/main/java/com/example/demo/Airport.java
2022-07-29 09:35:26 -07:00

117 lines
2.6 KiB
Java

/*
* Copyright 2017-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.example.demo;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.PersistenceConstructor;
import org.springframework.data.annotation.TypeAlias;
import org.springframework.data.annotation.Version;
import org.springframework.data.couchbase.core.mapping.Document;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* Airport entity
*
* @author Michael Nitschinger
* @author Michael Reiche
*/
@Document
@TypeAlias("airport")
public class Airport {
@Id String id;
String iata;
String icao;
LocalDateTime openDate;
Long gates;
String _class;
@Version Number version;
@CreatedBy private String createdBy;
public Airport() {}
//@PersistenceConstructor
public Airport(String id, String iata, String icao) {
this.id = id;
this.iata = iata;
this.icao = icao;
this.openDate = null; // LocalDateTime.now();
this.gates = Long.valueOf(200);
}
public String getId() {
return id;
}
public String getIata() {
return iata;
}
public String getIcao() {
return icao;
}
public Long getGates() {
return gates;
}
public String get_class() {
return _class;
}
public LocalDateTime getOpenDate() {
return openDate;
}
/*
public Airport withId(String id) {
return new Airport(id, this.iata, this.icao);
}
public Airport withIcao(String icao) {
return new Airport(this.getId(), this.iata, icao);
}
public Airport withIata(String iata) {
return new Airport(this.getId(), iata, this.icao);
}
*/
public Airport clearVersion() {
version = Long.valueOf(0);
return this;
}
public String getCreatedBy() {
return createdBy;
}
public String toString() {
StringBuffer sb = new StringBuffer();
sb.append("{ ");
sb.append(" id: " + id);
sb.append(" iata: " + iata);
sb.append(" icao: " + icao);
sb.append(" gates: " + gates);
sb.append(" open: "+openDate);
// sb.append(" date: "+openDate);
sb.append(" }");
return sb.toString();
}
}