
com.sappenin.utils.rest.v2.model.impl.AbstractRestModel Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rest-utils2 Show documentation
Show all versions of rest-utils2 Show documentation
Utilities, Helpers, and base-classes for assisting in server-side REST API implementations written in
Java.
The newest version!
/**
* Copyright (C) 2014 Sappenin Inc. ([email protected])
*
* 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
*
* http://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.sappenin.utils.rest.v2.model.impl;
import java.util.Map;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.ToString;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.sappenin.utils.rest.v2.InternalId;
import com.sappenin.utils.rest.v2.model.RestModel;
import com.sappenin.utils.rest.v2.model.meta.Meta;
/**
* An abstract implementation of {@link RestModel}.
*/
@Getter
@EqualsAndHashCode
@ToString
@JsonPropertyOrder({
"meta", "optId", "additionalAttributes"
})
public abstract class AbstractRestModel implements RestModel
{
private static final long serialVersionUID = 6523915199962689298L;
@JsonProperty("meta")
private final Optional optMeta;
// An internal identifier for compartmentalized use by server-side or client-side applications.
@JsonProperty("id")
private final Optional optId;
@Getter
@JsonProperty("additionalAttributes")
@JsonUnwrapped
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss'Z'", timezone = "UTC")
private Optional
© 2015 - 2025 Weber Informatics LLC | Privacy Policy