mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noël Rouvignac
06.47.2016 e771ea26838a58ae79e71a9a522538d8d27e863f
Added @Override annotations, removed {@inheritDoc}
154 files modified
2283 ■■■■■ changed files
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/ApplicationKeyManager.java 8 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/ArgumentException.java 4 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/CommandBuilder.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/MenuBuilder.java 11 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/PromptingTrustManager.java 13 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/SubCommand.java 12 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/TableBuilder.java 5 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-copyright-maven-plugin/src/main/java/org/forgerock/maven/CheckCopyrightMojo.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/ldap/controls/AccountUsabilityRequestControl.java 21 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/ldap/controls/AccountUsabilityResponseControl.java 42 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/ldap/controls/RealAttributesOnlyRequestControl.java 21 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/ldap/controls/VirtualAttributesOnlyRequestControl.java 21 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/ldap/extensions/GetConnectionIDExtendedRequest.java 14 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/ldap/extensions/GetSymmetricKeyExtendedRequest.java 5 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/ldap/extensions/PasswordPolicyStateExtendedResult.java 17 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/ldap/extensions/PasswordPolicyStateOperationType.java 174 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/util/ASCIICharProp.java 7 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/util/Iterators.java 43 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/util/OperatingSystem.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/io/ASN1InputStreamReader.java 42 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/io/ASN1Reader.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/io/ASN1Writer.java 4 ●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/io/AbstractASN1Reader.java 28 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/io/AbstractASN1Writer.java 30 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractAttribute.java 38 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractFilterVisitor.java 12 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/Attribute.java 18 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/AttributeDescription.java 12 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/DecodeException.java 7 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/DecodeOptions.java 7 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/Entry.java 5 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/Functions.java 15 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/KeyManagers.java 20 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/LinkedHashMapEntry.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/Matcher.java 13 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/SchemaResolver.java 4 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/SortKey.java 4 ●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/TreeMapEntry.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/TrustManagers.java 44 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/AssertionRequestControl.java 22 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/AuthorizationIdentityRequestControl.java 21 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/AuthorizationIdentityResponseControl.java 22 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/EntryChangeNotificationResponseControl.java 8 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/GenericControl.java 11 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/GetEffectiveRightsRequestControl.java 24 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/ManageDsaITRequestControl.java 21 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/MatchedValuesRequestControl.java 21 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PasswordExpiredResponseControl.java 22 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PasswordExpiringResponseControl.java 22 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PasswordPolicyRequestControl.java 23 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PasswordPolicyResponseControl.java 31 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PermissiveModifyRequestControl.java 21 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PersistentSearchRequestControl.java 22 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PostReadRequestControl.java 17 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PostReadResponseControl.java 17 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PreReadRequestControl.java 17 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PreReadResponseControl.java 17 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/ProxiedAuthV1RequestControl.java 22 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/ProxiedAuthV2RequestControl.java 22 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/ServerSideSortRequestControl.java 30 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/ServerSideSortResponseControl.java 26 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/SimplePagedResultsControl.java 27 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/SubentriesRequestControl.java 21 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/SubtreeDeleteRequestControl.java 21 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewRequestControl.java 30 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewResponseControl.java 22 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/AbstractSyntaxImpl.java 6 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/AttributeType.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/BinarySyntaxImpl.java 19 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/BitStringSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/BooleanSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/CertificateExactAssertionSyntaxImpl.java 8 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/CertificateListSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/CertificatePairSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/CountryStringSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DITContentRuleSyntaxImpl.java 6 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DeliveryMethodSyntaxImpl.java 19 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DirectoryStringFirstComponentEqualityMatchingRuleImpl.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DirectoryStringSyntaxImpl.java 19 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DistinguishedNameEqualityMatchingRuleImpl.java 4 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DistinguishedNameSyntaxImpl.java 4 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DoubleMetaphoneApproximateMatchingRuleImpl.java 4 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/EnhancedGuideSyntaxImpl.java 17 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/EnumSyntaxImpl.java 5 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/FacsimileNumberSyntaxImpl.java 19 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/FaxSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/GeneralizedTimeEqualityMatchingRuleImpl.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/GeneralizedTimeOrderingMatchingRuleImpl.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/GeneralizedTimeSyntaxImpl.java 19 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/GuideSyntaxImpl.java 17 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/IA5StringSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/IntegerFirstComponentEqualityMatchingRuleImpl.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/IntegerSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/JPEGSyntaxImpl.java 16 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/KeywordEqualityMatchingRuleImpl.java 4 ●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/MatchingRuleSyntaxImpl.java 16 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/MatchingRuleUseSyntaxImpl.java 16 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/NameAndOptionalUIDSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/NameFormSyntaxImpl.java 5 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/NumericStringEqualityMatchingRuleImpl.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/NumericStringOrderingMatchingRuleImpl.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/NumericStringSubstringMatchingRuleImpl.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/NumericStringSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/OIDSyntaxImpl.java 19 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/OctetStringEqualityMatchingRuleImpl.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/OctetStringOrderingMatchingRuleImpl.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/OctetStringSubstringMatchingRuleImpl.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/OctetStringSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/OtherMailboxSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/PostalAddressSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/PresentationAddressSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/PrintableStringSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/ProtocolInformationSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/RegexSyntaxImpl.java 4 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SchemaException.java 4 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SubstringAssertionSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SupportedAlgorithmSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/TelephoneNumberEqualityMatchingRuleImpl.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/TelephoneNumberSubstringMatchingRuleImpl.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/TelephoneNumberSyntaxImpl.java 19 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/TeletexTerminalIdentifierSyntaxImpl.java 19 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/TelexNumberSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/UTCTimeSyntaxImpl.java 19 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/UUIDSyntaxImpl.java 18 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/UniqueMemberEqualityMatchingRuleImpl.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/UserPasswordExactEqualityMatchingRuleImpl.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/UserPasswordSyntaxImpl.java 4 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/ResultLdapPromiseImpl.java 4 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/ChangeRecord.java 19 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/ChangeRecordVisitorWriter.java 5 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/ChangeRecordWriter.java 4 ●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/ConnectionChangeRecordWriter.java 10 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryWriter.java 6 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/EntryWriter.java 4 ●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/LDIF.java 10 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/LDIFEntryWriter.java 7 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/RejectedChangeRecordListener.java 14 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/requests/GSSAPISASLBindRequestTestCase.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/requests/RequestsTestCase.java 4 ●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/AttributeTypeTest.java 4 ●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/CaseIgnoreIA5SubstringMatchingRuleTest.java 3 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/CaseIgnoreSubstringMatchingRuleTest.java 3 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/CollationSubstringMatchingRuleTest.java 4 ●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/DistinguishedNameEqualityMatchingRuleTest.java 5 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/EntrySchemaCheckingTestCase.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/PartialDateAndTimeMatchingRuleTestCase.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/RelativeTimeGreaterThanMatchingRuleTest.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/RelativeTimeLessThanMatchingRuleTest.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/spi/ConnectionStateTest.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/ASN1BufferReader.java 43 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/ASN1BufferWriter.java 58 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/ConnectionSecurityLayerFilter.java 6 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/LDAPClientFilter.java 3 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/DataSource.java 14 ●●●●● patch | view | raw | blame | history
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/ApplicationKeyManager.java
old mode 100755 new mode 100644
@@ -23,7 +23,7 @@
 *
 *      Copyright 2008-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2009 Parametric Technology Corporation (PTC)
 *      Portions copyright 2014 ForgeRock AS
 *      Portions copyright 2014-2016 ForgeRock AS
 */
package com.forgerock.opendj.cli;
@@ -160,6 +160,7 @@
     * @return the alias name for the desired key, or null if there are no
     *         matches.
     */
    @Override
    public String chooseClientAlias(final String[] keyType, final Principal[] issuers,
            final Socket socket) {
        if (keyManager != null) {
@@ -186,6 +187,7 @@
     * @return the alias name for the desired key, or null if there are no
     *         matches.
     */
    @Override
    public String chooseServerAlias(final String keyType, final Principal[] issuers, final Socket socket) {
        if (keyManager != null) {
            return keyManager.chooseServerAlias(keyType, issuers, socket);
@@ -202,6 +204,7 @@
     *         and the root certificate authority last), or null if the alias
     *         can't be found.
     */
    @Override
    public X509Certificate[] getCertificateChain(final String alias) {
        if (keyManager != null) {
            return keyManager.getCertificateChain(alias);
@@ -222,6 +225,7 @@
     * @return an array of the matching alias names, or null if there were no
     *         matches.
     */
    @Override
    public String[] getClientAliases(final String keyType, final Principal[] issuers) {
        if (keyManager != null) {
            return keyManager.getClientAliases(keyType, issuers);
@@ -236,6 +240,7 @@
     *            the alias name
     * @return the requested key, or null if the alias can't be found.
     */
    @Override
    public PrivateKey getPrivateKey(final String alias) {
        if (keyManager != null) {
            return keyManager.getPrivateKey(alias);
@@ -256,6 +261,7 @@
     * @return an array of the matching alias names, or null if there were no
     *         matches.
     */
    @Override
    public String[] getServerAliases(final String keyType, final Principal[] issuers) {
        if (keyManager != null) {
            return keyManager.getServerAliases(keyType, issuers);
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/ArgumentException.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Portions copyright 2014 ForgeRock AS
 *      Portions copyright 2014-2016 ForgeRock AS
 */
package com.forgerock.opendj.cli;
@@ -63,7 +63,7 @@
        this.message = message;
    }
    /** {@inheritDoc} */
    @Override
    public LocalizableMessage getMessageObject() {
        return this.message;
    }
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/CommandBuilder.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2008-2009 Sun Microsystems, Inc.
 *      Portions Copyright 2014-2015 ForgeRock AS
 *      Portions Copyright 2014-2016 ForgeRock AS
 */
package com.forgerock.opendj.cli;
@@ -141,6 +141,7 @@
     *
     * @return The String representation of this command builder (i.e. what we want to show to the user).
     */
    @Override
    public String toString() {
        return toString(false, LINE_SEPARATOR);
    }
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/MenuBuilder.java
@@ -22,11 +22,12 @@
 *
 *
 *      Copyright 2007-2008 Sun Microsystems, Inc.
 *      Portions Copyright 2014-2015 ForgeRock AS
 *      Portions Copyright 2014-2016 ForgeRock AS
 */
package com.forgerock.opendj.cli;
import static com.forgerock.opendj.cli.CliMessages.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -68,7 +69,7 @@
            this.callbacks = callbacks;
        }
        /** {@inheritDoc} */
        @Override
        public MenuResult<T> invoke(ConsoleApplication app) throws ClientException {
            List<T> values = new ArrayList<>();
            for (MenuCallback<T> callback : callbacks) {
@@ -145,12 +146,13 @@
            this.nMaxTries = nMaxTries;
        }
        /** {@inheritDoc} */
        @Override
        public MenuResult<T> run() throws ClientException {
            // The validation call-back which will be used to determine the
            // action call-back.
            ValidationCallback<MenuCallback<T>> validator = new ValidationCallback<MenuCallback<T>>() {
                @Override
                public MenuCallback<T> validate(ConsoleApplication app, String input) {
                    String ninput = input.trim();
@@ -287,7 +289,7 @@
            this.result = result;
        }
        /** {@inheritDoc} */
        @Override
        public MenuResult<T> invoke(ConsoleApplication app) throws ClientException {
            return result;
        }
@@ -420,6 +422,7 @@
    public void addHelpOption(final HelpCallback callback) {
        MenuCallback<T> wrapper = new MenuCallback<T>() {
            @Override
            public MenuResult<T> invoke(ConsoleApplication app) throws ClientException {
                app.println();
                callback.display(app);
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/PromptingTrustManager.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2008-2010 Sun Microsystems, Inc.
 *      Portions copyright 2014-2015 ForgeRock AS
 *      Portions copyright 2014-2016 ForgeRock AS
 */
package com.forgerock.opendj.cli;
@@ -54,9 +54,7 @@
 * like to trust a server certificate.
 */
public final class PromptingTrustManager implements X509TrustManager {
    /**
     * Enumeration description server certificate trust option.
     */
    /** Enumeration description server certificate trust option. */
    private static enum TrustOption {
        UNTRUSTED(1, INFO_LDAP_CONN_PROMPT_SECURITY_TRUST_OPTION_NO.get()),
        SESSION(2, INFO_LDAP_CONN_PROMPT_SECURITY_TRUST_OPTION_SESSION.get()),
@@ -64,7 +62,6 @@
        CERTIFICATE_DETAILS(4, INFO_LDAP_CONN_PROMPT_SECURITY_CERTIFICATE_DETAILS.get());
        private Integer choice;
        private LocalizableMessage msg;
        /**
@@ -209,7 +206,7 @@
        this(app, DEFAULT_PATH, sourceTrustManager);
    }
    /** {@inheritDoc} */
    @Override
    public void checkClientTrusted(final X509Certificate[] x509Certificates, final String s)
            throws CertificateException {
        try {
@@ -231,7 +228,7 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public void checkServerTrusted(final X509Certificate[] x509Certificates, final String s)
            throws CertificateException {
        try {
@@ -253,7 +250,7 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public X509Certificate[] getAcceptedIssuers() {
        if (nestedTrustManager != null) {
            return nestedTrustManager.getAcceptedIssuers();
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/SubCommand.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Portions Copyright 2014-2015 ForgeRock AS.
 *      Portions Copyright 2014-2016 ForgeRock AS.
 */
package com.forgerock.opendj.cli;
@@ -69,10 +69,7 @@
    /** The minimum number of unnamed trailing arguments that may be provided. */
    private int minTrailingArguments;
    /**
     * The display name that will be used for the trailing arguments in
     * the usage information.
     */
    /** The display name that will be used for the trailing arguments in the usage information. */
    private String trailingArgsDisplayName;
    /**
@@ -166,12 +163,12 @@
     */
    private LocalizableMessage docDescriptionSupplement;
    /** {@inheritDoc} */
    @Override
    public LocalizableMessage getDocDescriptionSupplement() {
        return docDescriptionSupplement != null ? docDescriptionSupplement : LocalizableMessage.EMPTY;
    }
    /** {@inheritDoc} */
    @Override
    public void setDocDescriptionSupplement(final LocalizableMessage docDescriptionSupplement) {
        this.docDescriptionSupplement = docDescriptionSupplement;
    }
@@ -365,7 +362,6 @@
        this.isHidden = isHidden;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder();
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/TableBuilder.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2008 Sun Microsystems, Inc.
 *      Portions Copyright 2014-2015 ForgeRock AS
 *      Portions Copyright 2014-2016 ForgeRock AS
 */
package com.forgerock.opendj.cli;
@@ -266,7 +266,7 @@
        List<List<String>> sortedRows = new ArrayList<>(rows);
        Comparator<List<String>> comparator = new Comparator<List<String>>() {
            @Override
            public int compare(List<String> row1, List<String> row2) {
                for (int i = 0; i < sortKeys.size(); i++) {
                    String cell1 = row1.get(sortKeys.get(i));
@@ -281,7 +281,6 @@
                // Both rows are equal.
                return 0;
            }
        };
        Collections.sort(sortedRows, comparator);
opendj-sdk/opendj-copyright-maven-plugin/src/main/java/org/forgerock/maven/CheckCopyrightMojo.java
@@ -21,7 +21,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2015 ForgeRock AS.
 *      Copyright 2015-2016 ForgeRock AS.
 */
package org.forgerock.maven;
@@ -58,6 +58,7 @@
     * @throws MojoExecutionException
     *             if any
     */
    @Override
    public void execute() throws MojoFailureException, MojoExecutionException {
        if (checkDisabled) {
            getLog().info("Copyright check is disabled");
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/ldap/controls/AccountUsabilityRequestControl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package com.forgerock.opendj.ldap.controls;
@@ -44,9 +45,7 @@
 * @see AccountUsabilityResponseControl
 */
public final class AccountUsabilityRequestControl implements Control {
    /**
     * The OID for the account usability request control.
     */
    /** The OID for the account usability request control. */
    public static final String OID = "1.3.6.1.4.1.42.2.27.9.5.8";
    private final boolean isCritical;
@@ -56,13 +55,11 @@
    private static final AccountUsabilityRequestControl NONCRITICAL_INSTANCE =
            new AccountUsabilityRequestControl(false);
    /**
     * A decoder which can be used for decoding the account usability request
     * control.
     */
    /** A decoder which can be used for decoding the account usability request control. */
    public static final ControlDecoder<AccountUsabilityRequestControl> DECODER =
            new ControlDecoder<AccountUsabilityRequestControl>() {
                @Override
                public AccountUsabilityRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -86,6 +83,7 @@
                    return control.isCritical() ? CRITICAL_INSTANCE : NONCRITICAL_INSTANCE;
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -110,27 +108,26 @@
        this.isCritical = isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        return null;
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return false;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/ldap/controls/AccountUsabilityResponseControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2011-2013 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package com.forgerock.opendj.ldap.controls;
@@ -70,18 +70,14 @@
    private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
    /**
     * The OID for the account usability response control.
     */
    /** The OID for the account usability response control. */
    public static final String OID = AccountUsabilityRequestControl.OID;
    /**
     * A decoder which can be used for decoding the account usability response
     * control.
     */
    /** A decoder which can be used for decoding the account usability response control. */
    public static final ControlDecoder<AccountUsabilityResponseControl> DECODER =
            new ControlDecoder<AccountUsabilityResponseControl>() {
                @Override
                public AccountUsabilityResponseControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -157,21 +153,16 @@
                    }
                }
                @Override
                public String getOID() {
                    return OID;
                }
            };
    /**
     * The BER type to use for the seconds before expiration when the account is
     * available.
     */
    /** The BER type to use for the seconds before expiration when the account is available. */
    private static final byte TYPE_SECONDS_BEFORE_EXPIRATION = (byte) 0x80;
    /**
     * The BER type to use for the MORE_INFO sequence when the account is not
     * available.
     */
    /** The BER type to use for the MORE_INFO sequence when the account is not available. */
    private static final byte TYPE_MORE_INFO = (byte) 0xA1;
    /**
@@ -273,16 +264,10 @@
    /** The number of remaining grace logins, if available. */
    private final int remainingGraceLogins;
    /**
     * The length of time in seconds before the user's password expires,
     * if available.
     */
    /** The length of time in seconds before the user's password expires, if available. */
    private final int secondsBeforeExpiration;
    /**
     * The length of time before the user's account is unlocked, if
     * available.
     */
    /** The length of time before the user's account is unlocked, if available. */
    private final int secondsBeforeUnlock;
    private final boolean isCritical;
@@ -303,7 +288,7 @@
        this.secondsBeforeExpiration = secondsBeforeExpiration;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
@@ -344,7 +329,7 @@
        return secondsBeforeUnlock;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        final ByteStringBuilder buffer = new ByteStringBuilder();
        final ASN1Writer writer = ASN1.getWriter(buffer);
@@ -381,12 +366,12 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
@@ -444,7 +429,6 @@
        return isUsable;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/ldap/controls/RealAttributesOnlyRequestControl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package com.forgerock.opendj.ldap.controls;
@@ -42,9 +43,7 @@
 * control is 2.16.840.1.113730.3.4.17, and it does not have a value.
 */
public final class RealAttributesOnlyRequestControl implements Control {
    /**
     * The OID for the real attributes only request control.
     */
    /** The OID for the real attributes only request control. */
    public static final String OID = "2.16.840.1.113730.3.4.17";
    private static final RealAttributesOnlyRequestControl CRITICAL_INSTANCE =
@@ -53,13 +52,11 @@
    private static final RealAttributesOnlyRequestControl NONCRITICAL_INSTANCE =
            new RealAttributesOnlyRequestControl(false);
    /**
     * A decoder which can be used for decoding the real attributes only request
     * control.
     */
    /** A decoder which can be used for decoding the real attributes only request control. */
    public static final ControlDecoder<RealAttributesOnlyRequestControl> DECODER =
            new ControlDecoder<RealAttributesOnlyRequestControl>() {
                @Override
                public RealAttributesOnlyRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -83,6 +80,7 @@
                    return control.isCritical() ? CRITICAL_INSTANCE : NONCRITICAL_INSTANCE;
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -108,27 +106,26 @@
        this.isCritical = isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        return null;
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return false;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/ldap/controls/VirtualAttributesOnlyRequestControl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package com.forgerock.opendj.ldap.controls;
@@ -42,9 +43,7 @@
 * control is 2.16.840.1.113730.3.4.19, and it does not have a value.
 */
public final class VirtualAttributesOnlyRequestControl implements Control {
    /**
     * The OID for the virtual attributes only request control.
     */
    /** The OID for the virtual attributes only request control. */
    public static final String OID = "2.16.840.1.113730.3.4.19";
    private static final VirtualAttributesOnlyRequestControl CRITICAL_INSTANCE =
@@ -53,13 +52,11 @@
    private static final VirtualAttributesOnlyRequestControl NONCRITICAL_INSTANCE =
            new VirtualAttributesOnlyRequestControl(false);
    /**
     * A decoder which can be used for decoding the virtual attributes only
     * request control.
     */
    /** A decoder which can be used for decoding the virtual attributes only request control. */
    public static final ControlDecoder<VirtualAttributesOnlyRequestControl> DECODER =
            new ControlDecoder<VirtualAttributesOnlyRequestControl>() {
                @Override
                public VirtualAttributesOnlyRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -83,6 +80,7 @@
                    return control.isCritical() ? CRITICAL_INSTANCE : NONCRITICAL_INSTANCE;
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -108,27 +106,26 @@
        this.isCritical = isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        return null;
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return false;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/ldap/extensions/GetConnectionIDExtendedRequest.java
@@ -54,6 +54,7 @@
    private static final class RequestDecoder implements
            ExtendedRequestDecoder<GetConnectionIDExtendedRequest, GetConnectionIDExtendedResult> {
        @Override
        public GetConnectionIDExtendedRequest decodeExtendedRequest(
                final ExtendedRequest<?> request, final DecodeOptions options)
                throws DecodeException {
@@ -69,7 +70,7 @@
    private static final class ResultDecoder extends
            AbstractExtendedResultDecoder<GetConnectionIDExtendedResult> {
        /** {@inheritDoc} */
        @Override
        public GetConnectionIDExtendedResult newExtendedErrorResult(final ResultCode resultCode,
                final String matchedDN, final String diagnosticMessage) {
            if (!resultCode.isExceptional()) {
@@ -82,6 +83,7 @@
                    .setDiagnosticMessage(diagnosticMessage);
        }
        @Override
        public GetConnectionIDExtendedResult decodeExtendedResult(final ExtendedResult result,
                final DecodeOptions options) throws DecodeException {
            if (result instanceof GetConnectionIDExtendedResult) {
@@ -124,10 +126,7 @@
    private static final GetConnectionIDExtendedRequest INSTANCE =
            new GetConnectionIDExtendedRequest();
    /**
     * A decoder which can be used to decode get connection ID extended
     * operation requests.
     */
    /** A decoder which can be used to decode get connection ID extended operation requests. */
    public static final RequestDecoder REQUEST_DECODER = new RequestDecoder();
    /** No need to expose this. */
@@ -147,31 +146,26 @@
        // Nothing to do.
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ExtendedResultDecoder<GetConnectionIDExtendedResult> getResultDecoder() {
        return RESULT_DECODER;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        return null;
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return false;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/ldap/extensions/GetSymmetricKeyExtendedRequest.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2013-2014 ForgeRock AS
 *      Portions copyright 2013-2016 ForgeRock AS
 */
package com.forgerock.opendj.ldap.extensions;
@@ -57,6 +57,7 @@
    private static final class RequestDecoder implements
            ExtendedRequestDecoder<GetSymmetricKeyExtendedRequest, ExtendedResult> {
        @Override
        public GetSymmetricKeyExtendedRequest decodeExtendedRequest(
                final ExtendedRequest<?> request, final DecodeOptions options)
                throws DecodeException {
@@ -102,12 +103,14 @@
    private static final class ResultDecoder extends AbstractExtendedResultDecoder<ExtendedResult> {
        @Override
        public ExtendedResult newExtendedErrorResult(final ResultCode resultCode,
                final String matchedDN, final String diagnosticMessage) {
            return Responses.newGenericExtendedResult(resultCode).setMatchedDN(matchedDN)
                    .setDiagnosticMessage(diagnosticMessage);
        }
        @Override
        public ExtendedResult decodeExtendedResult(final ExtendedResult result,
                final DecodeOptions options) throws DecodeException {
            return result;
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/ldap/extensions/PasswordPolicyStateExtendedResult.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2015 ForgeRock AS.
 *      Portions Copyright 2015-2016 ForgeRock AS.
 */
package com.forgerock.opendj.ldap.extensions;
@@ -34,9 +34,7 @@
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.responses.AbstractExtendedResult;
/**
 * The password policy state extended result.
 */
/** The password policy state extended result. */
public final class PasswordPolicyStateExtendedResult extends
        AbstractExtendedResult<PasswordPolicyStateExtendedResult> implements
        PasswordPolicyStateOperationContainer {
@@ -54,47 +52,42 @@
        super(resultCode);
    }
    /** {@inheritDoc} */
    @Override
    public void addOperation(final PasswordPolicyStateOperation operation) {
        operations.add(operation);
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        // No response name defined.
        return PasswordPolicyStateExtendedRequest.OID;
    }
    /** {@inheritDoc} */
    @Override
    public Iterable<PasswordPolicyStateOperation> getOperations() {
        return operations;
    }
    /** {@inheritDoc} */
    @Override
    public String getTargetUser() {
        return targetUser;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        return PasswordPolicyStateExtendedRequest.encode(targetUser, operations);
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public void setTargetUser(String targetUser) {
        this.targetUser = targetUser != null ? targetUser : "";
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/ldap/extensions/PasswordPolicyStateOperationType.java
@@ -22,238 +22,155 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package com.forgerock.opendj.ldap.extensions;
import org.forgerock.opendj.ldap.ByteString;
/**
 * Password policy state operation type.
 */
/** Password policy state operation type. */
public enum PasswordPolicyStateOperationType implements PasswordPolicyStateOperation {
    /**
     * Get password policy DN operation.
     */
    /** Get password policy DN operation. */
    GET_PASSWORD_POLICY_DN(PasswordPolicyStateExtendedRequest.PASSWORD_POLICY_DN_NAME),
    /**
     * Get account disabled state operation.
     */
    /** Get account disabled state operation. */
    GET_ACCOUNT_DISABLED_STATE(PasswordPolicyStateExtendedRequest.ACCOUNT_DISABLED_STATE_NAME),
    /**
     * Set account disabled state operation.
     */
    /** Set account disabled state operation. */
    SET_ACCOUNT_DISABLED_STATE(PasswordPolicyStateExtendedRequest.ACCOUNT_DISABLED_STATE_NAME),
    /**
     * Clear account disabled state operation.
     */
    /** Clear account disabled state operation. */
    CLEAR_ACCOUNT_DISABLED_STATE(PasswordPolicyStateExtendedRequest.ACCOUNT_DISABLED_STATE_NAME),
    /**
     * Get account expiration time operation.
     */
    /** Get account expiration time operation. */
    GET_ACCOUNT_EXPIRATION_TIME(PasswordPolicyStateExtendedRequest.ACCOUNT_EXPIRATION_TIME_NAME),
    /**
     * Set account expiration time operation.
     */
    /** Set account expiration time operation. */
    SET_ACCOUNT_EXPIRATION_TIME(PasswordPolicyStateExtendedRequest.ACCOUNT_EXPIRATION_TIME_NAME),
    /**
     * Clear account expiration time operation.
     */
    /** Clear account expiration time operation. */
    CLEAR_ACCOUNT_EXPIRATION_TIME(PasswordPolicyStateExtendedRequest.ACCOUNT_EXPIRATION_TIME_NAME),
    /**
     * Get seconds until account expiration operation.
     */
    /** Get seconds until account expiration operation. */
    GET_SECONDS_UNTIL_ACCOUNT_EXPIRATION(
            PasswordPolicyStateExtendedRequest.SECONDS_UNTIL_ACCOUNT_EXPIRATION_NAME),
    /**
     * Get password changed time operation.
     */
    /** Get password changed time operation. */
    GET_PASSWORD_CHANGED_TIME(PasswordPolicyStateExtendedRequest.PASSWORD_CHANGED_TIME_NAME),
    /**
     * Set password changed time operation.
     */
    /** Set password changed time operation. */
    SET_PASSWORD_CHANGED_TIME(PasswordPolicyStateExtendedRequest.PASSWORD_CHANGED_TIME_NAME),
    /**
     * Clear password changed time operation.
     */
    /** Clear password changed time operation. */
    CLEAR_PASSWORD_CHANGED_TIME(PasswordPolicyStateExtendedRequest.PASSWORD_CHANGED_TIME_NAME),
    /**
     * Get password expiration warned time operation.
     */
    /** Get password expiration warned time operation. */
    GET_PASSWORD_EXPIRATION_WARNED_TIME(
            PasswordPolicyStateExtendedRequest.PASSWORD_EXPIRATION_WARNED_TIME_NAME),
    /**
     * Set password expiration warned time operation.
     */
    /** Set password expiration warned time operation. */
    SET_PASSWORD_EXPIRATION_WARNED_TIME(
            PasswordPolicyStateExtendedRequest.PASSWORD_EXPIRATION_WARNED_TIME_NAME),
    /**
     * Clear password expiration warned time operation.
     */
    /** Clear password expiration warned time operation. */
    CLEAR_PASSWORD_EXPIRATION_WARNED_TIME(
            PasswordPolicyStateExtendedRequest.PASSWORD_EXPIRATION_WARNED_TIME_NAME),
    /**
     * Get seconds until password expiration operation.
     */
    /** Get seconds until password expiration operation. */
    GET_SECONDS_UNTIL_PASSWORD_EXPIRATION(
            PasswordPolicyStateExtendedRequest.SECONDS_UNTIL_PASSWORD_EXPIRATION_NAME),
    /**
     * Get seconds until password expiration warning operation.
     */
    /** Get seconds until password expiration warning operation. */
    GET_SECONDS_UNTIL_PASSWORD_EXPIRATION_WARNING(
            PasswordPolicyStateExtendedRequest.SECONDS_UNTIL_PASSWORD_EXPIRATION_WARNING_NAME),
    /**
     * Get authentication failure times operation.
     */
    /** Get authentication failure times operation. */
    GET_AUTHENTICATION_FAILURE_TIMES(
            PasswordPolicyStateExtendedRequest.AUTHENTICATION_FAILURE_TIMES_NAME),
    /**
     * Add authentication failure times operation.
     */
    /** Add authentication failure times operation. */
    ADD_AUTHENTICATION_FAILURE_TIMES(
            PasswordPolicyStateExtendedRequest.AUTHENTICATION_FAILURE_TIMES_NAME),
    /**
     * Set authentication failure times operation.
     */
    /** Set authentication failure times operation. */
    SET_AUTHENTICATION_FAILURE_TIMES(
            PasswordPolicyStateExtendedRequest.AUTHENTICATION_FAILURE_TIMES_NAME),
    /**
     * Clear authentication failure times operation.
     */
    /** Clear authentication failure times operation. */
    CLEAR_AUTHENTICATION_FAILURE_TIMES(
            PasswordPolicyStateExtendedRequest.AUTHENTICATION_FAILURE_TIMES_NAME),
    /**
     * Get seconds until authentication failure unlock operation.
     */
    /** Get seconds until authentication failure unlock operation. */
    GET_SECONDS_UNTIL_AUTHENTICATION_FAILURE_UNLOCK(
            PasswordPolicyStateExtendedRequest.SECONDS_UNTIL_AUTHENTICATION_FAILURE_UNLOCK_NAME),
    /**
     * Get remaining authentication failure count operation.
     */
    /** Get remaining authentication failure count operation. */
    GET_REMAINING_AUTHENTICATION_FAILURE_COUNT(
            PasswordPolicyStateExtendedRequest.REMAINING_AUTHENTICATION_FAILURE_COUNT_NAME),
    /**
     * Get last login time operation.
     */
    /** Get last login time operation. */
    GET_LAST_LOGIN_TIME(PasswordPolicyStateExtendedRequest.LAST_LOGIN_TIME_NAME),
    /**
     * Set last login time operation.
     */
    /** Set last login time operation. */
    SET_LAST_LOGIN_TIME(PasswordPolicyStateExtendedRequest.LAST_LOGIN_TIME_NAME),
    /**
     * Clear last login time operation.
     */
    /** Clear last login time operation. */
    CLEAR_LAST_LOGIN_TIME(PasswordPolicyStateExtendedRequest.LAST_LOGIN_TIME_NAME),
    /**
     * Get seconds until idle lockout operation.
     */
    /** Get seconds until idle lockout operation. */
    GET_SECONDS_UNTIL_IDLE_LOCKOUT(
            PasswordPolicyStateExtendedRequest.SECONDS_UNTIL_IDLE_LOCKOUT_NAME),
    /**
     * Get password reset state operation.
     */
    /** Get password reset state operation. */
    GET_PASSWORD_RESET_STATE(PasswordPolicyStateExtendedRequest.PASSWORD_RESET_STATE_NAME),
    /**
     * Set password reset state operation.
     */
    /** Set password reset state operation. */
    SET_PASSWORD_RESET_STATE(PasswordPolicyStateExtendedRequest.PASSWORD_RESET_STATE_NAME),
    /**
     * Clear password reset state operation.
     */
    /** Clear password reset state operation. */
    CLEAR_PASSWORD_RESET_STATE(PasswordPolicyStateExtendedRequest.PASSWORD_RESET_STATE_NAME),
    /**
     * Get seconds until password reset lockout operation.
     */
    /** Get seconds until password reset lockout operation. */
    GET_SECONDS_UNTIL_PASSWORD_RESET_LOCKOUT(
            PasswordPolicyStateExtendedRequest.SECONDS_UNTIL_PASSWORD_RESET_LOCKOUT_NAME),
    /**
     * Get grace login use times operation.
     */
    /** Get grace login use times operation. */
    GET_GRACE_LOGIN_USE_TIMES(PasswordPolicyStateExtendedRequest.GRACE_LOGIN_USE_TIMES_NAME),
    /**
     * Add grace login use times operation.
     */
    /** Add grace login use times operation. */
    ADD_GRACE_LOGIN_USE_TIME(PasswordPolicyStateExtendedRequest.GRACE_LOGIN_USE_TIMES_NAME),
    /**
     * Set grace login use times operation.
     */
    /** Set grace login use times operation. */
    SET_GRACE_LOGIN_USE_TIMES(PasswordPolicyStateExtendedRequest.GRACE_LOGIN_USE_TIMES_NAME),
    /**
     * Clear grace login use times operation.
     */
    /** Clear grace login use times operation. */
    CLEAR_GRACE_LOGIN_USE_TIMES(PasswordPolicyStateExtendedRequest.GRACE_LOGIN_USE_TIMES_NAME),
    /**
     * Get remaining grace login count operation.
     */
    /** Get remaining grace login count operation. */
    GET_REMAINING_GRACE_LOGIN_COUNT(
            PasswordPolicyStateExtendedRequest.REMAINING_GRACE_LOGIN_COUNT_NAME),
    /**
     * Get password changed by required time operation.
     */
    /** Get password changed by required time operation. */
    GET_PASSWORD_CHANGED_BY_REQUIRED_TIME(
            PasswordPolicyStateExtendedRequest.PASSWORD_CHANGED_BY_REQUIRED_TIME_NAME),
    /**
     * Set password changed by required time operation.
     */
    /** Set password changed by required time operation. */
    SET_PASSWORD_CHANGED_BY_REQUIRED_TIME(
            PasswordPolicyStateExtendedRequest.PASSWORD_CHANGED_BY_REQUIRED_TIME_NAME),
    /**
     * Clear password changed by required time operation.
     */
    /** Clear password changed by required time operation. */
    CLEAR_PASSWORD_CHANGED_BY_REQUIRED_TIME(
            PasswordPolicyStateExtendedRequest.PASSWORD_CHANGED_BY_REQUIRED_TIME_NAME),
    /**
     * Get seconds until required change time operation.
     */
    /** Get seconds until required change time operation. */
    GET_SECONDS_UNTIL_REQUIRED_CHANGE_TIME(
            PasswordPolicyStateExtendedRequest.SECONDS_UNTIL_REQUIRED_CHANGE_TIME_NAME),
    /**
     * Get password history operation.
     */
    /** Get password history operation. */
    GET_PASSWORD_HISTORY(PasswordPolicyStateExtendedRequest.PASSWORD_HISTORY_NAME),
    /**
     * Clear password history operation.
     */
    /** Clear password history operation. */
    CLEAR_PASSWORD_HISTORY(PasswordPolicyStateExtendedRequest.PASSWORD_HISTORY_NAME);
    private String propertyName;
@@ -262,17 +179,16 @@
        this.propertyName = propertyName;
    }
    /** {@inheritDoc} */
    @Override
    public PasswordPolicyStateOperationType getOperationType() {
        return this;
    }
    /** {@inheritDoc} */
    @Override
    public Iterable<ByteString> getValues() {
        return null;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        return propertyName;
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/util/ASCIICharProp.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2011-2014 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package com.forgerock.opendj.util;
@@ -180,7 +180,7 @@
        return c;
    }
    /** {@inheritDoc} */
    @Override
    public int compareTo(final ASCIICharProp o) {
        return c - o.c;
    }
@@ -196,13 +196,11 @@
        return decimalValue;
    }
    /** {@inheritDoc} */
    @Override
    public boolean equals(final Object obj) {
        return this == obj;
    }
    /** {@inheritDoc} */
    @Override
    public int hashCode() {
        return c;
@@ -309,7 +307,6 @@
        return lowerCaseChar;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        return stringValue;
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/util/Iterators.java
@@ -22,9 +22,8 @@
 *
 *
 *      Copyright 2009-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2014-2015 ForgeRock AS.
 *      Portions Copyright 2014-2016 ForgeRock AS.
 */
package com.forgerock.opendj.util;
import java.util.Iterator;
@@ -33,9 +32,7 @@
import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
/**
 * Utility methods for manipulating {@link Iterator}s.
 */
/** Utility methods for manipulating {@link Iterator}s. */
public final class Iterators {
    private static final class ArrayIterator<M> implements Iterator<M> {
        private int i;
@@ -46,12 +43,12 @@
            this.a = a;
        }
        /** {@inheritDoc} */
        @Override
        public boolean hasNext() {
            return i < a.length;
        }
        /** {@inheritDoc} */
        @Override
        public M next() {
            if (hasNext()) {
                return a[i++];
@@ -60,7 +57,7 @@
            }
        }
        /** {@inheritDoc} */
        @Override
        public void remove() {
            throw new UnsupportedOperationException();
        }
@@ -68,17 +65,17 @@
    }
    private static final class EmptyIterator<M> implements Iterator<M> {
        /** {@inheritDoc} */
        @Override
        public boolean hasNext() {
            return false;
        }
        /** {@inheritDoc} */
        @Override
        public M next() {
            throw new NoSuchElementException();
        }
        /** {@inheritDoc} */
        @Override
        public void remove() {
            throw new UnsupportedOperationException();
        }
@@ -101,7 +98,7 @@
            this.parameter = p;
        }
        /** {@inheritDoc} */
        @Override
        public boolean hasNext() {
            if (hasNextMustIterate) {
                hasNextMustIterate = false;
@@ -118,7 +115,7 @@
            }
        }
        /** {@inheritDoc} */
        @Override
        public M next() {
            if (!hasNext()) {
                throw new NoSuchElementException();
@@ -127,7 +124,7 @@
            return next;
        }
        /** {@inheritDoc} */
        @Override
        public void remove() {
            iterator.remove();
        }
@@ -142,12 +139,12 @@
            this.value = value;
        }
        /** {@inheritDoc} */
        @Override
        public boolean hasNext() {
            return value != null;
        }
        /** {@inheritDoc} */
        @Override
        public M next() {
            if (value != null) {
                final M tmp = value;
@@ -158,7 +155,7 @@
            }
        }
        /** {@inheritDoc} */
        @Override
        public void remove() {
            throw new UnsupportedOperationException();
        }
@@ -177,17 +174,17 @@
            this.function = function;
        }
        /** {@inheritDoc} */
        @Override
        public boolean hasNext() {
            return iterator.hasNext();
        }
        /** {@inheritDoc} */
        @Override
        public N next() {
            return function.apply(iterator.next());
        }
        /** {@inheritDoc} */
        @Override
        public void remove() {
            iterator.remove();
        }
@@ -201,17 +198,17 @@
            this.iterator = iterator;
        }
        /** {@inheritDoc} */
        @Override
        public boolean hasNext() {
            return iterator.hasNext();
        }
        /** {@inheritDoc} */
        @Override
        public M next() {
            return iterator.next();
        }
        /** {@inheritDoc} */
        @Override
        public void remove() {
            throw new UnsupportedOperationException();
        }
opendj-sdk/opendj-core/src/main/java/com/forgerock/opendj/util/OperatingSystem.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Portions Copyright 2014 ForgeRock AS
 *      Portions Copyright 2014-2016 ForgeRock AS
 */
package com.forgerock.opendj.util;
@@ -118,6 +118,7 @@
     *
     * @return The human-readable name for this operating system.
     */
    @Override
    public String toString() {
        return osName;
    }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/io/ASN1InputStreamReader.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.io;
@@ -41,9 +41,7 @@
import com.forgerock.opendj.util.SizeLimitInputStream;
/**
 * An ASN1Reader that reads from an input stream.
 */
/** An ASN1Reader that reads from an input stream. */
final class ASN1InputStreamReader extends AbstractASN1Reader {
    private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
@@ -72,14 +70,14 @@
        this.maxElementSize = maxElementSize;
    }
    /** {@inheritDoc} */
    @Override
    public void close() throws IOException {
        // Calling close of SizeLimitInputStream should close the parent stream.
        in.close();
        streamStack.clear();
    }
    /** {@inheritDoc} */
    @Override
    public boolean elementAvailable() throws IOException {
        return (state != ASN1.ELEMENT_READ_STATE_NEED_TYPE || needTypeState(false, false))
            && (state != ASN1.ELEMENT_READ_STATE_NEED_FIRST_LENGTH_BYTE || needFirstLengthByteState(false, false))
@@ -88,7 +86,7 @@
            && peekLength <= in.available();
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasNextElement() throws IOException {
        if (!streamStack.isEmpty()) {
            // We are reading a sub sequence. Return true as long as we
@@ -101,7 +99,7 @@
        return state != ASN1.ELEMENT_READ_STATE_NEED_TYPE || needTypeState(true, false);
    }
    /** {@inheritDoc} */
    @Override
    public int peekLength() throws IOException {
        peekType();
        switch (state) {
@@ -117,7 +115,7 @@
        return peekLength;
    }
    /** {@inheritDoc} */
    @Override
    public byte peekType() throws IOException {
        if (state == ASN1.ELEMENT_READ_STATE_NEED_TYPE) {
            needTypeState(true, true);
@@ -126,7 +124,7 @@
        return peekType;
    }
    /** {@inheritDoc} */
    @Override
    public boolean readBoolean() throws IOException {
        // Read the header if haven't done so already
        peekLength();
@@ -148,7 +146,7 @@
        return readByte != 0x00;
    }
    /** {@inheritDoc} */
    @Override
    public void readEndSequence() throws IOException {
        if (streamStack.isEmpty()) {
            final LocalizableMessage message = ERR_ASN1_SEQUENCE_READ_NOT_STARTED.get();
@@ -171,20 +169,19 @@
        state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
    }
    /** {@inheritDoc} */
    @Override
    public void readEndExplicitTag() throws DecodeException, IOException {
        readEndSequence();
    }
    /** {@inheritDoc} */
    @Override
    public void readEndSet() throws IOException {
        // From an implementation point of view, a set is equivalent to a
        // sequence.
        readEndSequence();
    }
    /** {@inheritDoc} */
    @Override
    public int readEnumerated() throws IOException {
        // Read the header if haven't done so already
        peekLength();
@@ -199,7 +196,7 @@
        return (int) readInteger();
    }
    /** {@inheritDoc} */
    @Override
    public long readInteger() throws IOException {
        // Read the header if haven't done so already
        peekLength();
@@ -248,7 +245,7 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public void readNull() throws IOException {
        // Read the header if haven't done so already
        peekLength();
@@ -264,7 +261,7 @@
        state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString readOctetString() throws IOException {
        // Read the header if haven't done so already
        peekLength();
@@ -295,7 +292,7 @@
        return ByteString.wrap(value);
    }
    /** {@inheritDoc} */
    @Override
    public ByteStringBuilder readOctetString(final ByteStringBuilder builder) throws IOException {
        // Read the header if haven't done so already
        peekLength();
@@ -323,7 +320,7 @@
        return builder;
    }
    /** {@inheritDoc} */
    @Override
    public String readOctetStringAsString() throws IOException {
        // Read the header if haven't done so already
        peekLength();
@@ -365,7 +362,7 @@
        return str;
    }
    /** {@inheritDoc} */
    @Override
    public void readStartSequence() throws IOException {
        // Read the header if haven't done so already
        peekLength();
@@ -381,20 +378,19 @@
        state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
    }
    /** {@inheritDoc} */
    @Override
    public void readStartExplicitTag() throws DecodeException, IOException {
        readStartSequence();
    }
    /** {@inheritDoc} */
    @Override
    public void readStartSet() throws IOException {
        // From an implementation point of view, a set is equivalent to a
        // sequence.
        readStartSequence();
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Reader skipElement() throws IOException {
        // Read the header if haven't done so already
        peekLength();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/io/ASN1Reader.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Portions copyright 2012-2013 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 *      Portions Copyright 2014 Manuel Gaupp
 */
@@ -49,6 +49,7 @@
     * @throws IOException
     *             If an error occurs while closing.
     */
    @Override
    void close() throws IOException;
    /**
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/io/ASN1Writer.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2006-2009 Sun Microsystems, Inc.
 *      Portions copyright 2011-2013 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.io;
@@ -48,6 +48,7 @@
     * @throws IOException
     *             If an error occurs while closing.
     */
    @Override
    void close() throws IOException;
    /**
@@ -65,6 +66,7 @@
     * @throws IOException
     *             If an error occurs while flushing.
     */
    @Override
    void flush() throws IOException;
    /**
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/io/AbstractASN1Reader.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Portions copyright 2012-2013 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 *      Portions Copyright 2014 Manuel Gaupp
 */
@@ -42,14 +42,12 @@
 * implementing new ASN1 reader implementations.
 */
public abstract class AbstractASN1Reader implements ASN1Reader {
    /**
     * Creates a new abstract ASN.1 reader.
     */
    /** Creates a new abstract ASN.1 reader. */
    protected AbstractASN1Reader() {
        // No implementation required.
    }
    /** {@inheritDoc} */
    @Override
    public boolean readBoolean(byte type) throws IOException {
        if (type == 0x00) {
            type = ASN1.UNIVERSAL_BOOLEAN_TYPE;
@@ -58,7 +56,7 @@
        return readBoolean();
    }
    /** {@inheritDoc} */
    @Override
    public int readEnumerated(byte type) throws IOException {
        if (type == 0x00) {
            type = ASN1.UNIVERSAL_ENUMERATED_TYPE;
@@ -67,7 +65,7 @@
        return readEnumerated();
    }
    /** {@inheritDoc} */
    @Override
    public long readInteger(byte type) throws IOException {
        if (type == 0x00) {
            type = ASN1.UNIVERSAL_INTEGER_TYPE;
@@ -76,7 +74,7 @@
        return readInteger();
    }
    /** {@inheritDoc} */
    @Override
    public void readNull(byte type) throws IOException {
        if (type == 0x00) {
            type = ASN1.UNIVERSAL_NULL_TYPE;
@@ -85,7 +83,7 @@
        readNull();
    }
    /** {@inheritDoc} */
    @Override
    public ByteString readOctetString(byte type) throws IOException {
        if (type == 0x00) {
            type = ASN1.UNIVERSAL_OCTET_STRING_TYPE;
@@ -94,7 +92,7 @@
        return readOctetString();
    }
    /** {@inheritDoc} */
    @Override
    public ByteStringBuilder readOctetString(byte type, final ByteStringBuilder builder)
            throws IOException {
        if (type == 0x00) {
@@ -105,7 +103,7 @@
        return builder;
    }
    /** {@inheritDoc} */
    @Override
    public String readOctetStringAsString(byte type) throws IOException {
        // We could cache the UTF-8 CharSet if performance proves to be an
        // issue.
@@ -116,7 +114,7 @@
        return readOctetStringAsString();
    }
    /** {@inheritDoc} */
    @Override
    public void readStartExplicitTag(byte type) throws IOException {
        if (type == 0x00) {
            type = (ASN1.TYPE_MASK_CONTEXT | ASN1.TYPE_MASK_CONSTRUCTED);
@@ -125,7 +123,7 @@
        readStartExplicitTag();
    }
    /** {@inheritDoc} */
    @Override
    public void readStartSequence(byte type) throws IOException {
        if (type == 0x00) {
            type = ASN1.UNIVERSAL_SEQUENCE_TYPE;
@@ -134,7 +132,7 @@
        readStartSequence();
    }
    /** {@inheritDoc} */
    @Override
    public void readStartSet(byte type) throws IOException {
        // From an implementation point of view, a set is equivalent to a
        // sequence.
@@ -145,7 +143,7 @@
        readStartSet();
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Reader skipElement(final byte expectedType) throws IOException {
        if (peekType() != expectedType) {
            final LocalizableMessage message =
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/io/AbstractASN1Writer.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2006-2009 Sun Microsystems, Inc.
 *      Portions copyright 2011-2013 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.io;
@@ -36,70 +36,68 @@
 */
public abstract class AbstractASN1Writer implements ASN1Writer {
    /**
     * Creates a new abstract ASN.1 writer.
     */
    /** Creates a new abstract ASN.1 writer. */
    protected AbstractASN1Writer() {
        // No implementation required.
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeBoolean(final boolean value) throws IOException {
        return writeBoolean(ASN1.UNIVERSAL_BOOLEAN_TYPE, value);
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeEnumerated(final int value) throws IOException {
        return writeEnumerated(ASN1.UNIVERSAL_ENUMERATED_TYPE, value);
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeInteger(final int value) throws IOException {
        return writeInteger(ASN1.UNIVERSAL_INTEGER_TYPE, value);
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeInteger(final long value) throws IOException {
        return writeInteger(ASN1.UNIVERSAL_INTEGER_TYPE, value);
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeNull() throws IOException {
        return writeNull(ASN1.UNIVERSAL_NULL_TYPE);
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeOctetString(byte type, byte[] value) throws IOException {
        return writeOctetString(type, value, 0, value.length);
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeOctetString(byte[] value) throws IOException {
        return writeOctetString(value, 0, value.length);
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeOctetString(final byte[] value, final int offset, final int length)
            throws IOException {
        return writeOctetString(ASN1.UNIVERSAL_OCTET_STRING_TYPE, value, offset, length);
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeOctetString(final ByteSequence value) throws IOException {
        return writeOctetString(ASN1.UNIVERSAL_OCTET_STRING_TYPE, value);
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeOctetString(final String value) throws IOException {
        return writeOctetString(ASN1.UNIVERSAL_OCTET_STRING_TYPE, value);
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeStartSequence() throws IOException {
        return writeStartSequence(ASN1.UNIVERSAL_SEQUENCE_TYPE);
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeStartSet() throws IOException {
        return writeStartSet(ASN1.UNIVERSAL_SET_TYPE);
    }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractAttribute.java
@@ -22,9 +22,8 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap;
import java.util.AbstractSet;
@@ -140,18 +139,15 @@
        return builder.toString();
    }
    /**
     * Sole constructor.
     */
    /** Sole constructor. */
    protected AbstractAttribute() {
        // No implementation required.
    }
    /** {@inheritDoc} */
    @Override
    public abstract boolean add(ByteString value);
    /** {@inheritDoc} */
    @Override
    public boolean add(final Object... values) {
        Reject.ifNull(values);
        boolean modified = false;
@@ -161,13 +157,12 @@
        return modified;
    }
    /** {@inheritDoc} */
    @Override
    public boolean addAll(final Collection<? extends ByteString> values) {
        return addAll(values, null);
    }
    /** {@inheritDoc} */
    @Override
    public <T> boolean addAll(final Collection<T> values,
            final Collection<? super T> duplicateValues) {
        boolean modified = false;
@@ -181,11 +176,9 @@
        return modified;
    }
    /** {@inheritDoc} */
    @Override
    public abstract boolean contains(Object value);
    /** {@inheritDoc} */
    @Override
    public boolean containsAll(final Collection<?> values) {
        for (final Object value : values) {
@@ -196,56 +189,51 @@
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean equals(final Object object) {
        return equals(this, object);
    }
    /** {@inheritDoc} */
    @Override
    public ByteString firstValue() {
        return iterator().next();
    }
    /** {@inheritDoc} */
    @Override
    public String firstValueAsString() {
        return firstValue().toString();
    }
    /** {@inheritDoc} */
    @Override
    public abstract AttributeDescription getAttributeDescription();
    /** {@inheritDoc} */
    @Override
    public String getAttributeDescriptionAsString() {
        return getAttributeDescription().toString();
    }
    /** {@inheritDoc} */
    @Override
    public int hashCode() {
        return hashCode(this);
    }
    /** {@inheritDoc} */
    @Override
    public AttributeParser parse() {
        return AttributeParser.parseAttribute(this);
    }
    /** {@inheritDoc} */
    @Override
    public abstract Iterator<ByteString> iterator();
    /** {@inheritDoc} */
    @Override
    public abstract boolean remove(Object value);
    /** {@inheritDoc} */
    @Override
    public boolean removeAll(final Collection<?> values) {
        return removeAll(values, null);
    }
    /** {@inheritDoc} */
    @Override
    public <T> boolean removeAll(final Collection<T> values,
            final Collection<? super T> missingValues) {
        boolean modified = false;
@@ -259,13 +247,12 @@
        return modified;
    }
    /** {@inheritDoc} */
    @Override
    public boolean retainAll(final Collection<?> values) {
        return retainAll(values, null);
    }
    /** {@inheritDoc} */
    @Override
    public <T> boolean retainAll(final Collection<T> values,
            final Collection<? super T> missingValues) {
        if (values.isEmpty()) {
@@ -307,17 +294,14 @@
        return modified;
    }
    /** {@inheritDoc} */
    @Override
    public abstract int size();
    /** {@inheritDoc} */
    @Override
    public ByteString[] toArray() {
        return toArray(new ByteString[size()]);
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        return toString(this);
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractFilterVisitor.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap;
@@ -57,6 +58,7 @@
     * <p>
     * The default implementation is to call {@link #visitDefaultFilter(Object)}.
     */
    @Override
    public R visitAndFilter(final P p, final List<Filter> subFilters) {
        return visitDefaultFilter(p);
    }
@@ -66,6 +68,7 @@
     * <p>
     * The default implementation is to call {@link #visitDefaultFilter(Object)}.
     */
    @Override
    public R visitApproxMatchFilter(final P p, final String attributeDescription,
            final ByteString assertionValue) {
        return visitDefaultFilter(p);
@@ -90,6 +93,7 @@
     * <p>
     * The default implementation is to call {@link #visitDefaultFilter(Object)}.
     */
    @Override
    public R visitEqualityMatchFilter(final P p, final String attributeDescription,
            final ByteString assertionValue) {
        return visitDefaultFilter(p);
@@ -100,6 +104,7 @@
     * <p>
     * The default implementation is to call {@link #visitDefaultFilter(Object)}.
     */
    @Override
    public R visitExtensibleMatchFilter(final P p, final String matchingRule,
            final String attributeDescription, final ByteString assertionValue,
            final boolean dnAttributes) {
@@ -111,6 +116,7 @@
     * <p>
     * The default implementation is to call {@link #visitDefaultFilter(Object)}.
     */
    @Override
    public R visitGreaterOrEqualFilter(final P p, final String attributeDescription,
            final ByteString assertionValue) {
        return visitDefaultFilter(p);
@@ -121,6 +127,7 @@
     * <p>
     * The default implementation is to call {@link #visitDefaultFilter(Object)}.
     */
    @Override
    public R visitLessOrEqualFilter(final P p, final String attributeDescription,
            final ByteString assertionValue) {
        return visitDefaultFilter(p);
@@ -131,6 +138,7 @@
     * <p>
     * The default implementation is to call {@link #visitDefaultFilter(Object)}.
     */
    @Override
    public R visitNotFilter(final P p, final Filter subFilter) {
        return visitDefaultFilter(p);
    }
@@ -140,6 +148,7 @@
     * <p>
     * The default implementation is to call {@link #visitDefaultFilter(Object)}.
     */
    @Override
    public R visitOrFilter(final P p, final List<Filter> subFilters) {
        return visitDefaultFilter(p);
    }
@@ -149,6 +158,7 @@
     * <p>
     * The default implementation is to call {@link #visitDefaultFilter(Object)}.
     */
    @Override
    public R visitPresentFilter(final P p, final String attributeDescription) {
        return visitDefaultFilter(p);
    }
@@ -158,6 +168,7 @@
     * <p>
     * The default implementation is to call {@link #visitDefaultFilter(Object)}.
     */
    @Override
    public R visitSubstringsFilter(final P p, final String attributeDescription,
            final ByteString initialSubstring, final List<ByteString> anySubstrings,
            final ByteString finalSubstring) {
@@ -169,6 +180,7 @@
     * <p>
     * The default implementation is to call {@link #visitDefaultFilter(Object)}.
     */
    @Override
    public R visitUnrecognizedFilter(final P p, final byte filterTag, final ByteString filterBytes) {
        return visitDefaultFilter(p);
    }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/Attribute.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap;
@@ -60,6 +60,7 @@
     * @throws NullPointerException
     *             If {@code value} was {@code null}.
     */
    @Override
    boolean add(ByteString value);
    /**
@@ -99,6 +100,7 @@
     * @throws NullPointerException
     *             If {@code values} was {@code null}.
     */
    @Override
    boolean addAll(Collection<? extends ByteString> values);
    /**
@@ -134,6 +136,7 @@
     *             If this attribute does not support removal of attribute
     *             values.
     */
    @Override
    void clear();
    /**
@@ -150,6 +153,7 @@
     * @throws NullPointerException
     *             If {@code value} was {@code null}.
     */
    @Override
    boolean contains(Object value);
    /**
@@ -167,6 +171,7 @@
     * @throws NullPointerException
     *             If {@code values} was {@code null}.
     */
    @Override
    boolean containsAll(Collection<?> values);
    /**
@@ -181,6 +186,7 @@
     * @return {@code true} if {@code object} is an attribute which is equal to
     *         this attribute, or {@code false} if not.
     */
    @Override
    boolean equals(Object object);
    /**
@@ -226,6 +232,7 @@
     *
     * @return The hash code for this attribute.
     */
    @Override
    int hashCode();
    /**
@@ -233,6 +240,7 @@
     *
     * @return {@code true} if this attribute contains no attribute values.
     */
    @Override
    boolean isEmpty();
    /**
@@ -242,6 +250,7 @@
     *
     * @return An iterator over the attribute values in this attribute.
     */
    @Override
    Iterator<ByteString> iterator();
    /**
@@ -269,6 +278,7 @@
     * @throws NullPointerException
     *             If {@code value} was {@code null}.
     */
    @Override
    boolean remove(Object value);
    /**
@@ -293,6 +303,7 @@
     * @throws NullPointerException
     *             If {@code values} was {@code null}.
     */
    @Override
    boolean removeAll(Collection<?> values);
    /**
@@ -342,6 +353,7 @@
     * @throws NullPointerException
     *             If {@code values} was {@code null}.
     */
    @Override
    boolean retainAll(Collection<?> values);
    /**
@@ -373,6 +385,7 @@
     *
     * @return The number of attribute values in this attribute.
     */
    @Override
    int size();
    /**
@@ -390,6 +403,7 @@
     * @return An array containing all of the attribute values contained in this
     *         attribute.
     */
    @Override
    ByteString[] toArray();
    /**
@@ -421,6 +435,7 @@
     * @throws NullPointerException
     *             If {@code array} was {@code null}.
     */
    @Override
    <T> T[] toArray(T[] array);
    /**
@@ -428,5 +443,6 @@
     *
     * @return The string representation of this attribute.
     */
    @Override
    String toString();
}
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/AttributeDescription.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009-2010 Sun Microsystems, Inc.
 *      Portions copyright 2011-2015 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap;
@@ -84,7 +84,6 @@
        public abstract boolean isSuperTypeOf(Impl other);
        public abstract int size();
    }
    private static final class MultiOptionImpl extends Impl {
@@ -175,9 +174,7 @@
                return false;
            } else {
                // Check this contains other's options.
                //
                // This could be optimized more if required, but it's probably
                // not worth it.
                // This could be optimized more if required, but it's probably not worth it.
                final MultiOptionImpl tmp = (MultiOptionImpl) other;
                for (final String normalizedOption : tmp.normalizedOptions) {
                    if (!hasOption(normalizedOption)) {
@@ -199,6 +196,7 @@
            return true;
        }
        @Override
        public Iterator<String> iterator() {
            return Iterators.arrayIterator(options);
        }
@@ -272,6 +270,7 @@
            return other.hasOption(normalizedOption);
        }
        @Override
        public Iterator<String> iterator() {
            return Iterators.singletonIterator(option);
        }
@@ -333,6 +332,7 @@
            return true;
        }
        @Override
        public Iterator<String> iterator() {
            return Iterators.emptyIterator();
        }
@@ -347,7 +347,6 @@
    private static final ThreadLocal<WeakHashMap<Schema, Map<String, AttributeDescription>>> CACHE =
            new ThreadLocal<WeakHashMap<Schema, Map<String, AttributeDescription>>>() {
                /** {@inheritDoc} */
                @Override
                protected WeakHashMap<Schema, Map<String, AttributeDescription>> initialValue() {
                    return new WeakHashMap<>();
@@ -1004,6 +1003,7 @@
     * @throws NullPointerException
     *             If {@code name} was {@code null}.
     */
    @Override
    public int compareTo(final AttributeDescription other) {
        final int result = attributeType.compareTo(other.attributeType);
        if (result != 0) {
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/DecodeException.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap;
@@ -101,11 +102,7 @@
        this.isFatal = isFatal;
    }
    /**
     * Returns the message that explains the problem that occurred.
     *
     * @return LocalizableMessage of the problem
     */
    @Override
    public LocalizableMessage getMessageObject() {
        return message;
    }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/DecodeOptions.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2011-2012 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap;
@@ -52,17 +52,14 @@
            this.schema = schema;
        }
        /** {@inheritDoc} */
        @Override
        public Schema resolveSchema(final String dn) {
            return schema;
        }
    }
    private SchemaResolver schemaResolver;
    private EntryFactory entryFactory;
    private AttributeFactory attributeFactory;
    /**
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/Entry.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009-2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap;
@@ -232,6 +232,7 @@
     * @return {@code true} if {@code object} is an entry which is equal to this
     *         entry, or {@code false} if not.
     */
    @Override
    boolean equals(Object object);
    /**
@@ -330,6 +331,7 @@
     *
     * @return The hash code for this entry.
     */
    @Override
    int hashCode();
    /**
@@ -525,5 +527,6 @@
     *
     * @return The string representation of this entry.
     */
    @Override
    String toString();
}
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/Functions.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009-2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap;
@@ -50,6 +50,7 @@
    private static final Function<ByteString, String, NeverThrowsException> BYTESTRING_TO_STRING =
            new Function<ByteString, String, NeverThrowsException>() {
                @Override
                public String apply(final ByteString value) {
                    return value.toString();
                }
@@ -57,6 +58,7 @@
    private static final Function<Object, Object, NeverThrowsException> IDENTITY =
            new Function<Object, Object, NeverThrowsException>() {
                @Override
                public Object apply(final Object value) {
                    return value;
                }
@@ -64,6 +66,7 @@
    private static final Function<String, String, NeverThrowsException> NORMALIZE_STRING =
            new Function<String, String, NeverThrowsException>() {
                @Override
                public String apply(final String value) {
                    return StaticUtils.toLowerCase(value).trim();
                }
@@ -71,6 +74,7 @@
    private static final Function<Object, ByteString, NeverThrowsException> OBJECT_TO_BYTESTRING =
            new Function<Object, ByteString, NeverThrowsException>() {
                @Override
                public ByteString apply(final Object value) {
                    return ByteString.valueOfObject(value);
                }
@@ -78,6 +82,7 @@
    private static final Function<String, Boolean, NeverThrowsException> STRING_TO_BOOLEAN =
            new Function<String, Boolean, NeverThrowsException>() {
                @Override
                public Boolean apply(final String value) {
                    final String valueString = StaticUtils.toLowerCase(value);
                    if ("true".equals(valueString) || "yes".equals(valueString)
@@ -95,6 +100,7 @@
    private static final Function<String, GeneralizedTime, NeverThrowsException> STRING_TO_GENERALIZED_TIME =
            new Function<String, GeneralizedTime, NeverThrowsException>() {
                @Override
                public GeneralizedTime apply(final String value) {
                    return GeneralizedTime.valueOf(value);
                }
@@ -102,6 +108,7 @@
    private static final Function<String, Integer, NeverThrowsException> STRING_TO_INTEGER =
            new Function<String, Integer, NeverThrowsException>() {
                @Override
                public Integer apply(final String value) {
                    try {
                        return Integer.valueOf(value);
@@ -114,6 +121,7 @@
    private static final Function<String, Long, NeverThrowsException> STRING_TO_LONG =
            new Function<String, Long, NeverThrowsException>() {
                @Override
                public Long apply(final String value) {
                    try {
                        return Long.valueOf(value);
@@ -176,6 +184,7 @@
    public static <M, X, N> Function<M, N, NeverThrowsException> compose(
            final Function<M, X, NeverThrowsException> first, final Function<X, N, NeverThrowsException> second) {
        return new Function<M, N, NeverThrowsException>() {
            @Override
            public N apply(final M value) {
                return second.apply(first.apply(value));
            }
@@ -241,6 +250,7 @@
    public static Function<String, AttributeDescription, NeverThrowsException> stringToAttributeDescription(
            final Schema schema) {
        return new Function<String, AttributeDescription, NeverThrowsException>() {
            @Override
            public AttributeDescription apply(final String value) {
                return AttributeDescription.valueOf(value, schema);
            }
@@ -281,6 +291,7 @@
     */
    public static Function<String, DN, NeverThrowsException> stringToDN(final Schema schema) {
        return new Function<String, DN, NeverThrowsException>() {
            @Override
            public DN apply(final String value) {
                return DN.valueOf(value, schema);
            }
@@ -340,6 +351,7 @@
    public static Function<ByteString, AttributeDescription, NeverThrowsException> byteStringToAttributeDescription(
            final Schema schema) {
        return compose(byteStringToString(), new Function<String, AttributeDescription, NeverThrowsException>() {
            @Override
            public AttributeDescription apply(final String value) {
                return AttributeDescription.valueOf(value, schema);
            }
@@ -380,6 +392,7 @@
     */
    public static Function<ByteString, DN, NeverThrowsException> byteStringToDN(final Schema schema) {
        return compose(byteStringToString(), new Function<String, DN, NeverThrowsException>() {
            @Override
            public DN apply(final String value) {
                return DN.valueOf(value, schema);
            }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/KeyManagers.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap;
@@ -46,9 +46,7 @@
import org.forgerock.util.Reject;
/**
 * This class contains methods for creating common types of key manager.
 */
/** This class contains methods for creating common types of key manager. */
public final class KeyManagers {
    /**
     * This class implements an X.509 key manager that will be used to wrap an
@@ -66,7 +64,7 @@
            this.alias = alias;
        }
        /** {@inheritDoc} */
        @Override
        public String chooseClientAlias(final String[] keyType, final Principal[] issuers,
                final Socket socket) {
            for (final String type : keyType) {
@@ -83,7 +81,6 @@
            return null;
        }
        /** {@inheritDoc} */
        @Override
        public String chooseEngineClientAlias(final String[] keyType, final Principal[] issuers,
                final SSLEngine engine) {
@@ -101,7 +98,6 @@
            return null;
        }
        /** {@inheritDoc} */
        @Override
        public String chooseEngineServerAlias(final String keyType, final Principal[] issuers,
                final SSLEngine engine) {
@@ -117,7 +113,7 @@
            return null;
        }
        /** {@inheritDoc} */
        @Override
        public String chooseServerAlias(final String keyType, final Principal[] issuers,
                final Socket socket) {
            final String[] serverAliases = keyManager.getServerAliases(keyType, issuers);
@@ -132,22 +128,22 @@
            return null;
        }
        /** {@inheritDoc} */
        @Override
        public X509Certificate[] getCertificateChain(final String alias) {
            return keyManager.getCertificateChain(alias);
        }
        /** {@inheritDoc} */
        @Override
        public String[] getClientAliases(final String keyType, final Principal[] issuers) {
            return keyManager.getClientAliases(keyType, issuers);
        }
        /** {@inheritDoc} */
        @Override
        public PrivateKey getPrivateKey(final String alias) {
            return keyManager.getPrivateKey(alias);
        }
        /** {@inheritDoc} */
        @Override
        public String[] getServerAliases(final String keyType, final Principal[] issuers) {
            return keyManager.getServerAliases(keyType, issuers);
        }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/LinkedHashMapEntry.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2012 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap;
@@ -66,6 +66,7 @@
     * An entry factory which can be used to create new linked hash map entries.
     */
    public static final EntryFactory FACTORY = new EntryFactory() {
        @Override
        public Entry newEntry(final DN name) {
            return new LinkedHashMapEntry(name);
        }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/Matcher.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap;
@@ -219,6 +219,7 @@
     * A visitor which is used to transform a filter into a matcher.
     */
    private static final class Visitor implements FilterVisitor<MatcherImpl, Schema> {
        @Override
        public MatcherImpl visitAndFilter(final Schema schema, final List<Filter> subFilters) {
            if (subFilters.isEmpty()) {
                logger.trace(LocalizableMessage.raw("Empty add filter component. Will always return TRUE"));
@@ -232,6 +233,7 @@
            return new AndMatcherImpl(subMatchers);
        }
        @Override
        public MatcherImpl visitApproxMatchFilter(final Schema schema,
                final String attributeDescription, final ByteString assertionValue) {
            final AttributeDescription ad;
@@ -263,6 +265,7 @@
            return new AssertionMatcherImpl(ad, rule, null, assertion, false);
        }
        @Override
        public MatcherImpl visitEqualityMatchFilter(final Schema schema,
                final String attributeDescription, final ByteString assertionValue) {
            final AttributeDescription ad;
@@ -294,6 +297,7 @@
            return new AssertionMatcherImpl(ad, rule, null, assertion, false);
        }
        @Override
        public MatcherImpl visitExtensibleMatchFilter(final Schema schema,
                final String matchingRule, final String attributeDescription,
                final ByteString assertionValue, final boolean dnAttributes) {
@@ -369,6 +373,7 @@
            return new AssertionMatcherImpl(ad, rule, ruleUse, assertion, dnAttributes);
        }
        @Override
        public MatcherImpl visitGreaterOrEqualFilter(final Schema schema,
                final String attributeDescription, final ByteString assertionValue) {
            final AttributeDescription ad;
@@ -401,6 +406,7 @@
            return new AssertionMatcherImpl(ad, rule, null, assertion, false);
        }
        @Override
        public MatcherImpl visitLessOrEqualFilter(final Schema schema,
                final String attributeDescription, final ByteString assertionValue) {
            final AttributeDescription ad;
@@ -432,11 +438,13 @@
            return new AssertionMatcherImpl(ad, rule, null, assertion, false);
        }
        @Override
        public MatcherImpl visitNotFilter(final Schema schema, final Filter subFilter) {
            final MatcherImpl subMatcher = subFilter.accept(this, schema);
            return new NotMatcherImpl(subMatcher);
        }
        @Override
        public MatcherImpl visitOrFilter(final Schema schema, final List<Filter> subFilters) {
            if (subFilters.isEmpty()) {
                logger.trace(LocalizableMessage.raw("Empty or filter component. Will always return FALSE"));
@@ -450,6 +458,7 @@
            return new OrMatcherImpl(subMatchers);
        }
        @Override
        public MatcherImpl visitPresentFilter(final Schema schema, final String attributeDescription) {
            AttributeDescription ad;
            try {
@@ -464,6 +473,7 @@
            return new PresentMatcherImpl(ad);
        }
        @Override
        public MatcherImpl visitSubstringsFilter(final Schema schema,
                final String attributeDescription, final ByteString initialSubstring,
                final List<ByteString> anySubstrings, final ByteString finalSubstring) {
@@ -496,6 +506,7 @@
            return new AssertionMatcherImpl(ad, rule, null, assertion, false);
        }
        @Override
        public MatcherImpl visitUnrecognizedFilter(final Schema schema, final byte filterTag,
                final ByteString filterBytes) {
            // TODO: I18N
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/SchemaResolver.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2011 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap;
@@ -47,7 +47,7 @@
     * returned by {@link Schema#getDefaultSchema()}.
     */
    SchemaResolver DEFAULT = new SchemaResolver() {
        @Override
        public Schema resolveSchema(String dn) {
            return Schema.getDefaultSchema();
        }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/SortKey.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap;
@@ -80,6 +80,7 @@
            this.comparators = comparators;
        }
        @Override
        public int compare(final Entry entry1, final Entry entry2) {
            for (final Comparator<Entry> comparator : comparators) {
                final int result = comparator.compare(entry1, entry2);
@@ -111,6 +112,7 @@
         * We must use the lowest available value in both entries and missing
         * attributes sort last.
         */
        @Override
        public int compare(final Entry entry1, final Entry entry2) {
            // Find and normalize the lowest value attribute in each entry.
            final ByteString normalizedValue1 = lowestValueOf(entry1);
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/TreeMapEntry.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009-2010 Sun Microsystems, Inc.
 *      Portions copyright 2012 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap;
@@ -69,6 +69,7 @@
     * An entry factory which can be used to create new tree map entries.
     */
    public static final EntryFactory FACTORY = new EntryFactory() {
        @Override
        public Entry newEntry(final DN name) {
            return new TreeMapEntry(name);
        }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/TrustManagers.java
@@ -22,9 +22,8 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap;
import java.io.File;
@@ -48,9 +47,7 @@
import org.forgerock.opendj.ldap.schema.Schema;
import org.forgerock.util.Reject;
/**
 * This class contains methods for creating common types of trust manager.
 */
/** This class contains methods for creating common types of trust manager. */
public final class TrustManagers {
    /**
@@ -68,21 +65,21 @@
            this.hostNamePattern = hostNamePattern;
        }
        /** {@inheritDoc} */
        @Override
        public void checkClientTrusted(final X509Certificate[] chain, final String authType)
                throws CertificateException {
            verifyHostName(chain);
            trustManager.checkClientTrusted(chain, authType);
        }
        /** {@inheritDoc} */
        @Override
        public void checkServerTrusted(final X509Certificate[] chain, final String authType)
                throws CertificateException {
            verifyHostName(chain);
            trustManager.checkServerTrusted(chain, authType);
        }
        /** {@inheritDoc} */
        @Override
        public X509Certificate[] getAcceptedIssuers() {
            return trustManager.getAcceptedIssuers();
        }
@@ -134,10 +131,7 @@
        }
    }
    /**
     * An X509TrustManager which rejects certificates which have expired or are
     * not yet valid.
     */
    /** An X509TrustManager which rejects certificates which have expired or are not yet valid. */
    private static final class CheckValidityDates implements X509TrustManager {
        private final X509TrustManager trustManager;
@@ -146,21 +140,21 @@
            this.trustManager = trustManager;
        }
        /** {@inheritDoc} */
        @Override
        public void checkClientTrusted(final X509Certificate[] chain, final String authType)
                throws CertificateException {
            verifyExpiration(chain);
            trustManager.checkClientTrusted(chain, authType);
        }
        /** {@inheritDoc} */
        @Override
        public void checkServerTrusted(final X509Certificate[] chain, final String authType)
                throws CertificateException {
            verifyExpiration(chain);
            trustManager.checkServerTrusted(chain, authType);
        }
        /** {@inheritDoc} */
        @Override
        public X509Certificate[] getAcceptedIssuers() {
            return trustManager.getAcceptedIssuers();
        }
@@ -187,9 +181,7 @@
        }
    }
    /**
     * An X509TrustManager which does not trust any certificates.
     */
    /** An X509TrustManager which does not trust any certificates. */
    private static final class DistrustAll implements X509TrustManager {
        /** Single instance. */
        private static final DistrustAll INSTANCE = new DistrustAll();
@@ -199,27 +191,25 @@
            // Nothing to do.
        }
        /** {@inheritDoc} */
        @Override
        public void checkClientTrusted(final X509Certificate[] chain, final String authType)
                throws CertificateException {
            throw new CertificateException();
        }
        /** {@inheritDoc} */
        @Override
        public void checkServerTrusted(final X509Certificate[] chain, final String authType)
                throws CertificateException {
            throw new CertificateException();
        }
        /** {@inheritDoc} */
        @Override
        public X509Certificate[] getAcceptedIssuers() {
            return new X509Certificate[0];
        }
    }
    /**
     * An X509TrustManager which trusts all certificates.
     */
    /** An X509TrustManager which trusts all certificates. */
    private static final class TrustAll implements X509TrustManager {
        /** Single instance. */
@@ -230,17 +220,17 @@
            // Nothing to do.
        }
        /** {@inheritDoc} */
        @Override
        public void checkClientTrusted(final X509Certificate[] chain, final String authType)
                throws CertificateException {
        }
        /** {@inheritDoc} */
        @Override
        public void checkServerTrusted(final X509Certificate[] chain, final String authType)
                throws CertificateException {
        }
        /** {@inheritDoc} */
        @Override
        public X509Certificate[] getAcceptedIssuers() {
            return new X509Certificate[0];
        }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/AssertionRequestControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2012-2013 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -77,18 +77,14 @@
 *      Directory Access Protocol (LDAP) Assertion Control </a>
 */
public final class AssertionRequestControl implements Control {
    /**
     * The IANA-assigned OID for the LDAP assertion request control.
     */
    /** The IANA-assigned OID for the LDAP assertion request control. */
    public static final String OID = "1.3.6.1.1.12";
    /**
     * A decoder which can be used for decoding the LDAP assertion request
     * control.
     */
    /** A decoder which can be used for decoding the LDAP assertion request control. */
    public static final ControlDecoder<AssertionRequestControl> DECODER =
            new ControlDecoder<AssertionRequestControl>() {
                @Override
                public AssertionRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -119,6 +115,7 @@
                    }
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -163,12 +160,12 @@
        return filter;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        final ByteStringBuilder buffer = new ByteStringBuilder();
        final ASN1Writer writer = ASN1.getWriter(buffer);
@@ -181,17 +178,16 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/AuthorizationIdentityRequestControl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -70,9 +71,7 @@
 *      Directory Access Protocol (LDAP) "Who am I?" Operation </a>
 */
public final class AuthorizationIdentityRequestControl implements Control {
    /**
     * The OID for the authorization identity request control.
     */
    /** The OID for the authorization identity request control. */
    public static final String OID = "2.16.840.1.113730.3.4.16";
    private final boolean isCritical;
@@ -83,13 +82,11 @@
    private static final AuthorizationIdentityRequestControl NONCRITICAL_INSTANCE =
            new AuthorizationIdentityRequestControl(false);
    /**
     * A decoder which can be used for decoding the authorization identity
     * request control.
     */
    /** A decoder which can be used for decoding the authorization identity request control. */
    public static final ControlDecoder<AuthorizationIdentityRequestControl> DECODER =
            new ControlDecoder<AuthorizationIdentityRequestControl>() {
                @Override
                public AuthorizationIdentityRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -112,6 +109,7 @@
                    return control.isCritical() ? CRITICAL_INSTANCE : NONCRITICAL_INSTANCE;
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -136,27 +134,26 @@
        this.isCritical = isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        return null;
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return false;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/AuthorizationIdentityResponseControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -77,9 +77,7 @@
 */
public final class AuthorizationIdentityResponseControl implements Control {
    /**
     * The OID for the authorization identity response control.
     */
    /** The OID for the authorization identity response control. */
    public static final String OID = "2.16.840.1.113730.3.4.15";
    /**
@@ -101,13 +99,11 @@
    private final boolean isCritical;
    /**
     * A decoder which can be used for decoding the authorization identity
     * response control.
     */
    /** A decoder which can be used for decoding the authorization identity response control. */
    public static final ControlDecoder<AuthorizationIdentityResponseControl> DECODER =
            new ControlDecoder<AuthorizationIdentityResponseControl>() {
                @Override
                public AuthorizationIdentityResponseControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -132,6 +128,7 @@
                    return new AuthorizationIdentityResponseControl(control.isCritical(), authID);
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -157,27 +154,26 @@
        return authorizationID;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        return ByteString.valueOfUtf8(authorizationID);
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/EntryChangeNotificationResponseControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2014 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -106,6 +106,7 @@
    public static final ControlDecoder<EntryChangeNotificationResponseControl> DECODER =
            new ControlDecoder<EntryChangeNotificationResponseControl>() {
                @Override
                public EntryChangeNotificationResponseControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control, options);
@@ -192,6 +193,7 @@
                            changeType, previousDN, changeNumber);
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -290,6 +292,7 @@
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
@@ -306,6 +309,7 @@
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        final ByteStringBuilder buffer = new ByteStringBuilder();
        final ASN1Writer writer = ASN1.getWriter(buffer);
@@ -329,11 +333,13 @@
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/GenericControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -127,27 +127,26 @@
        this.value = value;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return oid;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        return value;
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return value != null;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/GetEffectiveRightsRequestControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -101,20 +101,16 @@
 * @see <a
 *      href="http://tools.ietf.org/html/draft-ietf-ldapext-acl-model">draft-ietf-ldapext-acl-model
 *      - Access Control Model for LDAPv3 </a>
 **/
public final class GetEffectiveRightsRequestControl implements Control {
    /**
     * The OID for the get effective rights request control.
     */
public final class GetEffectiveRightsRequestControl implements Control {
    /** The OID for the get effective rights request control. */
    public static final String OID = "1.3.6.1.4.1.42.2.27.9.5.2";
    /**
     * A decoder which can be used for decoding the get effective rights request
     * control.
     */
    /** A decoder which can be used for decoding the get effective rights request control. */
    public static final ControlDecoder<GetEffectiveRightsRequestControl> DECODER =
            new ControlDecoder<GetEffectiveRightsRequestControl>() {
                @Override
                public GetEffectiveRightsRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -201,6 +197,7 @@
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -322,12 +319,12 @@
        return authorizationName;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        final ByteStringBuilder buffer = new ByteStringBuilder();
        final ASN1Writer writer = ASN1.getWriter(buffer);
@@ -352,17 +349,16 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return authorizationName != null || !attributes.isEmpty();
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/ManageDsaITRequestControl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -73,9 +74,7 @@
 *      Directories </a>
 */
public final class ManageDsaITRequestControl implements Control {
    /**
     * The OID for the ManageDsaIT request control.
     */
    /** The OID for the ManageDsaIT request control. */
    public static final String OID = "2.16.840.1.113730.3.4.2";
    private static final ManageDsaITRequestControl CRITICAL_INSTANCE =
@@ -83,13 +82,11 @@
    private static final ManageDsaITRequestControl NONCRITICAL_INSTANCE =
            new ManageDsaITRequestControl(false);
    /**
     * A decoder which can be used for decoding the Manage DsaIT request
     * control.
     */
    /** A decoder which can be used for decoding the Manage DsaIT request control. */
    public static final ControlDecoder<ManageDsaITRequestControl> DECODER =
            new ControlDecoder<ManageDsaITRequestControl>() {
                @Override
                public ManageDsaITRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -113,6 +110,7 @@
                    return control.isCritical() ? CRITICAL_INSTANCE : NONCRITICAL_INSTANCE;
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -138,27 +136,26 @@
        this.isCritical = isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        return null;
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return false;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/MatchedValuesRequestControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -98,9 +98,7 @@
 *      (LDAPv3) </a>
 */
public final class MatchedValuesRequestControl implements Control {
    /**
     * Visitor for validating matched values filters.
     */
    /** Visitor for validating matched values filters. */
    private static final class FilterValidator extends
            AbstractFilterVisitor<LocalizedIllegalArgumentException, Filter> {
@@ -154,13 +152,11 @@
     */
    public static final String OID = "1.2.826.0.1.3344810.2.3";
    /**
     * A decoder which can be used for decoding the matched values request
     * control.
     */
    /** A decoder which can be used for decoding the matched values request control. */
    public static final ControlDecoder<MatchedValuesRequestControl> DECODER =
            new ControlDecoder<MatchedValuesRequestControl>() {
                @Override
                public MatchedValuesRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -214,6 +210,7 @@
                    }
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -321,12 +318,11 @@
        return filters;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        final ByteStringBuilder buffer = new ByteStringBuilder();
@@ -344,17 +340,16 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PasswordExpiredResponseControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2014-2015 ForgeRock AS
 *      Portions Copyright 2014-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.controls;
@@ -69,9 +69,7 @@
 *      - Password Policy for LDAP Directories </a>
 */
public final class PasswordExpiredResponseControl implements Control {
    /**
     * The OID for the Netscape password expired response control.
     */
    /** The OID for the Netscape password expired response control. */
    public static final String OID = "2.16.840.1.113730.3.4.4";
    private final boolean isCritical;
@@ -81,13 +79,11 @@
    private static final PasswordExpiredResponseControl NONCRITICAL_INSTANCE =
            new PasswordExpiredResponseControl(false);
    /**
     * A decoder which can be used for decoding the password expired response
     * control.
     */
    /** A decoder which can be used for decoding the password expired response control. */
    public static final ControlDecoder<PasswordExpiredResponseControl> DECODER =
            new ControlDecoder<PasswordExpiredResponseControl>() {
                @Override
                public PasswordExpiredResponseControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -115,6 +111,7 @@
                    return control.isCritical() ? CRITICAL_INSTANCE : NONCRITICAL_INSTANCE;
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -135,27 +132,26 @@
        this.isCritical = isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        return CONTROL_VALUE;
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PasswordExpiringResponseControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2013-2015 ForgeRock AS
 *      Portions copyright 2013-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.controls;
@@ -68,18 +68,14 @@
public final class PasswordExpiringResponseControl implements Control {
    private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
    /**
     * The OID for the Netscape password expiring response control.
     */
    /** The OID for the Netscape password expiring response control. */
    public static final String OID = "2.16.840.1.113730.3.4.5";
    /**
     * A decoder which can be used for decoding the password expiring response
     * control.
     */
    /** A decoder which can be used for decoding the password expiring response control. */
    public static final ControlDecoder<PasswordExpiringResponseControl> DECODER =
            new ControlDecoder<PasswordExpiringResponseControl>() {
                @Override
                public PasswordExpiringResponseControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -115,6 +111,7 @@
                            secondsUntilExpiration);
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -144,7 +141,7 @@
        this.secondsUntilExpiration = secondsUntilExpiration;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
@@ -160,22 +157,21 @@
        return secondsUntilExpiration;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        return ByteString.valueOfUtf8(String.valueOf(secondsUntilExpiration));
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PasswordPolicyRequestControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2014 ForgeRock AS
 *      Portions Copyright 2014-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.controls;
@@ -86,10 +86,7 @@
 *      </a>
 */
public final class PasswordPolicyRequestControl implements Control {
    /**
     * The OID for the password policy control from
     * draft-behera-ldap-password-policy.
     */
    /** The OID for the password policy control from draft-behera-ldap-password-policy. */
    public static final String OID = "1.3.6.1.4.1.42.2.27.8.5.1";
    private final boolean isCritical;
@@ -99,13 +96,11 @@
    private static final PasswordPolicyRequestControl NONCRITICAL_INSTANCE =
            new PasswordPolicyRequestControl(false);
    /**
     * A decoder which can be used for decoding the password policy request
     * control.
     */
    /** A decoder which can be used for decoding the password policy request control. */
    public static final ControlDecoder<PasswordPolicyRequestControl> DECODER =
            new ControlDecoder<PasswordPolicyRequestControl>() {
                @Override
                public PasswordPolicyRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -128,6 +123,7 @@
                    return control.isCritical() ? CRITICAL_INSTANCE : NONCRITICAL_INSTANCE;
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -151,27 +147,26 @@
        this.isCritical = isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        return null;
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return false;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PasswordPolicyResponseControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2012-2014 ForgeRock AS.
 *      Portions Copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -99,10 +99,7 @@
public final class PasswordPolicyResponseControl implements Control {
    private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
    /**
     * The OID for the password policy control from
     * draft-behera-ldap-password-policy.
     */
    /** The OID for the password policy control from draft-behera-ldap-password-policy. */
    public static final String OID = PasswordPolicyRequestControl.OID;
    private final int warningValue;
@@ -111,13 +108,11 @@
    private final PasswordPolicyWarningType warningType;
    /**
     * A decoder which can be used for decoding the password policy response
     * control.
     */
    /** A decoder which can be used for decoding the password policy response control. */
    public static final ControlDecoder<PasswordPolicyResponseControl> DECODER =
            new ControlDecoder<PasswordPolicyResponseControl>() {
                @Override
                public PasswordPolicyResponseControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -191,6 +186,7 @@
                    }
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -260,14 +256,10 @@
    private final boolean isCritical;
    /**
     * The BER type value for the warning element of the control value.
     */
    /** The BER type value for the warning element of the control value. */
    private static final byte TYPE_WARNING_ELEMENT = (byte) 0xA0;
    /**
     * The BER type value for the error element of the control value.
     */
    /** The BER type value for the error element of the control value. */
    private static final byte TYPE_ERROR_ELEMENT = (byte) 0x81;
    private PasswordPolicyResponseControl(final boolean isCritical,
@@ -289,12 +281,12 @@
        return errorType;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        final ByteStringBuilder buffer = new ByteStringBuilder();
        final ASN1Writer writer = ASN1.getWriter(buffer);
@@ -339,17 +331,16 @@
        return warningValue;
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PermissiveModifyRequestControl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -70,9 +71,7 @@
 * </pre>
 */
public final class PermissiveModifyRequestControl implements Control {
    /**
     * The OID for the permissive modify request control.
     */
    /** The OID for the permissive modify request control. */
    public static final String OID = "1.2.840.113556.1.4.1413";
    private static final PermissiveModifyRequestControl CRITICAL_INSTANCE =
@@ -81,13 +80,11 @@
    private static final PermissiveModifyRequestControl NONCRITICAL_INSTANCE =
            new PermissiveModifyRequestControl(false);
    /**
     * A decoder which can be used for decoding the permissive modify request
     * control.
     */
    /** A decoder which can be used for decoding the permissive modify request control. */
    public static final ControlDecoder<PermissiveModifyRequestControl> DECODER =
            new ControlDecoder<PermissiveModifyRequestControl>() {
                @Override
                public PermissiveModifyRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -111,6 +108,7 @@
                    return control.isCritical() ? CRITICAL_INSTANCE : NONCRITICAL_INSTANCE;
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -136,27 +134,26 @@
        this.isCritical = isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        return null;
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return false;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PersistentSearchRequestControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2014 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -98,18 +98,14 @@
public final class PersistentSearchRequestControl implements Control {
    private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
    /**
     * The OID for the persistent search request control.
     */
    /** The OID for the persistent search request control. */
    public static final String OID = "2.16.840.1.113730.3.4.3";
    /**
     * A decoder which can be used for decoding the persistent search request
     * control.
     */
    /** A decoder which can be used for decoding the persistent search request control. */
    public static final ControlDecoder<PersistentSearchRequestControl> DECODER =
            new ControlDecoder<PersistentSearchRequestControl>() {
                @Override
                public PersistentSearchRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -180,6 +176,7 @@
                            returnECs, Collections.unmodifiableSet(changeTypeSet));
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -289,12 +286,12 @@
        return changeTypes;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        final ByteStringBuilder buffer = new ByteStringBuilder();
        final ASN1Writer writer = ASN1.getWriter(buffer);
@@ -317,7 +314,7 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
@@ -337,7 +334,7 @@
        return changesOnly;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
@@ -354,7 +351,6 @@
        return returnECs;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PostReadRequestControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -98,12 +98,11 @@
    private static final PostReadRequestControl NONCRITICAL_EMPTY_INSTANCE =
            new PostReadRequestControl(false, Collections.<String> emptyList());
    /**
     * A decoder which can be used for decoding the post-read request control.
     */
    /** A decoder which can be used for decoding the post-read request control. */
    public static final ControlDecoder<PostReadRequestControl> DECODER =
            new ControlDecoder<PostReadRequestControl>() {
                @Override
                public PostReadRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -160,6 +159,7 @@
                    }
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -244,12 +244,12 @@
        return attributes;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        final ByteStringBuilder buffer = new ByteStringBuilder();
        final ASN1Writer writer = ASN1.getWriter(buffer);
@@ -268,17 +268,16 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PostReadResponseControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009-2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2014 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -84,12 +84,11 @@
     */
    public static final String OID = PostReadRequestControl.OID;
    /**
     * A decoder which can be used for decoding the post-read response control.
     */
    /** A decoder which can be used for decoding the post-read response control. */
    public static final ControlDecoder<PostReadResponseControl> DECODER =
            new ControlDecoder<PostReadResponseControl>() {
                @Override
                public PostReadResponseControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -131,6 +130,7 @@
                            .unmodifiableEntry(entry));
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -178,12 +178,12 @@
        return entry;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        try {
            final ByteStringBuilder buffer = new ByteStringBuilder();
@@ -195,17 +195,16 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PreReadRequestControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -99,12 +99,11 @@
    private static final PreReadRequestControl NONCRITICAL_EMPTY_INSTANCE =
            new PreReadRequestControl(false, Collections.<String> emptyList());
    /**
     * A decoder which can be used for decoding the pre-read request control.
     */
    /** A decoder which can be used for decoding the pre-read request control. */
    public static final ControlDecoder<PreReadRequestControl> DECODER =
            new ControlDecoder<PreReadRequestControl>() {
                @Override
                public PreReadRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -161,6 +160,7 @@
                    }
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -245,12 +245,12 @@
        return attributes;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        final ByteStringBuilder buffer = new ByteStringBuilder();
        final ASN1Writer writer = ASN1.getWriter(buffer);
@@ -269,17 +269,16 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PreReadResponseControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009-2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2014 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -83,12 +83,11 @@
     */
    public static final String OID = PreReadRequestControl.OID;
    /**
     * A decoder which can be used for decoding the pre-read response control.
     */
    /** A decoder which can be used for decoding the pre-read response control. */
    public static final ControlDecoder<PreReadResponseControl> DECODER =
            new ControlDecoder<PreReadResponseControl>() {
                @Override
                public PreReadResponseControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -130,6 +129,7 @@
                            .unmodifiableEntry(entry));
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -177,12 +177,12 @@
        return entry;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        try {
            final ByteStringBuilder buffer = new ByteStringBuilder();
@@ -194,17 +194,16 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/ProxiedAuthV1RequestControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2014 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -65,18 +65,14 @@
public final class ProxiedAuthV1RequestControl implements Control {
    private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
    /**
     * The OID for the proxied authorization v1 control.
     */
    /** The OID for the proxied authorization v1 control. */
    public static final String OID = "2.16.840.1.113730.3.4.12";
    /**
     * A decoder which can be used for decoding the proxied authorization v1
     * request control.
     */
    /** A decoder which can be used for decoding the proxied authorization v1 request control. */
    public static final ControlDecoder<ProxiedAuthV1RequestControl> DECODER =
            new ControlDecoder<ProxiedAuthV1RequestControl>() {
                @Override
                public ProxiedAuthV1RequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -131,6 +127,7 @@
                    return new ProxiedAuthV1RequestControl(authorizationDN);
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -188,12 +185,12 @@
        return authorizationName;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        final ByteStringBuilder buffer = new ByteStringBuilder();
        final ASN1Writer writer = ASN1.getWriter(buffer);
@@ -208,17 +205,16 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder buffer = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/ProxiedAuthV2RequestControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -78,21 +78,17 @@
public final class ProxiedAuthV2RequestControl implements Control {
    private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
    /**
     * The OID for the proxied authorization v2 control.
     */
    /** The OID for the proxied authorization v2 control. */
    public static final String OID = "2.16.840.1.113730.3.4.18";
    private static final ProxiedAuthV2RequestControl ANONYMOUS =
            new ProxiedAuthV2RequestControl("");
    /**
     * A decoder which can be used for decoding the proxied authorization v2
     * request control.
     */
    /** A decoder which can be used for decoding the proxied authorization v2 request control. */
    public static final ControlDecoder<ProxiedAuthV2RequestControl> DECODER =
            new ControlDecoder<ProxiedAuthV2RequestControl>() {
                @Override
                public ProxiedAuthV2RequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -152,6 +148,7 @@
                    return new ProxiedAuthV2RequestControl(authorizationID);
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -209,27 +206,26 @@
        return authorizationID;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        return ByteString.valueOfUtf8(authorizationID);
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/ServerSideSortRequestControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -89,28 +89,20 @@
 *      Extension for Server Side Sorting of Search Results </a>
 */
public final class ServerSideSortRequestControl implements Control {
    /**
     * The OID for the server-side sort request control.
     */
    /** The OID for the server-side sort request control. */
    public static final String OID = "1.2.840.113556.1.4.473";
    /**
     * The BER type to use when encoding the orderingRule element.
     */
    /** The BER type to use when encoding the orderingRule element. */
    private static final byte TYPE_ORDERING_RULE_ID = (byte) 0x80;
    /**
     * The BER type to use when encoding the reverseOrder element.
     */
    /** The BER type to use when encoding the reverseOrder element. */
    private static final byte TYPE_REVERSE_ORDER = (byte) 0x81;
    /**
     * A decoder which can be used for decoding the server side sort request
     * control.
     */
    /** A decoder which can be used for decoding the server side sort request control. */
    public static final ControlDecoder<ServerSideSortRequestControl> DECODER =
            new ControlDecoder<ServerSideSortRequestControl>() {
                @Override
                public ServerSideSortRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -171,6 +163,7 @@
                    }
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -268,7 +261,7 @@
        this.sortKeys = keys;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
@@ -285,7 +278,7 @@
        return sortKeys;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        final ByteStringBuilder buffer = new ByteStringBuilder();
        final ASN1Writer writer = ASN1.getWriter(buffer);
@@ -314,17 +307,16 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder buffer = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/ServerSideSortResponseControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -82,18 +82,14 @@
 *      Extension for Server Side Sorting of Search Results </a>
 */
public final class ServerSideSortResponseControl implements Control {
    /**
     * The OID for the server-side sort response control.
     */
    /** The OID for the server-side sort response control. */
    public static final String OID = "1.2.840.113556.1.4.474";
    /**
     * A decoder which can be used for decoding the server side sort response
     * control.
     */
    /** A decoder which can be used for decoding the server side sort response control. */
    public static final ControlDecoder<ServerSideSortResponseControl> DECODER =
            new ControlDecoder<ServerSideSortResponseControl>() {
                @Override
                public ServerSideSortResponseControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control, options);
@@ -140,14 +136,13 @@
                    }
                }
                @Override
                public String getOID() {
                    return OID;
                }
            };
    /**
     * The BER type to use when encoding the attribute type element.
     */
    /** The BER type to use when encoding the attribute type element. */
    private static final byte TYPE_ATTRIBUTE_TYPE = (byte) 0x80;
    /**
@@ -258,7 +253,7 @@
        return attributeDescription;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
@@ -278,7 +273,7 @@
        return result;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        final ByteStringBuilder buffer = new ByteStringBuilder();
        final ASN1Writer writer = ASN1.getWriter(buffer);
@@ -296,17 +291,16 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/SimplePagedResultsControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2012-2014 ForgeRock AS.
 *      Portions Copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -134,19 +134,14 @@
public final class SimplePagedResultsControl implements Control {
    private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
    /**
     * The OID for the paged results request/response control defined in RFC
     * 2696.
     */
    /** The OID for the paged results request/response control defined in RFC 2696. */
    public static final String OID = "1.2.840.113556.1.4.319";
    /**
     * A decoder which can be used for decoding the simple paged results
     * control.
     */
    /** A decoder which can be used for decoding the simple paged results control. */
    public static final ControlDecoder<SimplePagedResultsControl> DECODER =
            new ControlDecoder<SimplePagedResultsControl>() {
                @Override
                public SimplePagedResultsControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -198,6 +193,7 @@
                    return new SimplePagedResultsControl(control.isCritical(), size, cookie);
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -240,9 +236,7 @@
     */
    private final int size;
    /**
     * The control value cookie element.
     */
    /** The control value cookie element. */
    private final ByteString cookie;
    private final boolean isCritical;
@@ -269,7 +263,7 @@
        return cookie;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
@@ -288,7 +282,7 @@
        return size;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        final ByteStringBuilder buffer = new ByteStringBuilder();
        final ASN1Writer writer = ASN1.getWriter(buffer);
@@ -304,17 +298,16 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/SubentriesRequestControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2011-2014 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.controls;
@@ -94,9 +94,7 @@
public final class SubentriesRequestControl implements Control {
    private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
    /**
     * The OID for the sub-entries request control.
     */
    /** The OID for the sub-entries request control. */
    public static final String OID = "1.3.6.1.4.1.4203.1.10.1";
    private static final SubentriesRequestControl CRITICAL_VISIBLE_INSTANCE =
@@ -108,12 +106,11 @@
    private static final SubentriesRequestControl NONCRITICAL_INVISIBLE_INSTANCE =
            new SubentriesRequestControl(false, false);
    /**
     * A decoder which can be used for decoding the sub-entries request control.
     */
    /** A decoder which can be used for decoding the sub-entries request control. */
    public static final ControlDecoder<SubentriesRequestControl> DECODER =
            new ControlDecoder<SubentriesRequestControl>() {
                @Override
                public SubentriesRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -148,6 +145,7 @@
                    return newControl(control.isCritical(), visibility);
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -184,12 +182,12 @@
        this.visibility = visibility;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        final ByteStringBuilder buffer = new ByteStringBuilder();
        final ASN1Writer writer = ASN1.getWriter(buffer);
@@ -214,17 +212,16 @@
        return visibility;
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return false;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/SubtreeDeleteRequestControl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -55,9 +56,7 @@
 *      - Tree Delete Control </a>
 */
public final class SubtreeDeleteRequestControl implements Control {
    /**
     * The OID for the subtree delete request control.
     */
    /** The OID for the subtree delete request control. */
    public static final String OID = "1.2.840.113556.1.4.805";
    private static final SubtreeDeleteRequestControl CRITICAL_INSTANCE =
@@ -66,13 +65,11 @@
    private static final SubtreeDeleteRequestControl NONCRITICAL_INSTANCE =
            new SubtreeDeleteRequestControl(false);
    /**
     * A decoder which can be used for decoding the sub-tree delete request
     * control.
     */
    /** A decoder which can be used for decoding the sub-tree delete request control. */
    public static final ControlDecoder<SubtreeDeleteRequestControl> DECODER =
            new ControlDecoder<SubtreeDeleteRequestControl>() {
                @Override
                public SubtreeDeleteRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -96,6 +93,7 @@
                    return control.isCritical() ? CRITICAL_INSTANCE : NONCRITICAL_INSTANCE;
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -121,27 +119,26 @@
        this.isCritical = isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        return null;
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return false;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewRequestControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2012-2014 ForgeRock AS.
 *      Portions Copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -130,18 +130,14 @@
 *      Browsing of Search Results </a>
 */
public final class VirtualListViewRequestControl implements Control {
    /**
     * The OID for the virtual list view request control.
     */
    /** The OID for the virtual list view request control. */
    public static final String OID = "2.16.840.1.113730.3.4.9";
    /**
     * A decoder which can be used for decoding the virtual list view request
     * control.
     */
    /** A decoder which can be used for decoding the virtual list view request control. */
    public static final ControlDecoder<VirtualListViewRequestControl> DECODER =
            new ControlDecoder<VirtualListViewRequestControl>() {
                @Override
                public VirtualListViewRequestControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -204,19 +200,16 @@
                    }
                }
                @Override
                public String getOID() {
                    return OID;
                }
            };
    /**
     * The BER type to use when encoding the byOffset target element.
     */
    /** The BER type to use when encoding the byOffset target element. */
    private static final byte TYPE_TARGET_BYOFFSET = (byte) 0xA0;
    /**
     * The BER type to use when encoding the greaterThanOrEqual target element.
     */
    /** The BER type to use when encoding the greaterThanOrEqual target element. */
    private static final byte TYPE_TARGET_GREATERTHANOREQUAL = (byte) 0x81;
    /**
@@ -417,12 +410,12 @@
        return offset;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        final ByteStringBuilder buffer = new ByteStringBuilder();
        final ASN1Writer writer = ASN1.getWriter(buffer);
@@ -460,17 +453,16 @@
        return assertionValue == null;
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewResponseControl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2012-2014 ForgeRock AS.
 *      Portions Copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.controls;
@@ -127,18 +127,14 @@
 *      Browsing of Search Results </a>
 */
public final class VirtualListViewResponseControl implements Control {
    /**
     * The OID for the virtual list view request control.
     */
    /** The OID for the virtual list view request control. */
    public static final String OID = "2.16.840.1.113730.3.4.10";
    /**
     * A decoder which can be used for decoding the virtual list view response
     * control.
     */
    /** A decoder which can be used for decoding the virtual list view response control. */
    public static final ControlDecoder<VirtualListViewResponseControl> DECODER =
            new ControlDecoder<VirtualListViewResponseControl>() {
                @Override
                public VirtualListViewResponseControl decodeControl(final Control control,
                        final DecodeOptions options) throws DecodeException {
                    Reject.ifNull(control);
@@ -180,6 +176,7 @@
                    }
                }
                @Override
                public String getOID() {
                    return OID;
                }
@@ -256,7 +253,7 @@
        return contextID;
    }
    /** {@inheritDoc} */
    @Override
    public String getOID() {
        return OID;
    }
@@ -281,7 +278,7 @@
        return targetPosition;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString getValue() {
        final ByteStringBuilder buffer = new ByteStringBuilder();
        final ASN1Writer writer = ASN1.getWriter(buffer);
@@ -301,17 +298,16 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public boolean hasValue() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isCritical() {
        return isCritical;
    }
    /** {@inheritDoc} */
    @Override
    public String toString() {
        final StringBuilder builder = new StringBuilder();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/AbstractSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -35,22 +36,27 @@
        // Nothing to do.
    }
    @Override
    public String getApproximateMatchingRule() {
        return null;
    }
    @Override
    public String getEqualityMatchingRule() {
        return null;
    }
    @Override
    public String getOrderingMatchingRule() {
        return null;
    }
    @Override
    public String getSubstringMatchingRule() {
        return null;
    }
    @Override
    public boolean isBEREncodingRequired() {
        return false;
    }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/AttributeType.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2011-2015 ForgeRock AS.
 *      Portions copyright 2011-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -500,6 +500,7 @@
     * @throws NullPointerException
     *             If {@code name} was {@code null}.
     */
    @Override
    public int compareTo(final AttributeType type) {
        if (isObjectClassType) {
            return type.isObjectClassType ? 0 : -1;
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/BinarySyntaxImpl.java
@@ -22,8 +22,8 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
import static org.forgerock.opendj.ldap.schema.SchemaConstants.EMR_OCTET_STRING_OID;
@@ -44,6 +44,7 @@
        return EMR_OCTET_STRING_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_BINARY_NAME;
    }
@@ -53,24 +54,12 @@
        return OMR_OCTET_STRING_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return false;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // All values will be acceptable for the binary syntax.
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/BitStringSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -46,28 +47,17 @@
        return EMR_BIT_STRING_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_BIT_STRING_NAME;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        final String valueString = value.toString().toUpperCase();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/BooleanSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -46,28 +47,17 @@
        return EMR_BOOLEAN_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_BOOLEAN_NAME;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        final String valueString = value.toString().toUpperCase();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/CertificateExactAssertionSyntaxImpl.java
@@ -23,6 +23,7 @@
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2014 Manuel Gaupp
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -37,23 +38,22 @@
 */
final class CertificateExactAssertionSyntaxImpl extends AbstractSyntaxImpl {
    /** {@inheritDoc} */
    @Override
    public String getName() {
        return SYNTAX_CERTIFICATE_EXACT_ASSERTION_NAME;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isBEREncodingRequired() {
        return false;
    }
    /** {@inheritDoc} */
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // This method will never be called because this syntax is only used
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/CertificateListSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -45,6 +46,7 @@
        return EMR_OCTET_STRING_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_CERTLIST_NAME;
    }
@@ -59,24 +61,12 @@
        return true;
    }
    @Override
    public boolean isHumanReadable() {
        return false;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // All values will be acceptable for the certificate list syntax.
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/CertificatePairSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -44,6 +45,7 @@
        return EMR_OCTET_STRING_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_CERTPAIR_NAME;
    }
@@ -58,24 +60,12 @@
        return true;
    }
    @Override
    public boolean isHumanReadable() {
        return false;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // All values will be acceptable for the certificate pair syntax.
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/CountryStringSyntaxImpl.java
@@ -23,6 +23,7 @@
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2012 Manuel Gaupp
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -52,6 +53,7 @@
        return EMR_CASE_IGNORE_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_COUNTRY_STRING_NAME;
    }
@@ -66,24 +68,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        final String stringValue = value.toString();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DITContentRuleSyntaxImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2011-2015 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -53,15 +53,17 @@
        return EMR_OID_FIRST_COMPONENT_NAME;
    }
    @Override
    public String getName() {
        return SYNTAX_DIT_CONTENT_RULE_NAME;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /** {@inheritDoc} */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // We'll use the decodeDITContentRule method to determine if the
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DeliveryMethodSyntaxImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2015 ForgeRock AS.
 *      Portions Copyright 2015-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -84,6 +84,7 @@
        return EMR_CASE_IGNORE_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_DELIVERY_METHOD_NAME;
    }
@@ -98,24 +99,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        final String stringValue = toLowerCase(value.toString());
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DirectoryStringFirstComponentEqualityMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2014-2015 ForgeRock AS
 *      Portions copyright 2014-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -59,6 +59,7 @@
                SchemaUtils.normalizeStringAttributeValue(assertionValue, TRIM, CASE_FOLD));
    }
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value)
            throws DecodeException {
        final String definition = value.toString();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DirectoryStringSyntaxImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2011 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -51,6 +51,7 @@
        return EMR_CASE_IGNORE_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_DIRECTORY_STRING_NAME;
    }
@@ -65,24 +66,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        if (value.length() > 0 || schema.getOption(ALLOW_ZERO_LENGTH_DIRECTORY_STRINGS)) {
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DistinguishedNameEqualityMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009-2010 Sun Microsystems, Inc.
 *      Portions copyright 2011-2015 ForgeRock AS.
 *      Portions copyright 2011-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -44,7 +44,7 @@
        super(EMR_DN_NAME);
    }
    /** {@inheritDoc} */
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value)
            throws DecodeException {
        try {
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DistinguishedNameSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -46,6 +47,7 @@
        return EMR_DN_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_DN_NAME;
    }
@@ -55,10 +57,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        try {
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DoubleMetaphoneApproximateMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2014-2015 ForgeRock AS
 *      Portions copyright 2014-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -59,7 +59,7 @@
      super(AMR_DOUBLE_METAPHONE_NAME);
    }
    /** {@inheritDoc} */
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value) {
        String valueString = value.toString();
        final int length = valueString.length();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/EnhancedGuideSyntaxImpl.java
@@ -22,9 +22,8 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2011 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
import static com.forgerock.opendj.util.StaticUtils.toLowerCase;
@@ -68,20 +67,6 @@
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
        final LocalizableMessageBuilder invalidReason) {
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/EnumSyntaxImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2014-2015 ForgeRock AS
 *      Portions copyright 2014-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -79,6 +79,7 @@
        return EMR_CASE_IGNORE_OID;
    }
    @Override
    public String getName() {
        return oid;
    }
@@ -97,10 +98,12 @@
        return entries.indexOf(normalize(value));
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // The value is acceptable if it belongs to the set.
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/FacsimileNumberSyntaxImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2015 ForgeRock AS.
 *      Portions Copyright 2015-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -79,6 +79,7 @@
        return EMR_CASE_IGNORE_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_FAXNUMBER_NAME;
    }
@@ -93,24 +94,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // Get a lowercase string representation of the value and find its
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/FaxSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -45,6 +46,7 @@
        return EMR_OCTET_STRING_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_FAX_NAME;
    }
@@ -54,24 +56,12 @@
        return OMR_OCTET_STRING_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return false;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // All values will be acceptable for the fax syntax.
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/GeneralizedTimeEqualityMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -44,6 +44,7 @@
        super(EMR_GENERALIZED_TIME_NAME);
    }
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value) throws DecodeException {
        return normalizeAttributeValue(value);
    }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/GeneralizedTimeOrderingMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -43,6 +43,7 @@
        super(EMR_GENERALIZED_TIME_NAME);
    }
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value) throws DecodeException {
        return GeneralizedTimeEqualityMatchingRuleImpl.normalizeAttributeValue(value);
    }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/GeneralizedTimeSyntaxImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2012 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -49,6 +49,7 @@
        return EMR_GENERALIZED_TIME_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_GENERALIZED_TIME_NAME;
    }
@@ -63,24 +64,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        try {
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/GuideSyntaxImpl.java
@@ -22,9 +22,8 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2011 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
import static com.forgerock.opendj.util.StaticUtils.toLowerCase;
@@ -290,20 +289,6 @@
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/IA5StringSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -50,6 +51,7 @@
        return EMR_CASE_IGNORE_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_IA5_STRING_NAME;
    }
@@ -64,24 +66,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // We will allow any value that does not contain any non-ASCII
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/IntegerFirstComponentEqualityMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2013-2015 ForgeRock AS
 *      Portions copyright 2013-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -64,6 +64,7 @@
        }
    }
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value) throws DecodeException {
        final String definition = value.toString();
        final SubstringReader reader = new SubstringReader(definition);
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/IntegerSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -49,6 +50,7 @@
        return EMR_INTEGER_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_INTEGER_NAME;
    }
@@ -63,24 +65,12 @@
        return SMR_CASE_EXACT_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        final String valueString = value.toString();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/JPEGSyntaxImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2012-2014 ForgeRock AS
 *      Portions Copyright 2012-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -59,20 +59,6 @@
        return false;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/KeywordEqualityMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2014-2015 ForgeRock AS
 *      Portions copyright 2014-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -73,6 +73,7 @@
        final String normalStr = normalize(assertionValue);
        return new Assertion() {
            @Override
            public ConditionResult matches(final ByteSequence attributeValue) {
                // See if the assertion value is contained in the attribute
                // value. If not, then it isn't a match.
@@ -133,6 +134,7 @@
        return Collections.emptySet();
    }
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value) {
        return ByteString.valueOfUtf8(normalize(value));
    }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/MatchingRuleSyntaxImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2011-2014 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -63,20 +63,6 @@
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/MatchingRuleUseSyntaxImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2011-2014 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -65,20 +65,6 @@
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/NameAndOptionalUIDSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -49,6 +50,7 @@
        return EMR_UNIQUE_MEMBER_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_NAME_AND_OPTIONAL_UID_NAME;
    }
@@ -58,24 +60,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        final String valueString = value.toString().trim();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/NameFormSyntaxImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2011-2014 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -55,14 +55,17 @@
        return EMR_OID_FIRST_COMPONENT_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_NAME_FORM_NAME;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // We'll use the decodeNameForm method to determine if the value is
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/NumericStringEqualityMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2014-2015 ForgeRock AS
 *      Portions copyright 2014-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -42,6 +42,7 @@
        super(EMR_NUMERIC_STRING_NAME);
    }
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value) {
        return SchemaUtils.normalizeNumericStringAttributeValue(value);
    }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/NumericStringOrderingMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2014-2015 ForgeRock AS
 *      Portions copyright 2014-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -42,6 +42,7 @@
        super(EMR_NUMERIC_STRING_NAME);
    }
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value) {
        return SchemaUtils.normalizeNumericStringAttributeValue(value);
    }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/NumericStringSubstringMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2014-2015 ForgeRock AS
 *      Portions copyright 2014-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -41,6 +41,7 @@
        super(SMR_NUMERIC_STRING_NAME, EMR_NUMERIC_STRING_NAME);
    }
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value) {
        return SchemaUtils.normalizeNumericStringAttributeValue(value);
    }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/NumericStringSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -49,6 +50,7 @@
        return EMR_NUMERIC_STRING_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_NUMERIC_STRING_NAME;
    }
@@ -63,24 +65,12 @@
        return SMR_CASE_EXACT_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        final String valueString = value.toString();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/OIDSyntaxImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2011 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -48,6 +48,7 @@
        return EMR_OID_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_OID_NAME;
    }
@@ -57,24 +58,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        try {
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/OctetStringEqualityMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2014-2015 ForgeRock AS
 *      Portions copyright 2014-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -42,6 +42,7 @@
        super(EMR_OCTET_STRING_NAME);
    }
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value) {
        return value.toByteString();
    }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/OctetStringOrderingMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2015 ForgeRock AS.
 *      Portions copyright 2015-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -43,6 +43,7 @@
        super(EMR_OCTET_STRING_NAME);
    }
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value) {
        return value.toByteString();
    }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/OctetStringSubstringMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2015 ForgeRock AS.
 *      Portions Copyright 2015-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -42,6 +42,7 @@
        super(SMR_OCTET_STRING_NAME, EMR_OCTET_STRING_NAME);
    }
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value) {
        return value.toByteString();
    }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/OctetStringSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -44,6 +45,7 @@
        return EMR_OCTET_STRING_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_OCTET_STRING_NAME;
    }
@@ -53,24 +55,12 @@
        return OMR_OCTET_STRING_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // All values will be acceptable for the octet string syntax.
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/OtherMailboxSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -47,6 +48,7 @@
        return EMR_CASE_IGNORE_LIST_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_OTHER_MAILBOX_NAME;
    }
@@ -56,24 +58,12 @@
        return SMR_CASE_IGNORE_LIST_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // Check to see if the provided value was null. If so, then that's
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/PostalAddressSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -47,6 +48,7 @@
        return EMR_CASE_IGNORE_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_POSTAL_ADDRESS_NAME;
    }
@@ -56,24 +58,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // We'll allow any value.
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/PresentationAddressSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -47,6 +48,7 @@
        return EMR_CASE_IGNORE_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_PRESENTATION_ADDRESS_NAME;
    }
@@ -61,24 +63,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // We will accept any value for this syntax.
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/PrintableStringSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -142,6 +143,7 @@
        return EMR_CASE_IGNORE_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_PRINTABLE_STRING_NAME;
    }
@@ -156,24 +158,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // Check to see if the provided value was null. If so, then that's
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/ProtocolInformationSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -48,6 +49,7 @@
        return EMR_CASE_IGNORE_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_PROTOCOL_INFORMATION_NAME;
    }
@@ -62,24 +64,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // We will accept any value for this syntax.
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/RegexSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -64,6 +65,7 @@
        return EMR_CASE_IGNORE_OID;
    }
    @Override
    public String getName() {
        return "Regex(" + pattern + ")";
    }
@@ -78,10 +80,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        final String strValue = value.toString();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SchemaException.java
@@ -22,8 +22,8 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
import org.forgerock.i18n.LocalizableException;
@@ -63,7 +63,7 @@
        this.message = message;
    }
    /** {@inheritDoc} */
    @Override
    public LocalizableMessage getMessageObject() {
        return this.message;
    }
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SubstringAssertionSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -48,6 +49,7 @@
        return EMR_CASE_IGNORE_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_SUBSTRING_ASSERTION_NAME;
    }
@@ -62,24 +64,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // Get the string representation of the value and check its length.
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SupportedAlgorithmSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -46,6 +47,7 @@
        return EMR_OCTET_STRING_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_SUPPORTED_ALGORITHM_NAME;
    }
@@ -60,24 +62,12 @@
        return true;
    }
    @Override
    public boolean isHumanReadable() {
        return false;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // All values will be acceptable for the supported algorithm syntax.
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/TelephoneNumberEqualityMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2014-2015 ForgeRock AS
 *      Portions copyright 2014-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -45,6 +45,7 @@
        super(EMR_TELEPHONE_NAME);
    }
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value) {
        final String valueString = value.toString();
        final int valueLength = valueString.length();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/TelephoneNumberSubstringMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2015 ForgeRock AS.
 *      Portions Copyright 2015-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -45,6 +45,7 @@
        super(SMR_TELEPHONE_NAME, EMR_TELEPHONE_NAME);
    }
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value) {
        final String valueString = value.toString();
        final int valueLength = valueString.length();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/TelephoneNumberSyntaxImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2011 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -56,6 +56,7 @@
        return EMR_TELEPHONE_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_TELEPHONE_NAME;
    }
@@ -65,24 +66,12 @@
        return SMR_TELEPHONE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return false;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // No matter what, the value can't be empty or null.
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/TeletexTerminalIdentifierSyntaxImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2015 ForgeRock AS.
 *      Portions Copyright 2015-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -74,6 +74,7 @@
        return EMR_CASE_IGNORE_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_TELETEX_TERM_ID_NAME;
    }
@@ -88,24 +89,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return false;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // Get a lowercase string representation of the value and find its
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/TelexNumberSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -50,6 +51,7 @@
        return EMR_CASE_IGNORE_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_TELEX_NAME;
    }
@@ -64,24 +66,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return false;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // Get a string representation of the value and find its length.
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/UTCTimeSyntaxImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2012-2014 ForgeRock AS
 *      Portions copyright 2012-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -158,6 +158,7 @@
        return EMR_GENERALIZED_TIME_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_UTC_TIME_NAME;
    }
@@ -172,24 +173,12 @@
        return SMR_CASE_IGNORE_OID;
    }
    @Override
    public boolean isHumanReadable() {
        return false;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // Get the value as a string and verify that it is at least long
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/UUIDSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -39,28 +40,17 @@
 * and ordering matching will be allowed by default.
 */
final class UUIDSyntaxImpl extends AbstractSyntaxImpl {
    @Override
    public String getName() {
        return SYNTAX_UUID_NAME;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    /**
     * Indicates whether the provided value is acceptable for use in an
     * attribute with this syntax. If it is not, then the reason may be appended
     * to the provided buffer.
     *
     * @param schema
     *            The schema in which this syntax is defined.
     * @param value
     *            The value for which to make the determination.
     * @param invalidReason
     *            The buffer to which the invalid reason should be appended.
     * @return <CODE>true</CODE> if the provided value is acceptable for use
     *         with this syntax, or <CODE>false</CODE> if not.
     */
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // We will only accept values that look like valid UUIDs. This means
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/UniqueMemberEqualityMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2014-2015 ForgeRock AS
 *      Portions copyright 2014-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -47,6 +47,7 @@
        super(EMR_UNIQUE_MEMBER_NAME);
    }
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value) throws DecodeException {
        // Separate value into normalized DN and "optional uid" portion.
        final String stringValue = value.toString().trim();
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/UserPasswordExactEqualityMatchingRuleImpl.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2014-2015 ForgeRock AS
 *      Portions copyright 2014-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -45,6 +45,7 @@
        super(EMR_USER_PASSWORD_EXACT_NAME);
    }
    @Override
    public ByteString normalizeAttributeValue(final Schema schema, final ByteSequence value)
            throws DecodeException {
        // The normalized form of this matching rule is exactly equal to the
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/UserPasswordSyntaxImpl.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -141,14 +142,17 @@
        return EMR_USER_PASSWORD_EXACT_OID;
    }
    @Override
    public String getName() {
        return SYNTAX_USER_PASSWORD_NAME;
    }
    @Override
    public boolean isHumanReadable() {
        return true;
    }
    @Override
    public boolean valueIsAcceptable(final Schema schema, final ByteSequence value,
            final LocalizableMessageBuilder invalidReason) {
        // We have to accept any value here because in many cases the value
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/ResultLdapPromiseImpl.java
@@ -21,7 +21,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2014-2015 ForgeRock AS.
 *      Copyright 2014-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.spi;
@@ -64,7 +64,6 @@
        this.timestamp = System.currentTimeMillis();
    }
    /** {@inheritDoc} */
    @Override
    public final boolean handleIntermediateResponse(final IntermediateResponse response) {
        // FIXME: there's a potential race condition here - the promise could
@@ -97,6 +96,7 @@
     *
     * @return String representation of this promise's state.
     */
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder();
        sb.append("( requestID = ");
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/ChangeRecord.java
@@ -22,18 +22,11 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2012 ForgeRock AS
 *      Portions copyright 2012-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldif;
import java.util.List;
import org.forgerock.opendj.ldap.DN;
import org.forgerock.opendj.ldap.DecodeException;
import org.forgerock.opendj.ldap.DecodeOptions;
import org.forgerock.opendj.ldap.controls.Control;
import org.forgerock.opendj.ldap.controls.ControlDecoder;
import org.forgerock.opendj.ldap.requests.Request;
/**
@@ -113,14 +106,4 @@
     *             If {@code dn} was {@code null}.
     */
    // ChangeRecord setName(String dn);
    /** {@inheritDoc} */
    Request addControl(Control control);
    /** {@inheritDoc} */
    <C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options)
            throws DecodeException;
    /** {@inheritDoc} */
    List<Control> getControls();
}
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/ChangeRecordVisitorWriter.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldif;
@@ -54,6 +55,7 @@
        // Nothing to do.
    }
    @Override
    public IOException visitChangeRecord(final ChangeRecordWriter p, final AddRequest change) {
        try {
            p.writeChangeRecord(change);
@@ -63,6 +65,7 @@
        }
    }
    @Override
    public IOException visitChangeRecord(final ChangeRecordWriter p, final DeleteRequest change) {
        try {
            p.writeChangeRecord(change);
@@ -72,6 +75,7 @@
        }
    }
    @Override
    public IOException visitChangeRecord(final ChangeRecordWriter p, final ModifyDNRequest change) {
        try {
            p.writeChangeRecord(change);
@@ -81,6 +85,7 @@
        }
    }
    @Override
    public IOException visitChangeRecord(final ChangeRecordWriter p, final ModifyRequest change) {
        try {
            p.writeChangeRecord(change);
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/ChangeRecordWriter.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2012 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldif;
@@ -48,6 +48,7 @@
     * @throws IOException
     *             If an unexpected IO error occurred while closing.
     */
    @Override
    void close() throws IOException;
    /**
@@ -64,6 +65,7 @@
     * @throws IOException
     *             If an unexpected IO error occurred while flushing.
     */
    @Override
    void flush() throws IOException;
    /**
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/ConnectionChangeRecordWriter.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2012-2014 ForgeRock AS.
 *      Portions Copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldif;
@@ -74,6 +74,7 @@
     * connection. Closing a previously closed change record writer has no
     * effect.
     */
    @Override
    public void close() {
        connection.close();
    }
@@ -82,6 +83,7 @@
     * Connection change record writers do not require flushing, so this method
     * has no effect.
     */
    @Override
    public void flush() {
        // Do nothing.
    }
@@ -99,6 +101,7 @@
     * @throws NullPointerException
     *             If {@code change} was {@code null}.
     */
    @Override
    public ConnectionChangeRecordWriter writeChangeRecord(final AddRequest change) throws LdapException {
        Reject.ifNull(change);
        connection.add(change);
@@ -118,6 +121,7 @@
     * @throws NullPointerException
     *             If {@code change} was {@code null}.
     */
    @Override
    public ConnectionChangeRecordWriter writeChangeRecord(final ChangeRecord change) throws LdapException {
        Reject.ifNull(change);
@@ -148,6 +152,7 @@
     * @throws NullPointerException
     *             If {@code change} was {@code null}.
     */
    @Override
    public ConnectionChangeRecordWriter writeChangeRecord(final DeleteRequest change) throws LdapException {
        Reject.ifNull(change);
        connection.delete(change);
@@ -167,6 +172,7 @@
     * @throws NullPointerException
     *             If {@code change} was {@code null}.
     */
    @Override
    public ConnectionChangeRecordWriter writeChangeRecord(final ModifyDNRequest change) throws LdapException {
        Reject.ifNull(change);
        connection.modifyDN(change);
@@ -186,6 +192,7 @@
     * @throws NullPointerException
     *             If {@code change} was {@code null}.
     */
    @Override
    public ConnectionChangeRecordWriter writeChangeRecord(final ModifyRequest change) throws LdapException {
        Reject.ifNull(change);
        connection.modify(change);
@@ -202,6 +209,7 @@
     * @throws NullPointerException
     *             If {@code comment} was {@code null}.
     */
    @Override
    public ConnectionChangeRecordWriter writeComment(final CharSequence comment) {
        Reject.ifNull(comment);
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryWriter.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2012-2014 ForgeRock AS.
 *      Portions Copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldif;
@@ -67,6 +67,7 @@
     * Closes this connection entry writer, including the underlying connection.
     * Closing a previously closed entry writer has no effect.
     */
    @Override
    public void close() {
        connection.close();
    }
@@ -75,6 +76,7 @@
     * Connection entry writers do not require flushing, so this method has no
     * effect.
     */
    @Override
    public void flush() {
        // Do nothing.
    }
@@ -89,6 +91,7 @@
     * @throws NullPointerException
     *             If {@code comment} was {@code null}.
     */
    @Override
    public ConnectionEntryWriter writeComment(final CharSequence comment) {
        Reject.ifNull(comment);
@@ -109,6 +112,7 @@
     * @throws NullPointerException
     *             If {@code entry} was {@code null}.
     */
    @Override
    public ConnectionEntryWriter writeEntry(final Entry entry) throws LdapException {
        Reject.ifNull(entry);
        connection.add(entry);
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/EntryWriter.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2012 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldif;
@@ -44,6 +44,7 @@
     * @throws IOException
     *             If an unexpected IO error occurred while closing.
     */
    @Override
    void close() throws IOException;
    /**
@@ -60,6 +61,7 @@
     * @throws IOException
     *             If an unexpected IO error occurred while flushing.
     */
    @Override
    void flush() throws IOException;
    /**
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/LDIF.java
@@ -20,7 +20,7 @@
 *
 * CDDL HEADER END
 *
 *      Copyright 2011-2015 ForgeRock AS
 *      Copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldif;
@@ -76,8 +76,11 @@
    private static final class EntryIteratorReader implements EntryReader {
        private final Iterator<Entry> iterator;
        private EntryIteratorReader(final Iterator<Entry> iterator) { this.iterator = iterator; }
        @Override
        public void close()      { }
        @Override
        public boolean hasNext() { return iterator.hasNext(); }
        @Override
        public Entry readEntry() { return iterator.next(); }
    }
    // @formatter:on
@@ -86,6 +89,7 @@
     * Comparator ordering the DN ASC.
     */
    private static final Comparator<byte[][]> DN_ORDER2 = new Comparator<byte[][]>() {
        @Override
        public int compare(byte[][] b1, byte[][] b2) {
            return DN_ORDER.compare(b1[0], b2[0]);
        }
@@ -95,6 +99,7 @@
     * Comparator ordering the DN ASC.
     */
    private static final Comparator<byte[]> DN_ORDER = new Comparator<byte[]>() {
        @Override
        public int compare(byte[] b1, byte[] b2) {
            final ByteString bs = ByteString.valueOfBytes(b1);
            final ByteString bs2 = ByteString.valueOfBytes(b2);
@@ -693,10 +698,12 @@
            private Entry nextEntry = null;
            private int entryCount = 0;
            @Override
            public void close() throws IOException {
                input.close();
            }
            @Override
            public boolean hasNext() throws IOException {
                if (nextEntry == null) {
                    final int sizeLimit = search.getSizeLimit();
@@ -716,6 +723,7 @@
                return nextEntry != null;
            }
            @Override
            public Entry readEntry() throws IOException {
                if (hasNext()) {
                    final Entry entry = nextEntry;
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/LDIFEntryWriter.java
@@ -22,9 +22,8 @@
 *
 *
 *      Copyright 2009-2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldif;
import java.io.IOException;
@@ -102,13 +101,11 @@
        super(writer);
    }
    /** {@inheritDoc} */
    @Override
    public void close() throws IOException {
        close0();
    }
    /** {@inheritDoc} */
    @Override
    public void flush() throws IOException {
        flush0();
@@ -261,14 +258,12 @@
        return this;
    }
    /** {@inheritDoc} */
    @Override
    public LDIFEntryWriter writeComment(final CharSequence comment) throws IOException {
        writeComment0(comment);
        return this;
    }
    /** {@inheritDoc} */
    @Override
    public LDIFEntryWriter writeEntry(final Entry entry) throws IOException {
        Reject.ifNull(entry);
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/RejectedChangeRecordListener.java
@@ -20,7 +20,7 @@
 *
 * CDDL HEADER END
 *
 *      Copyright 2011 ForgeRock AS
 *      Copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldif;
@@ -50,30 +50,36 @@
     */
    RejectedChangeRecordListener FAIL_FAST = new RejectedChangeRecordListener() {
        @Override
        public Entry handleDuplicateEntry(final AddRequest change, final Entry existingEntry) throws DecodeException {
            throw DecodeException.error(REJECTED_CHANGE_FAIL_ADD_DUPE.get(change.getName()));
        }
        @Override
        public Entry handleDuplicateEntry(final ModifyDNRequest change, final Entry existingEntry,
                final Entry renamedEntry) throws DecodeException {
            throw DecodeException.error(REJECTED_CHANGE_FAIL_MODIFYDN_DUPE.get(renamedEntry.getName()));
        }
        @Override
        public void handleRejectedChangeRecord(final AddRequest change, final LocalizableMessage reason)
                throws DecodeException {
            throw DecodeException.error(reason);
        }
        @Override
        public void handleRejectedChangeRecord(final DeleteRequest change, final LocalizableMessage reason)
                throws DecodeException {
            throw DecodeException.error(reason);
        }
        @Override
        public void handleRejectedChangeRecord(final ModifyRequest change, final LocalizableMessage reason)
                throws DecodeException {
            throw DecodeException.error(reason);
        }
        @Override
        public void handleRejectedChangeRecord(final ModifyDNRequest change, final LocalizableMessage reason)
                throws DecodeException {
            throw DecodeException.error(reason);
@@ -88,31 +94,37 @@
     */
    RejectedChangeRecordListener OVERWRITE = new RejectedChangeRecordListener() {
        @Override
        public Entry handleDuplicateEntry(final AddRequest change, final Entry existingEntry) throws DecodeException {
            // Overwrite existing entries.
            return change;
        }
        @Override
        public Entry handleDuplicateEntry(final ModifyDNRequest change, final Entry existingEntry,
                final Entry renamedEntry) throws DecodeException {
            // Overwrite existing entries.
            return renamedEntry;
        }
        @Override
        public void handleRejectedChangeRecord(AddRequest change, LocalizableMessage reason) throws DecodeException {
            // Ignore.
        }
        @Override
        public void handleRejectedChangeRecord(DeleteRequest change, LocalizableMessage reason)
                throws DecodeException {
            // Ignore.
        }
        @Override
        public void handleRejectedChangeRecord(ModifyRequest change, LocalizableMessage reason)
                throws DecodeException {
            // Ignore.
        }
        @Override
        public void handleRejectedChangeRecord(ModifyDNRequest change, LocalizableMessage reason)
                throws DecodeException {
            // Ignore.
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/requests/GSSAPISASLBindRequestTestCase.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2011-2013 ForgeRock AS
 *      Portions copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.requests;
@@ -63,6 +63,7 @@
        };
    }
    @Override
    @Test(enabled = false)
    public void testBindClient(BindRequest request) throws Exception {
        // Should setup a test krb server...
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/requests/RequestsTestCase.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2012 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.requests;
@@ -56,11 +56,13 @@
    /** Dummy decoder which does nothing. */
    private static class MyDecoder implements ControlDecoder<Control> {
        @Override
        public Control decodeControl(final Control control, final DecodeOptions options) throws DecodeException {
            // do nothing.
            return control;
        }
        @Override
        public String getOID() {
            return "1.2.3".intern();
        }
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/AttributeTypeTest.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Copyright 2015 ForgeRock AS.
 *      Copyright 2015-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -90,6 +90,7 @@
        }
    }
    @Override
    @DataProvider(name = "equalsTestData")
    public Object[][] createEqualsTestData() throws SchemaException, DecodeException {
        return new Object[][] {
@@ -535,6 +536,7 @@
        Assert.assertFalse(builder.toSchema().getWarnings().isEmpty());
    }
    @Override
    protected SchemaElement getElement(final String description,
            final Map<String, List<String>> extraProperties) throws SchemaException {
        final SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/CaseIgnoreIA5SubstringMatchingRuleTest.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -36,6 +37,7 @@
@SuppressWarnings("javadoc")
public class CaseIgnoreIA5SubstringMatchingRuleTest extends SubstringMatchingRuleTest {
    @Override
    @DataProvider(name = "substringInvalidAssertionValues")
    public Object[][] createMatchingRuleInvalidAssertionValues() {
        return new Object[][] { { "12345678\uFFFD", new String[0], null },
@@ -43,6 +45,7 @@
            { null, strings(), "12345678\uFFFD" }, };
    }
    @Override
    @DataProvider(name = "substringInvalidAttributeValues")
    public Object[][] createMatchingRuleInvalidAttributeValues() {
        return new Object[][] { { "12345678\uFFFD" }, };
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/CaseIgnoreSubstringMatchingRuleTest.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -36,11 +37,13 @@
@SuppressWarnings("javadoc")
public class CaseIgnoreSubstringMatchingRuleTest extends SubstringMatchingRuleTest {
    @Override
    @DataProvider(name = "substringInvalidAssertionValues")
    public Object[][] createMatchingRuleInvalidAssertionValues() {
        return new Object[][] {};
    }
    @Override
    @DataProvider(name = "substringInvalidAttributeValues")
    public Object[][] createMatchingRuleInvalidAttributeValues() {
        return new Object[][] {};
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/CollationSubstringMatchingRuleTest.java
@@ -21,7 +21,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2014-2015 ForgeRock AS.
 *      Copyright 2014-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -39,11 +39,13 @@
@Test
public class CollationSubstringMatchingRuleTest extends SubstringMatchingRuleTest {
    @Override
    @DataProvider(name = "substringInvalidAssertionValues")
    public Object[][] createMatchingRuleInvalidAssertionValues() {
        return new Object[][] { };
    }
    @Override
    @DataProvider(name = "substringInvalidAttributeValues")
    public Object[][] createMatchingRuleInvalidAttributeValues() {
        return new Object[][] { };
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/DistinguishedNameEqualityMatchingRuleTest.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009-2010 Sun Microsystems, Inc.
 *      Portions copyright 2013-2015 ForgeRock AS.
 *      Portions copyright 2013-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -40,6 +40,7 @@
 */
@SuppressWarnings("javadoc")
public class DistinguishedNameEqualityMatchingRuleTest extends MatchingRuleTest {
    @Override
    @DataProvider(name = "matchingRuleInvalidAttributeValues")
    public Object[][] createMatchingRuleInvalidAttributeValues() {
        return new Object[][] { { "manager" }, { "manager " },
@@ -66,6 +67,7 @@
            { "cn=,dc=example,dc=com" } };
    }
    @Override
    @DataProvider(name = "matchingrules")
    public Object[][] createMatchingRuleTest() {
        return new Object[][] {
@@ -184,6 +186,7 @@
            { "O=\"Sue, Grabbit and Runn\",C=US", "c=us\u0000o=sue\u002C grabbit and runn" }, };
    }
    @Override
    protected MatchingRule getRule() {
        return CoreSchema.getDistinguishedNameMatchingRule();
    }
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/EntrySchemaCheckingTestCase.java
@@ -21,7 +21,7 @@
 * CDDL HEADER END
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2011-2015 ForgeRock AS
 *      Portions Copyright 2011-2016 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
@@ -1132,6 +1132,7 @@
    private EntryResolver newResolver(final Entry e) {
        return new EntryResolver() {
            @Override
            public Entry getEntry(final DN dn) throws LdapException {
                if (e == null) {
                    throw newLdapException(ResultCode.NO_SUCH_OBJECT, "no such entry " + dn);
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/PartialDateAndTimeMatchingRuleTestCase.java
@@ -21,7 +21,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2014-2015 ForgeRock AS.
 *      Copyright 2014-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -67,6 +67,7 @@
        };
    }
    @Override
    @DataProvider(name = "matchingRuleInvalidAssertionValues")
    public Object[][] createMatchingRuleInvalidAssertionValues() {
        return new Object[][] {
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/RelativeTimeGreaterThanMatchingRuleTest.java
@@ -21,7 +21,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2014-2015 ForgeRock AS.
 *      Copyright 2014-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -67,6 +67,7 @@
        };
    }
    @Override
    @DataProvider(name = "matchingRuleInvalidAssertionValues")
    public Object[][] createMatchingRuleInvalidAssertionValues() {
        return new Object[][] {
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/schema/RelativeTimeLessThanMatchingRuleTest.java
@@ -21,7 +21,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2014-2015 ForgeRock AS.
 *      Copyright 2014-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
@@ -67,6 +67,7 @@
        };
    }
    @Override
    @DataProvider(name = "matchingRuleInvalidAssertionValues")
    public Object[][] createMatchingRuleInvalidAssertionValues() {
        return new Object[][] {
opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/spi/ConnectionStateTest.java
@@ -21,7 +21,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2013-2014 ForgeRock AS.
 *      Copyright 2013-2016 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.spi;
@@ -260,6 +260,7 @@
        final ConnectionState state = new ConnectionState();
        final ConnectionEventListener listener1 = mock(ConnectionEventListener.class);
        doAnswer(new Answer<Void>() {
            @Override
            public Void answer(InvocationOnMock invocation) {
                state.notifyConnectionClosed();
                return null;
opendj-sdk/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/ASN1BufferReader.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.grizzly;
@@ -51,6 +51,7 @@
        private int readLimit;
        private int bytesRead;
        @Override
        public void checkLimit(final int readSize) throws IOException {
            if (0 < readLimit && readLimit < bytesRead + readSize) {
                final LocalizableMessage message = ERR_ASN1_TRUNCATED_LENGTH_BYTE.get();
@@ -60,6 +61,7 @@
            bytesRead += readSize;
        }
        @Override
        public SequenceLimiter endSequence() throws IOException {
            parent.checkLimit(remaining());
            if (remaining() > 0) {
@@ -72,10 +74,12 @@
            return parent;
        }
        @Override
        public int remaining() {
            return readLimit - bytesRead;
        }
        @Override
        public ChildSequenceLimiter startSequence(final int readLimit) {
            if (child == null) {
                child = new ChildSequenceLimiter();
@@ -90,6 +94,7 @@
    private final class RootSequenceLimiter implements SequenceLimiter {
        private ChildSequenceLimiter child;
        @Override
        public void checkLimit(final int readSize) throws IOException {
            if (buffer.remaining() < readSize) {
                final LocalizableMessage message = ERR_ASN1_TRUNCATED_LENGTH_BYTE.get();
@@ -97,15 +102,18 @@
            }
        }
        @Override
        public ChildSequenceLimiter endSequence() throws DecodeException {
            final LocalizableMessage message = ERR_ASN1_SEQUENCE_READ_NOT_STARTED.get();
            throw new IllegalStateException(message.toString());
        }
        @Override
        public int remaining() {
            return buffer.remaining();
        }
        @Override
        public ChildSequenceLimiter startSequence(final int readLimit) {
            if (child == null) {
                child = new ChildSequenceLimiter();
@@ -162,6 +170,7 @@
     * @throws IOException
     *             if an I/O error occurs
     */
    @Override
    public void close() throws IOException {
        buffer.dispose();
    }
@@ -175,6 +184,7 @@
     * @throws IOException
     *             If an error occurs while trying to decode an ASN1 element.
     */
    @Override
    public boolean elementAvailable() throws IOException {
        return (state != ASN1.ELEMENT_READ_STATE_NEED_TYPE || needTypeState(true))
                && (state != ASN1.ELEMENT_READ_STATE_NEED_FIRST_LENGTH_BYTE || needFirstLengthByteState(true))
@@ -192,11 +202,12 @@
     * @throws IOException
     *             If an error occurs while trying to decode an ASN1 element.
     */
    @Override
    public boolean hasNextElement() throws IOException {
        return state != ASN1.ELEMENT_READ_STATE_NEED_TYPE || needTypeState(true);
    }
    /** {@inheritDoc} */
    @Override
    public int peekLength() throws IOException {
        peekType();
@@ -212,7 +223,7 @@
        return peekLength;
    }
    /** {@inheritDoc} */
    @Override
    public byte peekType() throws IOException {
        if (state == ASN1.ELEMENT_READ_STATE_NEED_TYPE) {
            needTypeState(false);
@@ -221,7 +232,7 @@
        return peekType;
    }
    /** {@inheritDoc} */
    @Override
    public boolean readBoolean() throws IOException {
        // Read the header if haven't done so already
        peekLength();
@@ -240,7 +251,7 @@
        return readByte != 0x00;
    }
    /** {@inheritDoc} */
    @Override
    public void readEndSequence() throws IOException {
        readLimiter = readLimiter.endSequence();
@@ -250,20 +261,19 @@
        state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
    }
    /** {@inheritDoc} */
    @Override
    public void readEndExplicitTag() throws DecodeException, IOException {
        readEndSequence();
    }
    /** {@inheritDoc} */
    @Override
    public void readEndSet() throws IOException {
        // From an implementation point of view, a set is equivalent to a
        // sequence.
        readEndSequence();
    }
    /** {@inheritDoc} */
    @Override
    public int readEnumerated() throws IOException {
        // Read the header if haven't done so already
        peekLength();
@@ -278,7 +288,7 @@
        return (int) readInteger();
    }
    /** {@inheritDoc} */
    @Override
    public long readInteger() throws IOException {
        // Read the header if haven't done so already
        peekLength();
@@ -318,7 +328,7 @@
        }
    }
    /** {@inheritDoc} */
    @Override
    public void readNull() throws IOException {
        // Read the header if haven't done so already
        peekLength();
@@ -334,7 +344,7 @@
        state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
    }
    /** {@inheritDoc} */
    @Override
    public ByteString readOctetString() throws IOException {
        // Read the header if haven't done so already
        peekLength();
@@ -355,7 +365,7 @@
        return ByteString.wrap(value);
    }
    /** {@inheritDoc} */
    @Override
    public ByteStringBuilder readOctetString(final ByteStringBuilder builder) throws IOException {
        // Read the header if haven't done so already
        peekLength();
@@ -378,7 +388,7 @@
        return builder;
    }
    /** {@inheritDoc} */
    @Override
    public String readOctetStringAsString() throws IOException {
        // Read the header if haven't done so already
        peekLength();
@@ -415,7 +425,7 @@
        return str;
    }
    /** {@inheritDoc} */
    @Override
    public void readStartSequence() throws IOException {
        // Read the header if haven't done so already
        peekLength();
@@ -428,20 +438,19 @@
        state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
    }
    /** {@inheritDoc} */
    @Override
    public void readStartExplicitTag() throws DecodeException, IOException {
        readStartSequence();
    }
    /** {@inheritDoc} */
    @Override
    public void readStartSet() throws IOException {
        // From an implementation point of view, a set is equivalent to a
        // sequence.
        readStartSequence();
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Reader skipElement() throws IOException {
        // Read the header if haven't done so already
        peekLength();
opendj-sdk/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/ASN1BufferWriter.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2012-2015 ForgeRock AS.
 *      Portions copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.grizzly;
@@ -51,6 +51,7 @@
        private ChildSequenceBuffer child;
        private final ByteStringBuilder buffer = new ByteStringBuilder(BUFFER_INIT_SIZE);
        @Override
        public SequenceBuffer endSequence() throws IOException {
            writeLength(parent, buffer.length());
            parent.writeByteArray(buffer.getBackingArray(), 0, buffer.length());
@@ -59,6 +60,7 @@
            return parent;
        }
        @Override
        public SequenceBuffer startSequence(final byte type) throws IOException {
            if (child == null) {
                child = new ChildSequenceBuffer();
@@ -69,10 +71,12 @@
            return child;
        }
        @Override
        public void writeByte(final byte b) throws IOException {
            buffer.appendByte(b);
        }
        @Override
        public void writeByteArray(final byte[] bs, final int offset, final int length) throws IOException {
            buffer.appendBytes(bs, offset, length);
        }
@@ -112,11 +116,13 @@
    private class RootSequenceBuffer implements SequenceBuffer {
        private ChildSequenceBuffer child;
        @Override
        public SequenceBuffer endSequence() throws IOException {
            final LocalizableMessage message = ERR_ASN1_SEQUENCE_WRITE_NOT_STARTED.get();
            throw new IllegalStateException(message.toString());
        }
        @Override
        public SequenceBuffer startSequence(final byte type) throws IOException {
            if (child == null) {
                child = new ChildSequenceBuffer();
@@ -128,11 +134,13 @@
            return child;
        }
        @Override
        public void writeByte(final byte b) throws IOException {
            outBuffer.ensureAdditionalCapacity(1);
            outBuffer.put(b);
        }
        @Override
        public void writeByteArray(final byte[] bs, final int offset, final int length)
                throws IOException {
            outBuffer.ensureAdditionalCapacity(length);
@@ -152,19 +160,12 @@
    private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
    /**
     * Initial size of newly created buffers.
     */
    /** Initial size of newly created buffers. */
    private static final int BUFFER_INIT_SIZE = 1024;
    /**
     * Default maximum size for cached protocol/entry encoding buffers.
     */
    /** Default maximum size for cached protocol/entry encoding buffers. */
    private static final int DEFAULT_MAX_INTERNAL_BUFFER_SIZE = 32 * 1024;
    /**
     * Reset the writer.
     */
    /** Reset the writer. */
    void reset() {
        if (!outBuffer.usable) {
            // If the output buffer is unusable, create a new one.
@@ -177,9 +178,7 @@
    private RecyclableBuffer outBuffer;
    private final RootSequenceBuffer rootBuffer;
    /**
     * Creates a new ASN.1 writer that writes to a StreamWriter.
     */
    /** Creates a new ASN.1 writer that writes to a StreamWriter. */
    ASN1BufferWriter() {
        this.sequenceBuffer = this.rootBuffer = new RootSequenceBuffer();
        this.outBuffer = new RecyclableBuffer();
@@ -192,6 +191,7 @@
     * @throws IOException
     *             if an error occurs while closing the stream.
     */
    @Override
    public void close() throws IOException {
        outBuffer = null;
    }
@@ -202,19 +202,19 @@
     * @throws IOException
     *             If an I/O error occurs
     */
    @Override
    public void flush() throws IOException {
        // Do nothing
    }
    /**
     * Recycle the writer to allow re-use.
     */
    /** Recycle the writer to allow re-use. */
    @Override
    public void recycle() {
        sequenceBuffer = rootBuffer;
        outBuffer.clear();
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeBoolean(final byte type, final boolean booleanValue) throws IOException {
        sequenceBuffer.writeByte(type);
        writeLength(sequenceBuffer, 1);
@@ -224,24 +224,24 @@
        return this;
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeEndSequence() throws IOException {
        sequenceBuffer = sequenceBuffer.endSequence();
        return this;
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeEndSet() throws IOException {
        return writeEndSequence();
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeEnumerated(final byte type, final int intValue) throws IOException {
        return writeInteger(type, intValue);
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeInteger(final byte type, final int intValue) throws IOException {
        sequenceBuffer.writeByte(type);
        if (((intValue < 0) && ((intValue & 0xFFFFFF80) == 0xFFFFFF80))
@@ -273,7 +273,7 @@
        return this;
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeInteger(final byte type, final long longValue) throws IOException {
        sequenceBuffer.writeByte(type);
        if (((longValue < 0) && ((longValue & 0xFFFFFFFFFFFFFF80L) == 0xFFFFFFFFFFFFFF80L))
@@ -347,7 +347,7 @@
        return this;
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeNull(final byte type) throws IOException {
        sequenceBuffer.writeByte(type);
        writeLength(sequenceBuffer, 0);
@@ -356,7 +356,7 @@
        return this;
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeOctetString(final byte type, final byte[] value, final int offset,
            final int length) throws IOException {
        sequenceBuffer.writeByte(type);
@@ -367,7 +367,7 @@
        return this;
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeOctetString(final byte type, final ByteSequence value)
            throws IOException {
        sequenceBuffer.writeByte(type);
@@ -381,7 +381,7 @@
        return this;
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeOctetString(final byte type, final String value) throws IOException {
        sequenceBuffer.writeByte(type);
@@ -398,7 +398,7 @@
        return this;
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeStartSequence(final byte type) throws IOException {
        // Get a child sequence buffer
        sequenceBuffer = sequenceBuffer.startSequence(type);
@@ -407,7 +407,7 @@
        return this;
    }
    /** {@inheritDoc} */
    @Override
    public ASN1Writer writeStartSet(final byte type) throws IOException {
        // From an implementation point of view, a set is equivalent to a
        // sequence.
opendj-sdk/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/ConnectionSecurityLayerFilter.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2012-2014 ForgeRock AS.
 *      Portions Copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.grizzly;
@@ -55,10 +55,12 @@
            setMemoryManager(memoryManager);
        }
        @Override
        public String getName() {
            return getClass().getName();
        }
        @Override
        public boolean hasInputRemaining(final AttributeStorage storage, final Buffer input) {
            return input != null && input.hasRemaining();
        }
@@ -94,10 +96,12 @@
            setMemoryManager(memoryManager);
        }
        @Override
        public String getName() {
            return getClass().getName();
        }
        @Override
        public boolean hasInputRemaining(final AttributeStorage storage, final Buffer input) {
            return input != null && input.hasRemaining();
        }
opendj-sdk/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/LDAPClientFilter.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions Copyright 2012-2015 ForgeRock AS.
 *      Portions Copyright 2012-2016 ForgeRock AS.
 */
package org.forgerock.opendj.grizzly;
@@ -110,6 +110,7 @@
         *
         * @return the reader to read incoming LDAP messages
         */
        @Override
        public LDAPReader<ASN1BufferReader> getReader() {
            return this.reader;
        }
opendj-sdk/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/DataSource.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2009-2010 Sun Microsystems, Inc.
 *      Portions copyright 2014-2015 ForgeRock AS
 *      Portions copyright 2014-2016 ForgeRock AS
 */
package com.forgerock.opendj.ldap.tools;
@@ -71,10 +71,12 @@
            this.lines = lines;
        }
        @Override
        public IDataSource duplicate() {
            return new IncrementLineFileDataSource(lines);
        }
        @Override
        public Object getData() {
            if (next == lines.size()) {
                next = 0;
@@ -99,10 +101,12 @@
            this.high = high;
        }
        @Override
        public IDataSource duplicate() {
            return new IncrementNumberDataSource(low, high);
        }
        @Override
        public Object getData() {
            if (next == high) {
                next = low;
@@ -132,10 +136,12 @@
            }
        }
        @Override
        public IDataSource duplicate() {
            return this;
        }
        @Override
        public Object getData() {
            return lines.get(random.nextInt(lines.size()));
        }
@@ -156,11 +162,13 @@
            range = high - low;
        }
        @Override
        public IDataSource duplicate() {
            // There is no state info so threads can just share one instance.
            return this;
        }
        @Override
        public Object getData() {
            return random.nextInt(range) + offset;
        }
@@ -197,10 +205,12 @@
            this.random = new Random(seed);
        }
        @Override
        public IDataSource duplicate() {
            return this;
        }
        @Override
        public Object getData() {
            final char[] str = new char[length];
            for (int i = 0; i < length; i++) {
@@ -227,11 +237,13 @@
            this.data = data;
        }
        @Override
        public IDataSource duplicate() {
            // There is no state info so threads can just share one instance.
            return this;
        }
        @Override
        public Object getData() {
            return data;
        }