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