You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2017/03/30 03:29:52 UTC
svn commit: r1789429 [4/5] - in /directory/shared/branches/shared-value:
integ/src/test/java/org/apache/directory/api/ldap/schema/syntaxCheckers/
ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/
ldap/model/src/main/java/org/apache/direc...
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/OctetStringSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/OctetStringSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/OctetStringSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/OctetStringSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -38,41 +38,56 @@ import org.apache.directory.api.ldap.mod
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class OctetStringSyntaxChecker extends SyntaxChecker
+public final class OctetStringSyntaxChecker extends SyntaxChecker
{
/**
* A static instance of OctetStringSyntaxChecker
*/
- public static final OctetStringSyntaxChecker INSTANCE = new OctetStringSyntaxChecker();
-
+ public static final OctetStringSyntaxChecker INSTANCE =
+ new OctetStringSyntaxChecker( SchemaConstants.OCTET_STRING_SYNTAX );
/**
- * Creates a new instance of OctetStringSyntaxChecker.
+ * A static Builder for this class
*/
- public OctetStringSyntaxChecker()
+ public static final class Builder extends SCBuilder<OctetStringSyntaxChecker>
{
- super( SchemaConstants.OCTET_STRING_SYNTAX );
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.OCTET_STRING_SYNTAX );
+ }
+
+
+ /**
+ * Create a new instance of OctetStringSyntaxChecker
+ * @return A new instance of OctetStringSyntaxChecker
+ */
+ @Override
+ public OctetStringSyntaxChecker build()
+ {
+ return new OctetStringSyntaxChecker( oid );
+ }
}
-
+
/**
* Creates a new instance of OctetStringSyntaxChecker, with a specific OID
*
* @param oid The Syntax's OID
*/
- public OctetStringSyntaxChecker( String oid )
+ private OctetStringSyntaxChecker( String oid )
{
super( oid );
}
-
+
/**
- * {@inheritDoc}
+ * @return An instance of the Builder for this class
*/
- @Override
- public boolean isValidSyntax( Object value )
+ public static Builder builder()
{
- // Always true.
- return true;
+ return new Builder();
}
}
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/OidLenSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/OidLenSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/OidLenSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/OidLenSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -25,8 +25,6 @@ import org.apache.directory.api.i18n.I18
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
import org.apache.directory.api.util.Strings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -49,15 +47,38 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class OidLenSyntaxChecker extends SyntaxChecker
+public final class OidLenSyntaxChecker extends SyntaxChecker
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( OidLenSyntaxChecker.class );
-
/**
* A static instance of OidLenSyntaxChecker
*/
- public static final OidLenSyntaxChecker INSTANCE = new OidLenSyntaxChecker();
+ public static final OidLenSyntaxChecker INSTANCE =
+ new OidLenSyntaxChecker( SchemaConstants.OID_LEN_SYNTAX );
+
+ /**
+ * A static Builder for this class
+ */
+ public static final class Builder extends SCBuilder<OidLenSyntaxChecker>
+ {
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.OID_LEN_SYNTAX );
+ }
+
+
+ /**
+ * Create a new instance of OidLenSyntaxChecker
+ * @return A new instance of OidLenSyntaxChecker
+ */
+ @Override
+ public OidLenSyntaxChecker build()
+ {
+ return new OidLenSyntaxChecker( oid );
+ }
+ }
/**
@@ -65,9 +86,18 @@ public class OidLenSyntaxChecker extends
* Creates a new instance of OidLenSyntaxChecker.
*
*/
- public OidLenSyntaxChecker()
+ private OidLenSyntaxChecker( String oid )
+ {
+ super( oid );
+ }
+
+
+ /**
+ * @return An instance of the Builder for this class
+ */
+ public static Builder builder()
{
- super( SchemaConstants.OID_LEN_SYNTAX );
+ return new Builder();
}
@@ -81,7 +111,11 @@ public class OidLenSyntaxChecker extends
if ( value == null )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, "null" ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, "null" ) );
+ }
+
return false;
}
@@ -100,7 +134,11 @@ public class OidLenSyntaxChecker extends
if ( strValue.length() == 0 )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
@@ -112,15 +150,18 @@ public class OidLenSyntaxChecker extends
// Not found ... but it may still be a valid OID
boolean result = Oid.isOid( strValue );
- if ( result )
- {
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
- }
- else
+ if ( LOG.isDebugEnabled() )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( result )
+ {
+ LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
+ }
+ else
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
}
-
+
return result;
}
else
@@ -130,7 +171,11 @@ public class OidLenSyntaxChecker extends
if ( !Oid.isOid( oid ) )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
@@ -140,7 +185,11 @@ public class OidLenSyntaxChecker extends
if ( len.charAt( len.length() - 1 ) != '}' )
{
// No final '}'
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
@@ -161,7 +210,11 @@ public class OidLenSyntaxChecker extends
break;
default:
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
}
@@ -170,11 +223,19 @@ public class OidLenSyntaxChecker extends
{
// A number can't start with a '0' unless it's the only
// number
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
+ }
+
return true;
}
}
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/OidSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/OidSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/OidSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/OidSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -26,8 +26,6 @@ import org.apache.directory.api.ldap.mod
import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
import org.apache.directory.api.util.Chars;
import org.apache.directory.api.util.Strings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -52,23 +50,56 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class OidSyntaxChecker extends SyntaxChecker
+public final class OidSyntaxChecker extends SyntaxChecker
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( OidSyntaxChecker.class );
-
/**
* A static instance of OidSyntaxChecker
*/
- public static final OidSyntaxChecker INSTANCE = new OidSyntaxChecker();
+ public static final OidSyntaxChecker INSTANCE = new OidSyntaxChecker( SchemaConstants.OID_SYNTAX );
+
+ /**
+ * A static Builder for this class
+ */
+ public static final class Builder extends SCBuilder<OidSyntaxChecker>
+ {
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.OID_SYNTAX );
+ }
+
+
+ /**
+ * Create a new instance of OidSyntaxChecker
+ * @return A new instance of OidSyntaxChecker
+ */
+ @Override
+ public OidSyntaxChecker build()
+ {
+ return new OidSyntaxChecker( oid );
+ }
+ }
/**
* Creates a new instance of OidSyntaxChecker.
+ *
+ * @param oid The OID to use for this SyntaxChecker
+ */
+ private OidSyntaxChecker( String oid )
+ {
+ super( oid );
+ }
+
+
+ /**
+ * @return An instance of the Builder for this class
*/
- public OidSyntaxChecker()
+ public static Builder builder()
{
- super( SchemaConstants.OID_SYNTAX );
+ return new Builder();
}
@@ -82,7 +113,11 @@ public class OidSyntaxChecker extends Sy
if ( value == null )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, "null" ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, "null" ) );
+ }
+
return false;
}
@@ -101,7 +136,11 @@ public class OidSyntaxChecker extends Sy
if ( strValue.length() == 0 )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
@@ -109,16 +148,21 @@ public class OidSyntaxChecker extends Sy
// checked to make sure there are no other chars except '.' and digits.
if ( Chars.isDigit( strValue.charAt( 0 ) ) )
{
- if ( !Oid.isOid( strValue ) )
+ boolean result = Oid.isOid( strValue );
+
+ if ( LOG.isDebugEnabled() )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
- return false;
- }
- else
- {
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
- return true;
+ if ( result )
+ {
+ LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
+ }
+ else
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
}
+
+ return result;
}
// here we just need to make sure that we have the right characters in the
@@ -131,17 +175,29 @@ public class OidSyntaxChecker extends Sy
if ( !Chars.isAlphaDigitMinus( c ) )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
}
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
+ }
+
return true;
}
else
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
}
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/OtherMailboxSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/OtherMailboxSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/OtherMailboxSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/OtherMailboxSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -24,8 +24,6 @@ import org.apache.directory.api.i18n.I18
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
import org.apache.directory.api.util.Strings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -39,23 +37,55 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class OtherMailboxSyntaxChecker extends SyntaxChecker
+public final class OtherMailboxSyntaxChecker extends SyntaxChecker
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( OtherMailboxSyntaxChecker.class );
-
/**
* A static instance of OtherMailboxSyntaxChecker
*/
- public static final OtherMailboxSyntaxChecker INSTANCE = new OtherMailboxSyntaxChecker();
+ public static final OtherMailboxSyntaxChecker INSTANCE =
+ new OtherMailboxSyntaxChecker( SchemaConstants.OTHER_MAILBOX_SYNTAX );
+
+ /**
+ * A static Builder for this class
+ */
+ public static final class Builder extends SCBuilder<OtherMailboxSyntaxChecker>
+ {
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.OTHER_MAILBOX_SYNTAX );
+ }
+
+
+ /**
+ * Create a new instance of OtherMailboxSyntaxChecker
+ * @return A new instance of OtherMailboxSyntaxChecker
+ */
+ @Override
+ public OtherMailboxSyntaxChecker build()
+ {
+ return new OtherMailboxSyntaxChecker( oid );
+ }
+ }
/**
* Creates a new instance of OtherMailboxSyntaxChecker.
*/
- public OtherMailboxSyntaxChecker()
+ private OtherMailboxSyntaxChecker( String oid )
{
- super( SchemaConstants.OTHER_MAILBOX_SYNTAX );
+ super( oid );
+ }
+
+
+ /**
+ * @return An instance of the Builder for this class
+ */
+ public static Builder builder()
+ {
+ return new Builder();
}
@@ -69,7 +99,11 @@ public class OtherMailboxSyntaxChecker e
if ( value == null )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, "null" ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, "null" ) );
+ }
+
return false;
}
@@ -88,7 +122,11 @@ public class OtherMailboxSyntaxChecker e
if ( strValue.length() == 0 )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
@@ -98,7 +136,11 @@ public class OtherMailboxSyntaxChecker e
if ( dollar == -1 )
{
// No '$' => error
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
@@ -110,27 +152,38 @@ public class OtherMailboxSyntaxChecker e
// The mailbox should not contains a '$'
if ( mailbox.indexOf( '$' ) != -1 )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
// Check that the mailboxType is a PrintableString
if ( !Strings.isPrintableString( mailboxType ) )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
// Check that the mailbox is an IA5String
boolean result = Strings.isIA5String( mailbox );
- if ( result )
- {
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
- }
- else
+ if ( LOG.isDebugEnabled() )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( result )
+ {
+ LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
+ }
+ else
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
}
return result;
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/PostalAddressSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/PostalAddressSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/PostalAddressSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/PostalAddressSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -24,8 +24,6 @@ import org.apache.directory.api.i18n.I18
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
import org.apache.directory.api.util.Strings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -39,23 +37,57 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class PostalAddressSyntaxChecker extends SyntaxChecker
+public final class PostalAddressSyntaxChecker extends SyntaxChecker
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( PostalAddressSyntaxChecker.class );
-
/**
* A static instance of PostalAddressSyntaxChecker
*/
- public static final PostalAddressSyntaxChecker INSTANCE = new PostalAddressSyntaxChecker();
+ public static final PostalAddressSyntaxChecker INSTANCE =
+ new PostalAddressSyntaxChecker( SchemaConstants.POSTAL_ADDRESS_SYNTAX );
+
+ /**
+ * A static Builder for this class
+ */
+ public static final class Builder extends SCBuilder<PostalAddressSyntaxChecker>
+ {
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.POSTAL_ADDRESS_SYNTAX );
+ }
+
+
+ /**
+ * Create a new instance of PostalAddressSyntaxChecker
+ * @return A new instance of PostalAddressSyntaxChecker
+ */
+ @Override
+ public PostalAddressSyntaxChecker build()
+ {
+ return new PostalAddressSyntaxChecker( oid );
+ }
+ }
/**
* Creates a new instance of PostalAddressSyntaxChecker.
+ *
+ * @param oid The OID to use for this SyntaxChecker
*/
- public PostalAddressSyntaxChecker()
+ private PostalAddressSyntaxChecker( String oid )
{
- super( SchemaConstants.POSTAL_ADDRESS_SYNTAX );
+ super( oid );
+ }
+
+
+ /**
+ * @return An instance of the Builder for this class
+ */
+ public static Builder builder()
+ {
+ return new Builder();
}
@@ -69,7 +101,11 @@ public class PostalAddressSyntaxChecker
if ( value == null )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, "null" ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, "null" ) );
+ }
+
return false;
}
@@ -88,7 +124,11 @@ public class PostalAddressSyntaxChecker
if ( strValue.length() == 0 )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
@@ -98,7 +138,11 @@ public class PostalAddressSyntaxChecker
if ( dollar == -1 )
{
// No '$' => only a dstring
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
+ }
+
return true;
}
@@ -110,7 +154,11 @@ public class PostalAddressSyntaxChecker
if ( Strings.isEmpty( address ) )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
@@ -119,7 +167,11 @@ public class PostalAddressSyntaxChecker
if ( pos == strValue.length() )
{
// we should not have a '$' at the end
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/PresentationAddressSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/PresentationAddressSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/PresentationAddressSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/PresentationAddressSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -20,10 +20,8 @@
package org.apache.directory.api.ldap.model.schema.syntaxCheckers;
-import org.apache.directory.api.i18n.I18n;
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
/**
@@ -34,33 +32,56 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class PresentationAddressSyntaxChecker extends BinarySyntaxChecker
+public final class PresentationAddressSyntaxChecker extends SyntaxChecker
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( PresentationAddressSyntaxChecker.class );
-
/**
* A static instance of PresentationAddressSyntaxChecker
*/
- public static final PresentationAddressSyntaxChecker INSTANCE = new PresentationAddressSyntaxChecker();
+ public static final PresentationAddressSyntaxChecker INSTANCE =
+ new PresentationAddressSyntaxChecker( SchemaConstants.PRESENTATION_ADDRESS_SYNTAX );
+
+ /**
+ * A static Builder for this class
+ */
+ public static final class Builder extends SCBuilder<PresentationAddressSyntaxChecker>
+ {
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.PRESENTATION_ADDRESS_SYNTAX );
+ }
+
+
+ /**
+ * Create a new instance of PresentationAddressSyntaxChecker
+ * @return A new instance of PresentationAddressSyntaxChecker
+ */
+ @Override
+ public PresentationAddressSyntaxChecker build()
+ {
+ return new PresentationAddressSyntaxChecker( oid );
+ }
+ }
/**
* Creates an instance of PresentationAddressSyntaxChecker
+ *
+ * @param oid The OID to use for this SyntaxChecker
*/
- public PresentationAddressSyntaxChecker()
+ private PresentationAddressSyntaxChecker( String oid )
{
- super( SchemaConstants.PRESENTATION_ADDRESS_SYNTAX );
+ super( oid );
}
-
+
/**
- * {@inheritDoc}
+ * @return An instance of the Builder for this class
*/
- @Override
- public boolean isValidSyntax( Object value )
+ public static Builder builder()
{
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
- return true;
+ return new Builder();
}
}
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/PrintableStringSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/PrintableStringSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/PrintableStringSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/PrintableStringSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -24,8 +24,6 @@ import org.apache.directory.api.i18n.I18
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
import org.apache.directory.api.util.Strings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -61,23 +59,57 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class PrintableStringSyntaxChecker extends SyntaxChecker
+public final class PrintableStringSyntaxChecker extends SyntaxChecker
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( PrintableStringSyntaxChecker.class );
-
/**
* A static instance of PrintableStringSyntaxChecker
*/
- public static final PrintableStringSyntaxChecker INSTANCE = new PrintableStringSyntaxChecker();
+ public static final PrintableStringSyntaxChecker INSTANCE =
+ new PrintableStringSyntaxChecker( SchemaConstants.PRINTABLE_STRING_SYNTAX );
+
+ /**
+ * A static Builder for this class
+ */
+ public static final class Builder extends SCBuilder<PrintableStringSyntaxChecker>
+ {
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.PRINTABLE_STRING_SYNTAX );
+ }
+
+
+ /**
+ * Create a new instance of PrintableStringSyntaxChecker
+ * @return A new instance of PrintableStringSyntaxChecker
+ */
+ @Override
+ public PrintableStringSyntaxChecker build()
+ {
+ return new PrintableStringSyntaxChecker( oid );
+ }
+ }
/**
* Creates a new instance of PrintableStringSyntaxChecker.
+ *
+ * @param oid The OID to use for this SyntaxChecker
*/
- public PrintableStringSyntaxChecker()
+ private PrintableStringSyntaxChecker( String oid )
{
- super( SchemaConstants.PRINTABLE_STRING_SYNTAX );
+ super( oid );
+ }
+
+
+ /**
+ * @return An instance of the Builder for this class
+ */
+ public static Builder builder()
+ {
+ return new Builder();
}
@@ -91,7 +123,11 @@ public class PrintableStringSyntaxChecke
if ( value == null )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, "null" ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, "null" ) );
+ }
+
return false;
}
@@ -110,26 +146,37 @@ public class PrintableStringSyntaxChecke
if ( strValue.length() == 0 )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
// We must have at least one char
if ( strValue.length() == 0 )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
boolean result = Strings.isPrintableString( strValue );
- if ( result )
- {
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
- }
- else
+ if ( LOG.isDebugEnabled() )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( result )
+ {
+ LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
+ }
+ else
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
}
return result;
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/ProtocolInformationSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/ProtocolInformationSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/ProtocolInformationSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/ProtocolInformationSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -20,11 +20,8 @@
package org.apache.directory.api.ldap.model.schema.syntaxCheckers;
-import org.apache.directory.api.i18n.I18n;
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -34,33 +31,56 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class ProtocolInformationSyntaxChecker extends SyntaxChecker
+public final class ProtocolInformationSyntaxChecker extends SyntaxChecker
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( ProtocolInformationSyntaxChecker.class );
-
/**
* A static instance of ProtocolInformationSyntaxChecker
*/
- public static final ProtocolInformationSyntaxChecker INSTANCE = new ProtocolInformationSyntaxChecker();
+ public static final ProtocolInformationSyntaxChecker INSTANCE =
+ new ProtocolInformationSyntaxChecker( SchemaConstants.PROTOCOL_INFORMATION_SYNTAX );
+
+ /**
+ * A static Builder for this class
+ */
+ public static final class Builder extends SCBuilder<ProtocolInformationSyntaxChecker>
+ {
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.PROTOCOL_INFORMATION_SYNTAX );
+ }
+
+
+ /**
+ * Create a new instance of ProtocolInformationSyntaxChecker
+ * @return A new instance of ProtocolInformationSyntaxChecker
+ */
+ @Override
+ public ProtocolInformationSyntaxChecker build()
+ {
+ return new ProtocolInformationSyntaxChecker( oid );
+ }
+ }
/**
* Creates a new instance of ProtocolInformationSyntaxChecker.
+ *
+ * @param oid The OID to use for this SyntaxChecker
*/
- public ProtocolInformationSyntaxChecker()
+ private ProtocolInformationSyntaxChecker( String oid )
{
- super( SchemaConstants.PROTOCOL_INFORMATION_SYNTAX );
+ super( oid );
}
-
+
/**
- * {@inheritDoc}
+ * @return An instance of the Builder for this class
*/
- @Override
- public boolean isValidSyntax( Object value )
+ public static Builder builder()
{
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
- return true;
+ return new Builder();
}
}
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/RegexSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/RegexSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/RegexSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/RegexSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -20,13 +20,9 @@
package org.apache.directory.api.ldap.model.schema.syntaxCheckers;
-import java.util.ArrayList;
-import java.util.List;
-
import org.apache.directory.api.i18n.I18n;
import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.directory.api.util.Strings;
/**
@@ -36,55 +32,77 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class RegexSyntaxChecker extends SyntaxChecker
+public final class RegexSyntaxChecker extends SyntaxChecker
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( RegexSyntaxChecker.class );
-
/** the set of regular expressions */
- private List<String> expressions;
-
+ private String[] expressions;
/**
- * Creates a Syntax validator for a specific Syntax using Perl5 matching
- * rules for validation.
- *
- * @param oid
- * the oid of the Syntax values checked
- * @param matchExprArray
- * the array of matching expressions
+ * A static Builder for this class
*/
- public RegexSyntaxChecker( String oid, String[] matchExprArray )
+ public static final class Builder extends SCBuilder<RegexSyntaxChecker>
{
- super( oid );
-
- if ( ( matchExprArray != null ) && ( matchExprArray.length != 0 ) )
+ /** the set of regular expressions */
+ private String[] expressions;
+
+ /**
+ * The Builder constructor
+ */
+ private Builder()
{
- expressions = new ArrayList<>( matchExprArray.length );
+ super( null );
+ }
+
- for ( String regexp : matchExprArray )
+ /**
+ * Add a list of regexp to be applied by this SyntaxChecker
+ *
+ * @param expressions The regexp list to add
+ */
+ public Builder setExpressions( String[] expressions )
+ {
+ if ( ( expressions != null ) && ( expressions.length > 0 ) )
{
- expressions.add( regexp );
+ this.expressions = new String[expressions.length];
+ System.arraycopy( expressions, 0, this.expressions, 0, expressions.length );
}
+
+ return this;
}
- else
+
+
+ /**
+ * Create a new instance of RegexSyntaxChecker
+ * @return A new instance of RegexSyntaxChecker
+ */
+ public RegexSyntaxChecker build()
{
- expressions = new ArrayList<>();
+ return new RegexSyntaxChecker( oid, expressions );
}
}
-
+
/**
+ * Creates a Syntax validator for a specific Syntax using Perl5 matching
+ * rules for validation.
*
- * Creates a new instance of RegexSyntaxChecker.
- *
- * @param oid the oid to associate with this new SyntaxChecker
- *
+ * @param oid the oid of the Syntax values checked
+ * @param matchExprArray the array of matching expressions
*/
- public RegexSyntaxChecker( String oid )
+ private RegexSyntaxChecker( String oid, String[] matchExprArray )
{
super( oid );
- expressions = new ArrayList<>();
+
+ this.expressions = matchExprArray;
+ }
+
+
+ /**
+ * @return An instance of the Builder for this class
+ */
+ public static Builder builder()
+ {
+ return new Builder();
}
@@ -104,14 +122,20 @@ public class RegexSyntaxChecker extends
{
if ( !str.matches( regexp ) )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
return false;
}
}
}
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
+ }
return true;
}
@@ -124,21 +148,14 @@ public class RegexSyntaxChecker extends
*/
public String[] getExpressions()
{
- String[] exprs = new String[expressions.size()];
- return expressions.toArray( exprs );
- }
-
-
- /**
- * Add a list of regexp to be applied by this SyntaxChecker
- *
- * @param expressions The regexp list to add
- */
- public void setExpressions( String[] expressions )
- {
- for ( String regexp : expressions )
+ if ( expressions == null )
{
- this.expressions.add( regexp );
+ return Strings.EMPTY_STRING_ARRAY;
}
+
+ String[] exprs = new String[expressions.length];
+ System.arraycopy( expressions, 0, exprs, 0, expressions.length );
+
+ return exprs;
}
}
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SearchScopeSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SearchScopeSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SearchScopeSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SearchScopeSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -24,8 +24,6 @@ import org.apache.directory.api.i18n.I18
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
import org.apache.directory.api.util.Strings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -41,23 +39,57 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class SearchScopeSyntaxChecker extends SyntaxChecker
+public final class SearchScopeSyntaxChecker extends SyntaxChecker
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( SearchScopeSyntaxChecker.class );
-
/**
* A static instance of SearchScopeSyntaxChecker
*/
- public static final SearchScopeSyntaxChecker INSTANCE = new SearchScopeSyntaxChecker();
+ public static final SearchScopeSyntaxChecker INSTANCE =
+ new SearchScopeSyntaxChecker( SchemaConstants.SEARCH_SCOPE_SYNTAX );
+
+ /**
+ * A static Builder for this class
+ */
+ public static final class Builder extends SCBuilder<SearchScopeSyntaxChecker>
+ {
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.SEARCH_SCOPE_SYNTAX );
+ }
+
+
+ /**
+ * Create a new instance of SearchScopeSyntaxChecker
+ * @return A new instance of SearchScopeSyntaxChecker
+ */
+ @Override
+ public SearchScopeSyntaxChecker build()
+ {
+ return new SearchScopeSyntaxChecker( oid );
+ }
+ }
/**
* Creates a new instance of SearchScopeSyntaxChecker.
+ *
+ * @param oid The OID to use for this SyntaxChecker
+ */
+ private SearchScopeSyntaxChecker( String oid )
+ {
+ super( oid );
+ }
+
+
+ /**
+ * @return An instance of the Builder for this class
*/
- public SearchScopeSyntaxChecker()
+ public static Builder builder()
{
- super( SchemaConstants.SEARCH_SCOPE_SYNTAX );
+ return new Builder();
}
@@ -71,7 +103,11 @@ public class SearchScopeSyntaxChecker ex
if ( value == null )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, "null" ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, "null" ) );
+ }
+
return false;
}
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SubstringAssertionSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SubstringAssertionSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SubstringAssertionSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SubstringAssertionSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -20,10 +20,8 @@
package org.apache.directory.api.ldap.model.schema.syntaxCheckers;
-import org.apache.directory.api.i18n.I18n;
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
/**
@@ -35,33 +33,56 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class SubstringAssertionSyntaxChecker extends BinarySyntaxChecker
+public final class SubstringAssertionSyntaxChecker extends SyntaxChecker
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( SubstringAssertionSyntaxChecker.class );
-
/**
* A static instance of SubstringAssertionSyntaxChecker
*/
- public static final SubstringAssertionSyntaxChecker INSTANCE = new SubstringAssertionSyntaxChecker();
+ public static final SubstringAssertionSyntaxChecker INSTANCE =
+ new SubstringAssertionSyntaxChecker( SchemaConstants.SUBSTRING_ASSERTION_SYNTAX );
+
+ /**
+ * A static Builder for this class
+ */
+ public static final class Builder extends SCBuilder<SubstringAssertionSyntaxChecker>
+ {
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.SUBSTRING_ASSERTION_SYNTAX );
+ }
+
+
+ /**
+ * Create a new instance of SubstringAssertionSyntaxChecker
+ * @return A new instance of SubstringAssertionSyntaxChecker
+ */
+ @Override
+ public SubstringAssertionSyntaxChecker build()
+ {
+ return new SubstringAssertionSyntaxChecker( oid );
+ }
+ }
/**
* Creates an instance of SubstringAssertionSyntaxChecker
+ *
+ * @param oid The OID to use for this SyntaxChecker
*/
- public SubstringAssertionSyntaxChecker()
+ private SubstringAssertionSyntaxChecker( String oid )
{
- super( SchemaConstants.SUBSTRING_ASSERTION_SYNTAX );
+ super( oid );
}
-
+
/**
- * {@inheritDoc}
+ * @return An instance of the Builder for this class
*/
- @Override
- public boolean isValidSyntax( Object value )
+ public static Builder builder()
{
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
- return true;
+ return new Builder();
}
}
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SubtreeSpecificationSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SubtreeSpecificationSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SubtreeSpecificationSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SubtreeSpecificationSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -28,8 +28,6 @@ import org.apache.directory.api.ldap.mod
import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
import org.apache.directory.api.ldap.model.subtree.SubtreeSpecificationChecker;
import org.apache.directory.api.util.Strings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -40,26 +38,71 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class SubtreeSpecificationSyntaxChecker extends SyntaxChecker
+public final class SubtreeSpecificationSyntaxChecker extends SyntaxChecker
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( SubtreeSpecificationSyntaxChecker.class );
-
/** The associated checker */
private transient SubtreeSpecificationChecker subtreeSpecificationChecker;
/**
* A static instance of SubtreeSpecificationSyntaxChecker
*/
- public static final SubtreeSpecificationSyntaxChecker INSTANCE = new SubtreeSpecificationSyntaxChecker();
-
+ public static final SubtreeSpecificationSyntaxChecker INSTANCE =
+ new SubtreeSpecificationSyntaxChecker( SchemaConstants.SUBTREE_SPECIFICATION_SYNTAX, null );
+
+ /**
+ * A static Builder for this class
+ */
+ public static final class Builder extends SCBuilder<SubtreeSpecificationSyntaxChecker>
+ {
+ /** The schemaManager */
+ private SchemaManager schemaManager;
+
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.SUBTREE_SPECIFICATION_SYNTAX );
+ }
+
+
+ public Builder setSchemaManager( SchemaManager schemaManager )
+ {
+ this.schemaManager = schemaManager;
+
+ return this;
+ }
+
+
+ /**
+ * Create a new instance of SubtreeSpecificationSyntaxChecker
+ * @return A new instance of SubtreeSpecificationSyntaxChecker
+ */
+ @Override
+ public SubtreeSpecificationSyntaxChecker build()
+ {
+ return new SubtreeSpecificationSyntaxChecker( oid, schemaManager );
+ }
+ }
/**
* Creates an instance of SubtreeSpecificationSyntaxChecker
+ *
+ * @param oid The OID to use for this SyntaxChecker
*/
- public SubtreeSpecificationSyntaxChecker()
+ private SubtreeSpecificationSyntaxChecker( String oid, SchemaManager schemaManager )
{
- super( SchemaConstants.SUBTREE_SPECIFICATION_SYNTAX );
+ super( oid );
+ subtreeSpecificationChecker = new SubtreeSpecificationChecker( schemaManager );
+ }
+
+
+ /**
+ * @return An instance of the Builder for this class
+ */
+ public static Builder builder()
+ {
+ return new Builder();
}
@@ -73,7 +116,11 @@ public class SubtreeSpecificationSyntaxC
if ( value == null )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, "null" ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, "null" ) );
+ }
+
return false;
}
@@ -92,7 +139,11 @@ public class SubtreeSpecificationSyntaxC
if ( strValue.length() == 0 )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
@@ -103,23 +154,21 @@ public class SubtreeSpecificationSyntaxC
subtreeSpecificationChecker.parse( strValue );
}
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
+ }
+
return true;
}
catch ( ParseException pe )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
}
-
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void setSchemaManager( SchemaManager schemaManager )
- {
- subtreeSpecificationChecker = new SubtreeSpecificationChecker( schemaManager );
- }
}
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SupplierAndConsumerSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SupplierAndConsumerSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SupplierAndConsumerSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SupplierAndConsumerSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -20,11 +20,8 @@
package org.apache.directory.api.ldap.model.schema.syntaxCheckers;
-import org.apache.directory.api.i18n.I18n;
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -33,33 +30,56 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class SupplierAndConsumerSyntaxChecker extends SyntaxChecker
+public final class SupplierAndConsumerSyntaxChecker extends SyntaxChecker
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( SupplierAndConsumerSyntaxChecker.class );
-
/**
* A static instance of SupplierAndConsumerSyntaxChecker
*/
- public static final SupplierAndConsumerSyntaxChecker INSTANCE = new SupplierAndConsumerSyntaxChecker();
+ public static final SupplierAndConsumerSyntaxChecker INSTANCE =
+ new SupplierAndConsumerSyntaxChecker( SchemaConstants.SUPPLIER_AND_CONSUMER_SYNTAX );
+
+ /**
+ * A static Builder for this class
+ */
+ public static final class Builder extends SCBuilder<SupplierAndConsumerSyntaxChecker>
+ {
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.SUPPLIER_AND_CONSUMER_SYNTAX );
+ }
+
+
+ /**
+ * Create a new instance of SupplierAndConsumerSyntaxChecker
+ * @return A new instance of SupplierAndConsumerSyntaxChecker
+ */
+ @Override
+ public SupplierAndConsumerSyntaxChecker build()
+ {
+ return new SupplierAndConsumerSyntaxChecker( oid );
+ }
+ }
/**
* Creates an instance of SupplierAndConsumerSyntaxChecker
+ *
+ * @param oid The OID to use for this SyntaxChecker
*/
- public SupplierAndConsumerSyntaxChecker()
+ private SupplierAndConsumerSyntaxChecker( String oid )
{
- super( SchemaConstants.SUPPLIER_AND_CONSUMER_SYNTAX );
+ super( oid );
}
-
+
/**
- * {@inheritDoc}
+ * @return An instance of the Builder for this class
*/
- @Override
- public boolean isValidSyntax( Object value )
+ public static Builder builder()
{
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
- return true;
+ return new Builder();
}
}
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SupplierInformationSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SupplierInformationSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SupplierInformationSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SupplierInformationSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -20,11 +20,8 @@
package org.apache.directory.api.ldap.model.schema.syntaxCheckers;
-import org.apache.directory.api.i18n.I18n;
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -33,33 +30,56 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class SupplierInformationSyntaxChecker extends SyntaxChecker
+public final class SupplierInformationSyntaxChecker extends SyntaxChecker
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( SupplierInformationSyntaxChecker.class );
-
/**
* A static instance of SupplierInformationSyntaxChecker
*/
- public static final SupplierInformationSyntaxChecker INSTANCE = new SupplierInformationSyntaxChecker();
+ public static final SupplierInformationSyntaxChecker INSTANCE =
+ new SupplierInformationSyntaxChecker( SchemaConstants.SUPPLIER_INFORMATION_SYNTAX );
+
+ /**
+ * A static Builder for this class
+ */
+ public static final class Builder extends SCBuilder<SupplierInformationSyntaxChecker>
+ {
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.SUPPLIER_INFORMATION_SYNTAX );
+ }
+
+
+ /**
+ * Create a new instance of SupplierInformationSyntaxChecker
+ * @return A new instance of SupplierInformationSyntaxChecker
+ */
+ @Override
+ public SupplierInformationSyntaxChecker build()
+ {
+ return new SupplierInformationSyntaxChecker( oid );
+ }
+ }
/**
* Creates an instance of SupplierInformationSyntaxChecker
+ *
+ * @param oid The OID to use for this SyntaxChecker
*/
- public SupplierInformationSyntaxChecker()
+ private SupplierInformationSyntaxChecker( String oid )
{
- super( SchemaConstants.SUPPLIER_INFORMATION_SYNTAX );
+ super( oid );
}
-
+
/**
- * {@inheritDoc}
+ * @return An instance of the Builder for this class
*/
- @Override
- public boolean isValidSyntax( Object value )
+ public static Builder builder()
{
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
- return true;
+ return new Builder();
}
}
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SupplierOrConsumerSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SupplierOrConsumerSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SupplierOrConsumerSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SupplierOrConsumerSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -20,11 +20,8 @@
package org.apache.directory.api.ldap.model.schema.syntaxCheckers;
-import org.apache.directory.api.i18n.I18n;
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -33,33 +30,56 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class SupplierOrConsumerSyntaxChecker extends SyntaxChecker
+public final class SupplierOrConsumerSyntaxChecker extends SyntaxChecker
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( SupplierOrConsumerSyntaxChecker.class );
-
/**
* A static instance of SupplierOrConsumerSyntaxChecker
*/
- public static final SupplierOrConsumerSyntaxChecker INSTANCE = new SupplierOrConsumerSyntaxChecker();
+ public static final SupplierOrConsumerSyntaxChecker INSTANCE =
+ new SupplierOrConsumerSyntaxChecker( SchemaConstants.SUPPLIER_OR_CONSUMER_SYNTAX );
+
+ /**
+ * A static Builder for this class
+ */
+ public static final class Builder extends SCBuilder<SupplierOrConsumerSyntaxChecker>
+ {
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.SUPPLIER_OR_CONSUMER_SYNTAX );
+ }
+
+
+ /**
+ * Create a new instance of SupplierOrConsumerSyntaxChecker
+ * @return A new instance of SupplierOrConsumerSyntaxChecker
+ */
+ @Override
+ public SupplierOrConsumerSyntaxChecker build()
+ {
+ return new SupplierOrConsumerSyntaxChecker( oid );
+ }
+ }
/**
* Creates a new instance of SupplierOrConsumerSyntaxChecker.
+ *
+ * @param oid The OID to use for this SyntaxChecker
*/
- public SupplierOrConsumerSyntaxChecker()
+ private SupplierOrConsumerSyntaxChecker( String oid )
{
- super( SchemaConstants.SUPPLIER_OR_CONSUMER_SYNTAX );
+ super( oid );
}
-
+
/**
- * {@inheritDoc}
+ * @return An instance of the Builder for this class
*/
- @Override
- public boolean isValidSyntax( Object value )
+ public static Builder builder()
{
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
- return true;
+ return new Builder();
}
}
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SupportedAlgorithmSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SupportedAlgorithmSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SupportedAlgorithmSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SupportedAlgorithmSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -20,10 +20,8 @@
package org.apache.directory.api.ldap.model.schema.syntaxCheckers;
-import org.apache.directory.api.i18n.I18n;
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
/**
@@ -34,33 +32,56 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class SupportedAlgorithmSyntaxChecker extends BinarySyntaxChecker
+public final class SupportedAlgorithmSyntaxChecker extends SyntaxChecker
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( SupportedAlgorithmSyntaxChecker.class );
-
/**
* A static instance of SupportedAlgorithmSyntaxChecker
*/
- public static final SupportedAlgorithmSyntaxChecker INSTANCE = new SupportedAlgorithmSyntaxChecker();
+ public static final SupportedAlgorithmSyntaxChecker INSTANCE =
+ new SupportedAlgorithmSyntaxChecker( SchemaConstants.SUPPORTED_ALGORITHM_SYNTAX );
+
+ /**
+ * A static Builder for this class
+ */
+ public static final class Builder extends SCBuilder<SupportedAlgorithmSyntaxChecker>
+ {
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.SUPPORTED_ALGORITHM_SYNTAX );
+ }
+
+
+ /**
+ * Create a new instance of SupportedAlgorithmSyntaxChecker
+ * @return A new instance of SupportedAlgorithmSyntaxChecker
+ */
+ @Override
+ public SupportedAlgorithmSyntaxChecker build()
+ {
+ return new SupportedAlgorithmSyntaxChecker( oid );
+ }
+ }
/**
* Creates a new instance of SupportedAlgorithmSyntaxChecker.
+ *
+ * @param oid The OID to use for this SyntaxChecker
*/
- public SupportedAlgorithmSyntaxChecker()
+ private SupportedAlgorithmSyntaxChecker( String oid )
{
- super( SchemaConstants.SUPPORTED_ALGORITHM_SYNTAX );
+ super( oid );
}
-
+
/**
- * {@inheritDoc}
+ * @return An instance of the Builder for this class
*/
- @Override
- public boolean isValidSyntax( Object value )
+ public static Builder builder()
{
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
- return true;
+ return new Builder();
}
}
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SyntaxCheckerSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SyntaxCheckerSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SyntaxCheckerSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/SyntaxCheckerSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -21,6 +21,7 @@ package org.apache.directory.api.ldap.mo
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
+import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
/**
@@ -29,18 +30,55 @@ import org.apache.directory.api.ldap.mod
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class SyntaxCheckerSyntaxChecker extends Ia5StringSyntaxChecker
+public final class SyntaxCheckerSyntaxChecker extends SyntaxChecker
{
/**
* A static instance of SyntaxCheckerSyntaxChecker
*/
- public static final SyntaxCheckerSyntaxChecker INSTANCE = new SyntaxCheckerSyntaxChecker();
+ public static final SyntaxCheckerSyntaxChecker INSTANCE =
+ new SyntaxCheckerSyntaxChecker( SchemaConstants.SYNTAX_CHECKER_SYNTAX );
+
+ /**
+ * A static Builder for this class
+ */
+ public static final class Builder extends SCBuilder<SyntaxCheckerSyntaxChecker>
+ {
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.SYNTAX_CHECKER_SYNTAX );
+ }
+
+
+ /**
+ * Create a new instance of SyntaxCheckerSyntaxChecker
+ * @return A new instance of SyntaxCheckerSyntaxChecker
+ */
+ @Override
+ public SyntaxCheckerSyntaxChecker build()
+ {
+ return new SyntaxCheckerSyntaxChecker( oid );
+ }
+ }
/**
* Creates a new instance of SyntaxCheckerSyntaxChecker.
+ *
+ * @param oid The OID to use for this SyntaxChecker
+ */
+ private SyntaxCheckerSyntaxChecker( String oid )
+ {
+ super( oid );
+ }
+
+
+ /**
+ * @return An instance of the Builder for this class
*/
- public SyntaxCheckerSyntaxChecker()
+ public static Builder builder()
{
- super( SchemaConstants.SYNTAX_CHECKER_SYNTAX );
+ return new Builder();
}
}
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/TelephoneNumberSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/TelephoneNumberSyntaxChecker.java?rev=1789429&r1=1789428&r2=1789429&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/TelephoneNumberSyntaxChecker.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/syntaxCheckers/TelephoneNumberSyntaxChecker.java Thu Mar 30 03:29:51 2017
@@ -20,8 +20,6 @@
package org.apache.directory.api.ldap.model.schema.syntaxCheckers;
-import java.util.ArrayList;
-import java.util.List;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
@@ -29,8 +27,6 @@ import org.apache.directory.api.i18n.I18
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
import org.apache.directory.api.util.Strings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -49,38 +45,75 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@SuppressWarnings("serial")
-public class TelephoneNumberSyntaxChecker extends SyntaxChecker
+public final class TelephoneNumberSyntaxChecker extends SyntaxChecker
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( TelephoneNumberSyntaxChecker.class );
-
- /** Other regexps to extend the initial one */
- private List<String> regexps;
-
- /** Other regexp to extend the initial one, compiled */
- private List<Pattern> compiledREs;
-
/** The default pattern used to check a TelephoneNumber */
private static final String DEFAULT_REGEXP = "^ *[+]? *((\\([0-9- ,;/#*]+\\))|[0-9- ,;/#*]+)+$";
+
+ /** The compiled default pattern */
+ private String defaultRegexp;
/** The compiled default pattern */
private Pattern defaultPattern = Pattern.compile( DEFAULT_REGEXP );
- /** A flag set when only the default regexp should be tested */
- protected boolean defaultMandatory = false;
-
/**
* A static instance of TelephoneNumberSyntaxChecker
*/
- public static final TelephoneNumberSyntaxChecker INSTANCE = new TelephoneNumberSyntaxChecker();
-
+ public static final TelephoneNumberSyntaxChecker INSTANCE =
+ new TelephoneNumberSyntaxChecker( SchemaConstants.TELEPHONE_NUMBER_SYNTAX );
/**
- * Creates a new instance of TelephoneNumberSyntaxChecker.
+ * A static Builder for this class
*/
- public TelephoneNumberSyntaxChecker()
+ public static final class Builder extends SCBuilder<TelephoneNumberSyntaxChecker>
{
- super( SchemaConstants.TELEPHONE_NUMBER_SYNTAX );
+ /** The compiled default pattern */
+ private String defaultRegexp;
+
+ /** The compiled default pattern */
+ private Pattern defaultPattern;
+
+ /**
+ * The Builder constructor
+ */
+ private Builder()
+ {
+ super( SchemaConstants.TELEPHONE_NUMBER_SYNTAX );
+ }
+
+
+ /**
+ * Create a new instance of TelephoneNumberSyntaxChecker
+ * @return A new instance of TelephoneNumberSyntaxChecker
+ */
+ @Override
+ public TelephoneNumberSyntaxChecker build()
+ {
+ return new TelephoneNumberSyntaxChecker( oid, defaultRegexp, defaultPattern );
+ }
+
+
+ /**
+ * Set the default regular expression for the Telephone number
+ *
+ * @param regexp the default regular expression.
+ */
+ public Builder setDefaultRegexp( String regexp )
+ {
+ defaultRegexp = regexp;
+
+ try
+ {
+ defaultPattern = Pattern.compile( regexp );
+ }
+ catch ( PatternSyntaxException pse )
+ {
+ // Roll back to the default pattern
+ defaultPattern = Pattern.compile( DEFAULT_REGEXP );
+ }
+
+ return this;
+ }
}
@@ -89,61 +122,51 @@ public class TelephoneNumberSyntaxChecke
*
* @param oid the child's OID
*/
- protected TelephoneNumberSyntaxChecker( String oid )
+ private TelephoneNumberSyntaxChecker( String oid )
{
super( oid );
}
-
+
/**
- * Add a new valid regexp for a Telephone number
- * @param regexp The new regexp to check
+ * Creates a new instance of a child of this class, with an OID.
+ *
+ * @param oid the child's OID
+ * @param defaultRegexp The regexp to use
+ * @param defaultPattern The compiled version of the regexp
*/
- public void addRegexp( String regexp )
+ private TelephoneNumberSyntaxChecker( String oid, String defaultRegexp, Pattern defaultPattern )
{
- if ( defaultMandatory )
- {
- return;
- }
-
- try
- {
- Pattern compiledRE = Pattern.compile( regexp );
-
- if ( regexps == null )
- {
- regexps = new ArrayList<>();
- compiledREs = new ArrayList<>();
- }
+ super( oid );
+
+ this.defaultPattern = defaultPattern;
+ this.defaultRegexp = defaultRegexp;
+ }
- regexps.add( regexp );
- compiledREs.add( compiledRE );
- }
- catch ( PatternSyntaxException pse )
- {
- return;
- }
+
+ /**
+ * @return An instance of the Builder for this class
+ */
+ public static Builder builder()
+ {
+ return new Builder();
}
/**
- * Set the defaut regular expression for the Telephone number
+ * Get the default regexp (either the original one, or the one that has been set)
*
- * @param regexp the default regular expression.
+ * @return The default regexp
*/
- public void setDefaultRegexp( String regexp )
+ public String getRegexp()
{
- try
+ if ( defaultRegexp == null )
{
- defaultPattern = Pattern.compile( regexp );
-
- defaultMandatory = true;
- regexps = null;
- compiledREs = null;
+ return DEFAULT_REGEXP;
}
- catch ( PatternSyntaxException pse )
+ else
{
- return;
+ return defaultRegexp;
}
}
@@ -158,7 +181,11 @@ public class TelephoneNumberSyntaxChecke
if ( value == null )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, "null" ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, "null" ) );
+ }
+
return false;
}
@@ -177,72 +204,35 @@ public class TelephoneNumberSyntaxChecke
if ( strValue.length() == 0 )
{
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ if ( LOG.isDebugEnabled() )
+ {
+ LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
+ }
+
return false;
}
// We will use a regexp to check the TelephoneNumber.
- if ( defaultMandatory )
+ boolean result;
+
+ // Not sure this is 100% necessary...
+ synchronized ( defaultPattern )
{
- // We have a unique regexp to check, the default one
- // We have to do that in a protected section
- boolean result;
-
- synchronized ( defaultPattern )
- {
- result = defaultPattern.matcher( strValue ).matches();
- }
-
- if ( result )
- {
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
- }
- else
- {
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
- }
-
- return result;
+ result = defaultPattern.matcher( strValue ).matches();
}
- else
+
+ if ( LOG.isDebugEnabled() )
{
- boolean result;
-
- synchronized ( defaultPattern )
- {
- result = defaultPattern.matcher( strValue ).matches();
- }
-
if ( result )
{
LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
- return true;
}
else
{
- if ( compiledREs == null )
- {
- LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
- return false;
- }
-
- synchronized ( compiledREs )
- {
- // The default is not enough, let's try
- // the other regexps
- for ( Pattern pattern : compiledREs )
- {
- if ( pattern.matcher( strValue ).matches() )
- {
- LOG.debug( I18n.msg( I18n.MSG_04490_SYNTAX_VALID, value ) );
- return true;
- }
- }
- }
-
LOG.debug( I18n.err( I18n.ERR_04489_SYNTAX_INVALID, value ) );
- return false;
}
}
+
+ return result;
}
}