001/* 002 * The MIT License 003 * Copyright (c) 2012 Microsoft Corporation 004 * 005 * Permission is hereby granted, free of charge, to any person obtaining a copy 006 * of this software and associated documentation files (the "Software"), to deal 007 * in the Software without restriction, including without limitation the rights 008 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 009 * copies of the Software, and to permit persons to whom the Software is 010 * furnished to do so, subject to the following conditions: 011 * 012 * The above copyright notice and this permission notice shall be included in 013 * all copies or substantial portions of the Software. 014 * 015 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 016 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 017 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 018 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 019 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 020 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 021 * THE SOFTWARE. 022 */ 023 024package microsoft.exchange.webservices.data.property.definition; 025 026import microsoft.exchange.webservices.data.core.EwsUtilities; 027import microsoft.exchange.webservices.data.core.enumeration.misc.ExchangeVersion; 028import microsoft.exchange.webservices.data.core.enumeration.property.PropertyDefinitionFlags; 029 030import java.util.EnumSet; 031 032/** 033 * Represents Boolean property definition. 034 */ 035public final class BoolPropertyDefinition extends GenericPropertyDefinition<Boolean> { 036 037 /** 038 * Initializes a new instance. 039 * 040 * @param xmlElementName Name of the XML element. 041 * @param uri The URI. 042 * @param version The version. 043 */ 044 public BoolPropertyDefinition(String xmlElementName, String uri, 045 ExchangeVersion version) { 046 super(Boolean.class, xmlElementName, uri, version); 047 } 048 049 /** 050 * Initializes a new instance. 051 * 052 * @param xmlElementName Name of the XML element. 053 * @param uri The URI. 054 * @param flags The flags. 055 * @param version The version. 056 */ 057 public BoolPropertyDefinition(String xmlElementName, String uri, EnumSet<PropertyDefinitionFlags> flags, 058 ExchangeVersion version) { 059 super(Boolean.class, xmlElementName, uri, flags, version); 060 } 061 062 /** 063 * Initializes a new instance. 064 * 065 * @param xmlElementName Name of the XML element. 066 * @param uri The URI. 067 * @param flags The flags. 068 * @param version The version. 069 * @param isNullable Indicates that this property definition is for a nullable 070 * property. 071 */ 072 public BoolPropertyDefinition(String xmlElementName, String uri, 073 EnumSet<PropertyDefinitionFlags> flags, ExchangeVersion version, 074 boolean isNullable) { 075 super(Boolean.class, xmlElementName, uri, flags, version, isNullable); 076 } 077 078 /** 079 * Convert instance to string. 080 * 081 * @param value The value. 082 * @return String representation of property value. 083 */ 084 @Override 085 /** 086 * Convert instance to string. 087 * @param value The value. 088 * @return String representation of Boolean property. 089 */ 090 protected String toString(Boolean value) { 091 return EwsUtilities.boolToXSBool((Boolean) value); 092 } 093}