alluxio.job.plan.transform.FieldSchema Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of alluxio-job-common Show documentation
Show all versions of alluxio-job-common Show documentation
Common utilities shared in Alluxio job service modules
/*
* The Alluxio Open Foundation licenses this work under the Apache License, version 2.0
* (the "License"). You may not use this work except in compliance with the License, which is
* available at www.apache.org/licenses/LICENSE-2.0
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied, as more fully set forth in the License.
*
* See the NOTICE file distributed with this work for information regarding copyright ownership.
*/
package alluxio.job.plan.transform;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.MoreObjects;
import com.google.common.base.Objects;
import java.io.Serializable;
/**
* Metadata of a field in the schema.
*/
public class FieldSchema implements Serializable {
private static final long serialVersionUID = 4573336558464588151L;
private final int mId;
private final String mName;
private final String mType;
private final String mComment;
/**
* @param id the id
* @param name the name
* @param type the type
* @param comment the comment
*/
public FieldSchema(@JsonProperty("id") int id,
@JsonProperty("name") String name,
@JsonProperty("type") String type,
@JsonProperty("comment") String comment) {
mId = id;
mName = name;
mType = type;
mComment = comment;
}
/**
* @return the ID of the field
*/
public int getId() {
return mId;
}
/**
* @return the name of the field
*/
public String getName() {
return mName;
}
/**
* @return the type of the field
*/
public String getType() {
return mType;
}
/**
* @return the comment of the field
*/
public String getComment() {
return mComment;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (this == obj) {
return true;
}
if (!(obj instanceof FieldSchema)) {
return false;
}
FieldSchema that = (FieldSchema) obj;
return mId == that.mId
&& mName.equals(that.mName)
&& mType.equals(that.mType)
&& mComment.equals(that.mComment);
}
@Override
public int hashCode() {
return Objects.hashCode(mId, mName, mType, mComment);
}
@Override
public String toString() {
return MoreObjects.toStringHelper(this)
.add("id", mId)
.add("name", mName)
.add("type", mType)
.add("comment", mComment)
.toString();
}
}