Java tutorial
/* * Copyright (C) 2014 Indeed Inc. * * 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.indeed.imhotep.metadata; import com.google.common.base.Strings; import org.codehaus.jackson.node.ObjectNode; import javax.annotation.Nonnull; import javax.annotation.Nullable; /** * @author vladimir */ public class FieldMetadata { @Nonnull final String name; @Nullable String friendlyName; @Nullable String description; @Nonnull FieldType type; @Nonnull final FieldType imhotepType; boolean isHidden; public FieldMetadata(@Nonnull String name, @Nonnull FieldType imhotepType) { this.name = name; this.imhotepType = imhotepType; this.type = imhotepType; } @Nonnull public String getName() { return name; } public String getFriendlyName() { return friendlyName; } public String getDescription() { return description; } @Nonnull public FieldType getImhotepType() { return imhotepType; } @Nonnull public FieldType getType() { return type; } public void setType(@Nonnull FieldType type) { this.type = type; } public void setFriendlyName(@Nullable String friendlyName) { this.friendlyName = friendlyName; } public void setDescription(@Nullable String description) { this.description = description; } public boolean isHidden() { return isHidden; } public void setHidden(boolean hidden) { isHidden = hidden; } public boolean isIntImhotepField() { return imhotepType == FieldType.Integer; } public boolean isStringImhotepField() { return imhotepType == FieldType.String; } public void toJSON(@Nonnull ObjectNode jsonNode) { jsonNode.put("name", getName()); final String description = Strings.nullToEmpty(getDescription()); jsonNode.put("description", description); jsonNode.put("type", getType().toString()); if (getType() != getImhotepType()) { jsonNode.put("imhotepType", getImhotepType().toString()); } } }