/*
* 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.ranger.plugin.model;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import org.codehaus.jackson.annotate.JsonAutoDetect;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
import org.codehaus.jackson.map.annotate.JsonSerialize;
@JsonAutoDetect(fieldVisibility=Visibility.ANY)
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown=true)
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class RangerService extends RangerBaseModelObject implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private String type;
private String name;
private String description;
private String tagService;
private Map<String, String> configs;
private Long policyVersion;
private Date policyUpdateTime;
private Long tagVersion;
private Date tagUpdateTime;
/**
* @param
*/
public RangerService() {
this(null, null, null, null, null);
}
/**
* @param type
* @param name
* @param description
* @param configs
* @param tagService
*/
public RangerService(String type, String name, String description, String tagService, Map<String, String> configs) {
super();
setType(type);
setName(name);
setDescription(description);
setTagService(tagService);
setConfigs(configs);
}
/**
* @param other
*/
public void updateFrom(RangerService other) {
super.updateFrom(other);
setType(other.getType());
setName(other.getName());
setDescription(other.getDescription());
setConfigs(other.getConfigs());
setTagService(other.tagService);
}
/**
* @return the type
*/
public String getType() {
return type;
}
/**
* @param type the type to set
*/
public void setType(String type) {
this.type = type;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the description
*/
public String getDescription() {
return description;
}
/**
* @param description the description to set
*/
public void setDescription(String description) {
this.description = description;
}
/**
* @return the tagService
*/
public String getTagService() {
return tagService;
}
/**
* @param tagService the tagServiceName to set
*/
public void setTagService(String tagService) {
this.tagService = tagService;
}
/**
* @return the configs
*/
public Map<String, String> getConfigs() {
return configs;
}
/**
* @param configs the configs to set
*/
public void setConfigs(Map<String, String> configs) {
if(this.configs == null) {
this.configs = new HashMap<>();
}
if(this.configs == configs) {
return;
}
this.configs.clear();
if(configs != null) {
for(Map.Entry<String, String> e : configs.entrySet()) {
this.configs.put(e.getKey(), e.getValue());
}
}
}
/**
* @return the policyVersion
*/
public Long getPolicyVersion() {
return policyVersion;
}
/**
* @param policyVersion the policyVersion to set
*/
public void setPolicyVersion(Long policyVersion) {
this.policyVersion = policyVersion;
}
/**
* @return the policyUpdateTime
*/
public Date getPolicyUpdateTime() {
return policyUpdateTime;
}
/**
* @param policyUpdateTime the policyUpdateTime to set
*/
public void setPolicyUpdateTime(Date policyUpdateTime) {
this.policyUpdateTime = policyUpdateTime;
}
/**
* @return the tagVersion
*/
public Long getTagVersion() {
return tagVersion;
}
/**
* @param tagVersion the tagVersion to set
*/
public void setTagVersion(Long tagVersion) {
this.tagVersion = tagVersion;
}
/**
* @return the tagUpdateTime
*/
public Date getTagUpdateTime() {
return tagUpdateTime;
}
/**
* @param tagUpdateTime the policyUpdateTime to set
*/
public void setTagUpdateTime(Date tagUpdateTime) {
this.tagUpdateTime = tagUpdateTime;
}
@Override
public String toString( ) {
StringBuilder sb = new StringBuilder();
toString(sb);
return sb.toString();
}
public StringBuilder toString(StringBuilder sb) {
sb.append("RangerService={");
super.toString(sb);
sb.append("name={").append(name).append("} ");
sb.append("type={").append(type).append("} ");
sb.append("description={").append(description).append("} ");
sb.append("tagService={").append(tagService).append("} ");
sb.append("configs={");
if(configs != null) {
for(Map.Entry<String, String> e : configs.entrySet()) {
sb.append(e.getKey()).append("={").append(e.getValue()).append("} ");
}
}
sb.append("} ");
sb.append("policyVersion={").append(policyVersion).append("} ");
sb.append("policyUpdateTime={").append(policyUpdateTime).append("} ");
sb.append("tagVersion={").append(tagVersion).append("} ");
sb.append("tagUpdateTime={").append(tagUpdateTime).append("} ");
sb.append("}");
return sb;
}
}