ec6a1843b153fc5afba49a9a07a7e6520ed4163b
[appc.git] / appc-metric / appc-metric-bundle / src / main / java / org / openecomp / appc / metricservice / metric / impl / PrimitiveCounterBuilderImpl.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * openECOMP : APP-C
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights
6  *                                              reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  * 
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.openecomp.appc.metricservice.metric.impl;
23
24 import org.openecomp.appc.metricservice.metric.MetricType;
25 import org.openecomp.appc.metricservice.metric.PrimitiveCounter;
26 import org.openecomp.appc.metricservice.metric.PrimitiveCounterBuilder;
27
28
29 public class PrimitiveCounterBuilderImpl implements PrimitiveCounterBuilder {
30     private  String name;
31     private  MetricType metricType;
32     private  long counter;
33
34     @Override
35     public PrimitiveCounterBuilder withName(String name) {
36         this.name=name;
37         return this;
38     }
39
40     @Override
41     public PrimitiveCounterBuilder withValue(long value) {
42         this.counter=value;
43         return this;
44     }
45
46     @Override
47     public PrimitiveCounterBuilder withType(MetricType type) {
48         this.metricType=type;
49         return this;
50     }
51
52     @Override
53     public PrimitiveCounter build() {
54         return new DefaultPrimitiveCounter(this.name,this.metricType,this.counter);
55     }
56 }