001 002/* 003 * Copyright (C) 2010 Archie L. Cobbs. All rights reserved. 004 * 005 * $Id$ 006 */ 007 008package org.dellroad.jibxbindings.pidf.lo; 009 010import java.util.ArrayList; 011import java.util.List; 012 013import org.dellroad.jibxbindings.pidf.lo.ecd.EmergencyCallDataReference; 014import org.dellroad.jibxbindings.pidf.lo.ecd.EmergencyCallDataValue; 015 016/** 017 * The {@code <gp:provided-by>} element as defined in RFC 4119. 018 */ 019public class ProvidedBy implements Cloneable { 020 021 private String dataProviderReference; 022 private List<EmergencyCallDataReference> references = new ArrayList<>(); 023 private List<EmergencyCallDataValue> values = new ArrayList<>(); 024 025 public String getDataProviderReference() { 026 return this.dataProviderReference; 027 } 028 public void setDataProviderReference(String dataProviderReference) { 029 this.dataProviderReference = dataProviderReference; 030 } 031 032 public List<EmergencyCallDataReference> getReferences() { 033 return this.references; 034 } 035 public void setReferences(List<EmergencyCallDataReference> references) { 036 this.references = references; 037 } 038 039 public List<EmergencyCallDataValue> getValues() { 040 return this.values; 041 } 042 public void setValues(List<EmergencyCallDataValue> values) { 043 this.values = values; 044 } 045 046// Cloneable 047 048 @Override 049 public ProvidedBy clone() { 050 final ProvidedBy clone; 051 try { 052 clone = (ProvidedBy)super.clone(); 053 } catch (CloneNotSupportedException e) { 054 throw new RuntimeException(e); 055 } 056 if (this.references != null) { 057 clone.references = new ArrayList<>(this.references.size()); 058 for (EmergencyCallDataReference reference : this.references) 059 clone.references.add(reference.clone()); 060 } 061 if (this.values != null) { 062 clone.values = new ArrayList<>(this.values.size()); 063 for (EmergencyCallDataValue value : this.values) 064 clone.values.add(value.clone()); 065 } 066 return clone; 067 } 068} 069