/*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at .
*
* Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
* WARRANTY OF ANY KIND, either express or implied. See the License for the specific
* language governing rights and limitations under the License.
*
* The Original Code is the Venice Web Communities System.
*
* The Initial Developer of the Original Code is Eric J. Bowersox ,
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
* Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
*
* Contributor(s):
*/
package com.silverwrist.venice.util;
import org.w3c.dom.*;
import com.silverwrist.util.*;
import com.silverwrist.venice.except.*;
public class VCardPhone
{
/*--------------------------------------------------------------------------------
* Predicate class to use for searches
*--------------------------------------------------------------------------------
*/
static abstract class Predicate
{
public abstract boolean test(VCardPhone p);
} // end class Predicate
/*--------------------------------------------------------------------------------
* Attributes
*--------------------------------------------------------------------------------
*/
private boolean home_phone;
private boolean work_phone;
private boolean voice_phone;
private boolean fax_phone;
private boolean pager;
private boolean message;
private boolean cell_phone;
private boolean video_phone;
private boolean bbs_phone;
private boolean modem_phone;
private boolean isdn_phone;
private boolean pcs_phone;
private boolean preferred;
private String number;
/*--------------------------------------------------------------------------------
* Constructor
*--------------------------------------------------------------------------------
*/
VCardPhone(Element elt)
{
DOMElementHelper h = new DOMElementHelper(elt);
home_phone = h.hasChildElement("HOME");
work_phone = h.hasChildElement("WORK");
voice_phone = h.hasChildElement("VOICE");
fax_phone = h.hasChildElement("FAX");
pager = h.hasChildElement("PAGER");
message = h.hasChildElement("MSG");
cell_phone = h.hasChildElement("CELL");
video_phone = h.hasChildElement("VIDEO");
bbs_phone = h.hasChildElement("BBS");
modem_phone = h.hasChildElement("MODEM");
isdn_phone = h.hasChildElement("ISDN");
pcs_phone = h.hasChildElement("PCS");
preferred = h.hasChildElement("PREF");
number = VCard.cleanup(h.getSubElementText("NUMBER"));
if (number==null)
number = VCard.cleanup(h.getElementText());
} // end constructor
/*--------------------------------------------------------------------------------
* External getters/setters
*--------------------------------------------------------------------------------
*/
public final boolean isHomePhone()
{
return home_phone;
} // end isHomePhone
public final boolean isWorkPhone()
{
return work_phone;
} // end isWorkPhone
public final boolean isVoicePhone()
{
return voice_phone;
} // end isVoicePhone
public final boolean isFax()
{
return fax_phone;
} // end isFax
public final boolean isPager()
{
return pager;
} // end isPager
public final boolean isMessage()
{
return message;
} // end isMessage
public final boolean isCellPhone()
{
return cell_phone;
} // end isCellPhone
public final boolean isVideoPhone()
{
return video_phone;
} // end isVideoPhone
public final boolean isBBS()
{
return bbs_phone;
} // end isBBS
public final boolean isModemPhone()
{
return modem_phone;
} // end isModemPhone
public final boolean isISDNPhone()
{
return isdn_phone;
} // end isISDNPhone
public final boolean isPCSPhone()
{
return pcs_phone;
} // end isPCSPhone
public final boolean isPreferred()
{
return preferred;
} // end isPreferred
public final String getNumber()
{
return number;
} // end getNumber
} // end class VCardPhone