001 002/* 003 * Copyright (C) 2010 Archie L. Cobbs. All rights reserved. 004 * 005 * $Id$ 006 */ 007 008package org.dellroad.jibxbindings.pidf.lo.ecd; 009 010import java.util.ArrayList; 011import java.util.Arrays; 012import java.util.List; 013 014/** 015 * The {@code <svc:EmergencyCallData.ServiceInfo>} element. 016 */ 017public class ServiceInfo extends AbstractDataProviderReferencing { 018 019 private String serviceEnvironment; // mandatory 020 private List<String> serviceTypes = new ArrayList<>(); // mandatory (one or more) 021 private String serviceMobility; // mandatory 022 023 public ServiceInfo() { 024 } 025 026 public ServiceInfo(String dataProviderReference, String serviceMobility, String... serviceTypes) { 027 super(dataProviderReference); 028 this.setServiceMobility(serviceMobility); 029 this.serviceTypes.addAll(Arrays.asList(serviceTypes)); 030 } 031 032 public String getServiceEnvironment() { 033 return this.serviceEnvironment; 034 } 035 public void setServiceEnvironment(String serviceEnvironment) { 036 this.serviceEnvironment = serviceEnvironment; 037 } 038 039 public List<String> getServiceTypes() { 040 return this.serviceTypes; 041 } 042 public void setServiceTypes(List<String> serviceTypes) { 043 this.serviceTypes = serviceTypes; 044 } 045 046 public String getServiceMobility() { 047 return this.serviceMobility; 048 } 049 public void setServiceMobility(String serviceMobility) { 050 this.serviceMobility = serviceMobility; 051 } 052 053// Cloneable 054 055 @Override 056 public ServiceInfo clone() { 057 final ServiceInfo clone = (ServiceInfo)super.clone(); 058 clone.serviceTypes = this.serviceTypes != null ? new ArrayList<>(this.serviceTypes) : null; 059 return clone; 060 } 061} 062