blob: ba394dc6adb146692da19db4b0c12b9536cddbc6 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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 org.apache.hadoop.yarn.api.records.impl.pb;
import com.google.protobuf.TextFormat;
import org.apache.hadoop.classification.InterfaceAudience;
import org.apache.hadoop.classification.InterfaceStability;
import org.apache.hadoop.yarn.api.records.QueueStatistics;
import org.apache.hadoop.yarn.proto.YarnProtos.QueueStatisticsProto;
import org.apache.hadoop.yarn.proto.YarnProtos.QueueStatisticsProtoOrBuilder;
@InterfaceAudience.Private
@InterfaceStability.Unstable
public class QueueStatisticsPBImpl extends QueueStatistics {
QueueStatisticsProto proto = QueueStatisticsProto.getDefaultInstance();
QueueStatisticsProto.Builder builder = null;
boolean viaProto = false;
public QueueStatisticsPBImpl() {
builder = QueueStatisticsProto.newBuilder();
}
public QueueStatisticsPBImpl(QueueStatisticsProto proto) {
this.proto = proto;
viaProto = true;
}
public QueueStatisticsProto getProto() {
proto = viaProto ? proto : builder.build();
viaProto = true;
return proto;
}
@Override
public int hashCode() {
return getProto().hashCode();
}
@Override
public boolean equals(Object other) {
if (other == null)
return false;
if (other.getClass().isAssignableFrom(this.getClass())) {
return this.getProto().equals(this.getClass().cast(other).getProto());
}
return false;
}
@Override
public String toString() {
return TextFormat.shortDebugString(getProto());
}
private void maybeInitBuilder() {
if (viaProto || builder == null) {
builder = QueueStatisticsProto.newBuilder(proto);
}
viaProto = false;
}
@Override
public long getNumAppsSubmitted() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasNumAppsSubmitted()) ? p.getNumAppsSubmitted() : -1;
}
@Override
public void setNumAppsSubmitted(long numAppsSubmitted) {
maybeInitBuilder();
builder.setNumAppsSubmitted(numAppsSubmitted);
}
@Override
public long getNumAppsRunning() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasNumAppsRunning()) ? p.getNumAppsRunning() : -1;
}
@Override
public void setNumAppsRunning(long numAppsRunning) {
maybeInitBuilder();
builder.setNumAppsRunning(numAppsRunning);
}
@Override
public long getNumAppsPending() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasNumAppsPending()) ? p.getNumAppsPending() : -1;
}
@Override
public void setNumAppsPending(long numAppsPending) {
maybeInitBuilder();
builder.setNumAppsPending(numAppsPending);
}
@Override
public long getNumAppsCompleted() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasNumAppsCompleted()) ? p.getNumAppsCompleted() : -1;
}
@Override
public void setNumAppsCompleted(long numAppsCompleted) {
maybeInitBuilder();
builder.setNumAppsCompleted(numAppsCompleted);
}
@Override
public long getNumAppsKilled() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasNumAppsKilled()) ? p.getNumAppsKilled() : -1;
}
@Override
public void setNumAppsKilled(long numAppsKilled) {
maybeInitBuilder();
builder.setNumAppsKilled(numAppsKilled);
}
@Override
public long getNumAppsFailed() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasNumAppsFailed()) ? p.getNumAppsFailed() : -1;
}
@Override
public void setNumAppsFailed(long numAppsFailed) {
maybeInitBuilder();
builder.setNumAppsFailed(numAppsFailed);
}
@Override
public long getNumActiveUsers() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasNumActiveUsers()) ? p.getNumActiveUsers() : -1;
}
@Override
public void setNumActiveUsers(long numActiveUsers) {
maybeInitBuilder();
builder.setNumActiveUsers(numActiveUsers);
}
@Override
public long getAvailableMemoryMB() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasAvailableMemoryMB()) ? p.getAvailableMemoryMB() : -1;
}
@Override
public void setAvailableMemoryMB(long availableMemoryMB) {
maybeInitBuilder();
builder.setAvailableMemoryMB(availableMemoryMB);
}
@Override
public long getAllocatedMemoryMB() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasAllocatedMemoryMB()) ? p.getAllocatedMemoryMB() : -1;
}
@Override
public void setAllocatedMemoryMB(long allocatedMemoryMB) {
maybeInitBuilder();
builder.setAllocatedMemoryMB(allocatedMemoryMB);
}
@Override
public long getPendingMemoryMB() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasPendingMemoryMB()) ? p.getPendingMemoryMB() : -1;
}
@Override
public void setPendingMemoryMB(long pendingMemoryMB) {
maybeInitBuilder();
builder.setPendingMemoryMB(pendingMemoryMB);
}
@Override
public long getReservedMemoryMB() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasReservedMemoryMB()) ? p.getReservedMemoryMB() : -1;
}
@Override
public void setReservedMemoryMB(long reservedMemoryMB) {
maybeInitBuilder();
builder.setReservedMemoryMB(reservedMemoryMB);
}
@Override
public long getAvailableVCores() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasAvailableVCores()) ? p.getAvailableVCores() : -1;
}
@Override
public void setAvailableVCores(long availableVCores) {
maybeInitBuilder();
builder.setAvailableVCores(availableVCores);
}
@Override
public long getAllocatedVCores() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasAllocatedVCores()) ? p.getAllocatedVCores() : -1;
}
@Override
public void setAllocatedVCores(long allocatedVCores) {
maybeInitBuilder();
builder.setAllocatedVCores(allocatedVCores);
}
@Override
public long getPendingVCores() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasPendingVCores()) ? p.getPendingVCores() : -1;
}
@Override
public void setPendingVCores(long pendingVCores) {
maybeInitBuilder();
builder.setPendingVCores(pendingVCores);
}
@Override
public long getReservedVCores() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasReservedVCores()) ? p.getReservedVCores() : -1;
}
@Override
public void setReservedVCores(long reservedVCores) {
maybeInitBuilder();
builder.setReservedVCores(reservedVCores);
}
@Override
public long getPendingContainers() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasPendingContainers()) ? p.getPendingContainers() : -1;
}
@Override
public void setPendingContainers(long pendingContainers) {
maybeInitBuilder();
builder.setPendingContainers(pendingContainers);
}
@Override
public long getAllocatedContainers() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasAllocatedContainers()) ? p.getAllocatedContainers() : -1;
}
@Override
public void setAllocatedContainers(long allocatedContainers) {
maybeInitBuilder();
builder.setAllocatedContainers(allocatedContainers);
}
@Override
public long getReservedContainers() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasReservedContainers()) ? p.getReservedContainers() : -1;
}
@Override
public void setReservedContainers(long reservedContainers) {
maybeInitBuilder();
builder.setReservedContainers(reservedContainers);
}
}