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 org.dellroad.jibxbindings.vcard.VCardMarshaller; 011 012import ezvcard.VCard; 013 014/** 015 * The {@code <pi:EmergencyCallData.SubscriberInfo>} element. 016 */ 017public class SubscriberInfo extends AbstractDataProviderReferencing { 018 019 private boolean privacyRequested; // mandatory 020 private VCard subscriberData; 021 022 public SubscriberInfo() { 023 } 024 025 public SubscriberInfo(String dataProviderReference, boolean privacyRequested, VCard subscriberData) { 026 super(dataProviderReference); 027 this.setPrivacyRequested(privacyRequested); 028 this.setSubscriberData(subscriberData); 029 } 030 031 public boolean isPrivacyRequested() { 032 return this.privacyRequested; 033 } 034 public void setPrivacyRequested(boolean privacyRequested) { 035 this.privacyRequested = privacyRequested; 036 } 037 038 public VCard getSubscriberData() { 039 return this.subscriberData; 040 } 041 public void setSubscriberData(VCard subscriberData) { 042 this.subscriberData = subscriberData; 043 } 044 045// JiBX 046 047 public boolean hasSubscriberData() { 048 return this.getSubscriberData() != null; 049 } 050 051// Cloneable 052 053 @Override 054 public SubscriberInfo clone() { 055 final SubscriberInfo clone = (SubscriberInfo)super.clone(); 056 clone.subscriberData = this.subscriberData != null ? VCardMarshaller.clone(this.subscriberData) : null; 057 return clone; 058 } 059} 060