/* * Copyright © 2013. Palomino Labs (http://palominolabs.com) * * 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.palominolabs.crm.sf.rest; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import javax.annotation.concurrent.Immutable; @Immutable public final class BasicSObjectMetadata implements GlobalSObjectDescription { private final String name; private final String label; private final boolean custom; private final String keyPrefix; private final String labelPlural; private final boolean layoutable; private final boolean activateable; private final boolean updateable; private final BasicSObjectUrls sObjectUrls; private final boolean searchable; private final boolean createable; private final boolean customSetting; private final boolean deletable; private final boolean deprecatedAndHidden; private final boolean feedEnabled; private final boolean mergeable; private final boolean queryable; private final boolean replicateable; private final boolean retrieveable; private final boolean undeletable; private final boolean triggerable; @JsonCreator BasicSObjectMetadata(@JsonProperty("name") String name, @JsonProperty("label") String label, @JsonProperty("custom") boolean custom, @JsonProperty("keyPrefix") String keyPrefix, @JsonProperty("labelPlural") String labelPlural, @JsonProperty("layoutable") boolean layoutable, @JsonProperty("activateable") boolean activateable, @JsonProperty("updateable") boolean updateable, @JsonProperty("urls") BasicSObjectUrls SObjectUrls, @JsonProperty("searchable") boolean searchable, @JsonProperty("createable") boolean createable, @JsonProperty("customSetting") boolean customSetting, @JsonProperty("deletable") boolean deletable, @JsonProperty("deprecatedAndHidden") boolean deprecatedAndHidden, @JsonProperty("feedEnabled") boolean feedEnabled, @JsonProperty("mergeable") boolean mergeable, @JsonProperty("queryable") boolean queryable, @JsonProperty("replicateable") boolean replicateable, @JsonProperty("retrieveable") boolean retrieveable, @JsonProperty("undeletable") boolean undeletable, @JsonProperty("triggerable") boolean triggerable) { this.name = name; this.label = label; this.custom = custom; this.keyPrefix = keyPrefix; this.labelPlural = labelPlural; this.layoutable = layoutable; this.activateable = activateable; this.updateable = updateable; this.sObjectUrls = SObjectUrls; this.searchable = searchable; this.createable = createable; this.customSetting = customSetting; this.deletable = deletable; this.deprecatedAndHidden = deprecatedAndHidden; this.feedEnabled = feedEnabled; this.mergeable = mergeable; this.queryable = queryable; this.replicateable = replicateable; this.retrieveable = retrieveable; this.undeletable = undeletable; this.triggerable = triggerable; } @Override public String getName() { return name; } @Override public String getLabel() { return label; } @Override public boolean isCustom() { return custom; } @Override public String getKeyPrefix() { return keyPrefix; } @Override public String getLabelPlural() { return labelPlural; } @Override public boolean isLayoutable() { return layoutable; } @Override public boolean isActivateable() { return activateable; } @Override public boolean isUpdateable() { return updateable; } @Override public boolean isSearchable() { return searchable; } @Override public boolean isCreateable() { return createable; } @Override public boolean isCustomSetting() { return customSetting; } @Override public boolean isDeletable() { return deletable; } @Override public boolean isDeprecatedAndHidden() { return deprecatedAndHidden; } @Override public boolean isFeedEnabled() { return feedEnabled; } @Override public boolean isMergeable() { return mergeable; } @Override public boolean isQueryable() { return queryable; } @Override public boolean isReplicateable() { return replicateable; } @Override public boolean isRetrieveable() { return retrieveable; } @Override public boolean isUndeletable() { return undeletable; } @Override public boolean isTriggerable() { return triggerable; } @Override public BasicSObjectUrls getSObjectUrls() { return sObjectUrls; } }