/*
* Copyright (c) 2012-2013 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.auth.ldap;
import java.util.Arrays;
/**
* RootDSE. Requires LDAP v3 support.
*
*/
// Suppress the following two sonar warnings. the arrays are not modified outside of the class.
@SuppressWarnings({ "pmd:ArrayIsStoredDirectly", "pmd:MethodReturnsInternalArray" })
public class RootDSE {
private String rootDomainNamingContext;
private String forestFunctionality;
private String schemaNamingContext;
private String[] namingContexts;
private int[] supportedLDAPVersion;
private String[] supportedControl;
private String[] supportedExtension;
private String[] supportedSASLMechanisms;
private String vendorName;
private String vendorVersion;
private String[] supportedAuthPasswordSchemes;
private String[] objectClass;
private String configContext;
private String[] supportedFeatures;
public String getRootDomainNamingContext() {
return rootDomainNamingContext;
}
public void setRootDomainNamingContext(String rootDomainNamingContext) {
this.rootDomainNamingContext = rootDomainNamingContext;
}
public String getForestFunctionality() {
return forestFunctionality;
}
public void setForestFunctionality(String forestFunctionality) {
this.forestFunctionality = forestFunctionality;
}
public String getSchemaNamingContext() {
return schemaNamingContext;
}
public void setSchemaNamingContext(String schemaNamingContext) {
this.schemaNamingContext = schemaNamingContext;
}
public String[] getNamingContexts() {
return namingContexts;
}
public void setNamingContexts(String[] namingContexts) {
this.namingContexts = namingContexts;
}
public int[] getSupportedLDAPVersion() {
return supportedLDAPVersion;
}
public void setSupportedLDAPVersion(String[] supportedLDAPVersion) {
if (supportedLDAPVersion == null) {
this.supportedLDAPVersion = null;
return;
}
this.supportedLDAPVersion = new int[supportedLDAPVersion.length];
for (int i = 0; i < supportedLDAPVersion.length; i++) {
try {
this.supportedLDAPVersion[i] = Integer.parseInt(supportedLDAPVersion[i]);
} catch (NumberFormatException ex) {
// invalid LDAP version string, set version to 0
this.supportedLDAPVersion[i] = 0;
}
}
}
public String[] getSupportedControl() {
return supportedControl;
}
public void setSupportedControl(String[] supportedControl) {
this.supportedControl = supportedControl;
}
public String[] getSupportedExtension() {
return supportedExtension;
}
public void setSupportedExtension(String[] supportedExtension) {
this.supportedExtension = supportedExtension;
}
public String[] getSupportedSASLMechanisms() {
return supportedSASLMechanisms;
}
public void setSupportedSASLMechanisms(String[] supportedSASLMechanisms) {
this.supportedSASLMechanisms = supportedSASLMechanisms;
}
public String getVendorName() {
return vendorName;
}
public void setVendorName(String vendorName) {
this.vendorName = vendorName;
}
public String getVendorVersion() {
return vendorVersion;
}
public void setVendorVersion(String vendorVersion) {
this.vendorVersion = vendorVersion;
}
public String[] getSupportedAuthPasswordSchemes() {
return supportedAuthPasswordSchemes;
}
public void setSupportedAuthPasswordSchemes(
String[] supportedAuthPasswordSchemes) {
this.supportedAuthPasswordSchemes = supportedAuthPasswordSchemes;
}
public String[] getObjectClass() {
return objectClass;
}
public void setObjectClass(String[] objectClazz) {
objectClass = objectClazz;
}
public String getConfigContext() {
return configContext;
}
public void setConfigContext(String configContext) {
this.configContext = configContext;
}
public String[] getSupportedFeatures() {
return supportedFeatures;
}
public void setSupportedFeatures(String[] supportedFeatures) {
this.supportedFeatures = supportedFeatures;
}
@Override
public String toString() {
return String
.format("RootDSE [rootDomainNamingContext=%s; forestFunctionality=%s; schemaNamingContext=%s; namingContexts=%s; supportedLDAPVersion=%s; supportedControl=%s; supportedExtension=%s; supportedSASLMechanisms=%s; vendorName=%s; vendorVersion=%s; supportedAuthPasswordSchemes=%s; objectClass=%s; configContext=%s; supportedFeatures=%s]",
rootDomainNamingContext, forestFunctionality,
schemaNamingContext, Arrays.toString(namingContexts),
Arrays.toString(supportedLDAPVersion),
Arrays.toString(supportedControl),
Arrays.toString(supportedExtension),
Arrays.toString(supportedSASLMechanisms), vendorName,
vendorVersion,
Arrays.toString(supportedAuthPasswordSchemes),
Arrays.toString(objectClass), configContext,
Arrays.toString(supportedFeatures));
}
}