// Copyright 2014-2015 Boundary, 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.boundary.sdk.event; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.Map; import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.annotation.JsonAutoDetect; @JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY) @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE) public class TestEvent { @JsonProperty private String name; @JsonProperty private ArrayList<String> tags; @JsonProperty private Map<String,Object> properties; @JsonProperty private TestStatus status; @JsonProperty private TestSource source; public String getName() { return name; } public TestEvent setName(String name) { this.name = name; return this; } private void initStatus() { this.status = TestStatus.SUCCEED; } public TestStatus getStatus() { if (status == null) { initStatus(); } return this.status; } private void initProperties() { this.properties = new LinkedHashMap<String,Object>(); } public TestEvent addProperty(String key, Object value) { if (this.properties == null) { initProperties(); } properties.put(key, value); return this; } public Map<String,Object> getProperties() { if (this.properties == null) { initProperties(); } return this.properties; } private void initTags() { this.tags = new ArrayList<String>(); } public TestEvent addTag(String tag) { if (tags == null) { initTags(); } this.tags.add(tag); return this; } public ArrayList<String> getTags() { if (tags == null) { initTags(); } return tags; } public void setTags(ArrayList<String> tags) { this.tags = tags; } private void initSource() { this.source = new TestSource(); } public TestSource getSource() { if (source == null) { initSource(); } return this.source; } public void setStatus(TestStatus status) { this.status = status; } public TestEvent() { } public TestEvent(String name) { this(); this.name = name; } @Override public String toString() { StringBuffer s = new StringBuffer(); s.append("TestEvent"); s.append(",name = " + name); s.append(",tags = " + tags); s.append(",properties = " + properties); s.append(",status = " + status); s.append(",source = " + source); return s.toString(); } }