1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Copyright (c) 2001-2004 World Wide Web Consortium, (Massachusetts Institute 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * of Technology, Institut National de Recherche en Informatique et en 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Automatique, Keio University). All Rights Reserved. This program is 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the W3C's Software Intellectual Property License. This 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * program is distributed in the hope that it will be useful, but WITHOUT ANY 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * FOR A PARTICULAR PURPOSE. See W3C License 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.w3.org/Consortium/Legal/ for more details. 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.org.w3c.dom; 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport javax.xml.parsers.DocumentBuilderFactory; 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * This class is an parser setting, such as non-validating or entity-expanding. 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @author Curt Arnold @date 2 Feb 2002 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic final class DocumentBuilderSetting { 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * property name. 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private final String property; 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * property value. 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private final boolean value; 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * strategy used to set or get property value. 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private final DocumentBuilderSettingStrategy strategy; 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * coalescing = true. 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting coalescing = 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "coalescing", 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project true, 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.coalescing); 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * coalescing = false. 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting notCoalescing = 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "coalescing", 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project false, 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.coalescing); 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * expandEntityReferences = false. 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting expandEntityReferences = 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "expandEntityReferences", 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project true, 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.expandEntityReferences); 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * expandEntityReferences = true. 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting notExpandEntityReferences = 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "expandEntityReferences", 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project false, 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.expandEntityReferences); 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * ignoringElementContentWhitespace = true. 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting ignoringElementContentWhitespace = 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "ignoringElementContentWhitespace", 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project true, 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.ignoringElementContentWhitespace); 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * ignoringElementContentWhitespace = false. 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notIgnoringElementContentWhitespace = 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "ignoringElementContentWhitespace", 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project false, 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.ignoringElementContentWhitespace); 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * namespaceAware = true. 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting namespaceAware = 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "namespaceAware", 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project true, 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.namespaceAware); 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * namespaceAware = false. 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting notNamespaceAware = 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "namespaceAware", 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project false, 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.namespaceAware); 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * validating = true. 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting validating = 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "validating", 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project true, 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.validating); 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * validating = false. 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting notValidating = 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "validating", 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project false, 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.validating); 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * signed = true. 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting signed = 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "signed", 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project true, 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.signed); 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * signed = false. 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting notSigned = 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "signed", 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project false, 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.signed); 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * hasNullString = true. 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting hasNullString = 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "hasNullString", 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project true, 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.hasNullString); 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * hasNullString = false. 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting notHasNullString = 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "hasNullString", 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project false, 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.hasNullString); 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Schema validating enabled. 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting schemaValidating = 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "schemaValidating", 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project true, 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.schemaValidating); 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Schema validating disabled. 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting notSchemaValidating = 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "schemaValidating", 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project false, 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.schemaValidating); 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Comments ignored. 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting ignoringComments = 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "ignoringComments", 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project true, 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.ignoringComments); 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Comments preserved. 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final DocumentBuilderSetting notIgnoringComments = 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new DocumentBuilderSetting( 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "ignoringComments", 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project false, 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy.ignoringComments); 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Protected constructor, use static members for supported settings. 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param property property name, follows JAXP. 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param value property value 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param strategy strategy, may not be null 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected DocumentBuilderSetting( 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String property, 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean value, 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilderSettingStrategy strategy) { 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (property == null) { 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throw new NullPointerException("property"); 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project this.property = property; 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project this.value = value; 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project this.strategy = strategy; 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns true if the settings have a conflict or are identical. 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param other 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * other setting, may not be null. 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return true if this setting and the specified setting conflict 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final boolean hasConflict(DocumentBuilderSetting other) { 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (other == null) { 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throw new NullPointerException("other"); 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (other == this) { 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return true; 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return strategy.hasConflict(other.strategy); 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Determines current value of setting. 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param factory DOMTestDocumentBuilderFactory factory 238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return boolean true if property enabled. 239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final boolean hasSetting(DOMDocumentBuilderFactory factory) { 241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return strategy.hasSetting(factory) == value; 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Attempts to change builder to have this setting. 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param factory DocumentBuilderFactory Factory for DOM builders 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws DOMTestIncompatibleException 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if factory does not support the setting 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final void applySetting(DocumentBuilderFactory factory) { 251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project strategy.applySetting(factory, value); 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets the property name. 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return property name 257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final String getProperty() { 259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return property; 260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets the property value. 264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return property value 265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final boolean getValue() { 267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return value; 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets a string representation of the setting. 272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return string representation 273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final String toString() { 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project StringBuffer builder = new StringBuffer(property); 276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project builder.append('='); 277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project builder.append(String.valueOf(value)); 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return builder.toString(); 279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 282