Package com.ongres.stringprep
Interface Profile
- All Known Implementing Classes:
SASLprep
public interface Profile
The
Profile interface is used to define stringprep profiles in order to fully specify the
processing options.
Stringprep profiles can also exclude characters that should not normally appear in text that is used in the protocol. The profile can prevent such characters by changing the characters to be excluded to other characters, by removing those characters, or by causing an error if the characters would appear in the output.
- Since:
- 2.0
-
Method Summary
Modifier and TypeMethodDescriptiondefault int[]additionalMappingTable(int codePoint) Any additional mapping tables specific to the profile.default char[]prepareQuery(char[] string) "Queries" are strings that are used to match against strings that are stored identifiers, such as user-entered names for digital certificate authorities and DNS lookups.default StringprepareQuery(String string) "Queries" are strings that are used to match against strings that are stored identifiers, such as user-entered names for digital certificate authorities and DNS lookups.default char[]prepareStored(char[] string) "Stored strings" are strings that are used in protocol identifiers and named entities, such as names in digital certificates and DNS domain name parts.default StringprepareStored(String string) "Stored strings" are strings that are used in protocol identifiers and named entities, such as names in digital certificates and DNS domain name parts.profile()Set of options used by the profile.default booleanprohibitedAdditionalCharacters(int codePoint) Any additional characters that are prohibited as output specific to the profile.
-
Method Details
-
profile
Set of options used by the profile.- Returns:
- profile options.
-
prepareQuery
default char[] prepareQuery(char[] string) "Queries" are strings that are used to match against strings that are stored identifiers, such as user-entered names for digital certificate authorities and DNS lookups.- Parameters:
string- to prepare based on a "stringprep" profile.- Returns:
- The prepared String.
- Throws:
IllegalArgumentException- if there is a prohibited output.- Since:
- 2.1
- Implementation Note:
- The default method sets the storedStrings Stringprep parameter to
false, as "queries" MAY include unassigned code points. This method should not necessarily be overridden by implementations.
-
prepareQuery
"Queries" are strings that are used to match against strings that are stored identifiers, such as user-entered names for digital certificate authorities and DNS lookups.- Parameters:
string- to prepare based on a "stringprep" profile.- Returns:
- The prepared String.
- Throws:
IllegalArgumentException- if there is a prohibited output.- Implementation Note:
- The default method sets the storedStrings Stringprep parameter to
false, as "queries" MAY include unassigned code points. This method should not necessarily be overridden by implementations.
-
prepareStored
default char[] prepareStored(char[] string) "Stored strings" are strings that are used in protocol identifiers and named entities, such as names in digital certificates and DNS domain name parts.- Parameters:
string- to prepare based on a "stringprep" profile.- Returns:
- The prepared String.
- Throws:
IllegalArgumentException- if there is a prohibited output.- Since:
- 2.1
- Implementation Note:
- The default method sets the storedStrings Stringprep parameter to
true, as "stored strings" MUST NOT contain unassigned code points. This method should not necessarily be overridden by implementations.
-
prepareStored
"Stored strings" are strings that are used in protocol identifiers and named entities, such as names in digital certificates and DNS domain name parts.- Parameters:
string- to prepare based on a "stringprep" profile.- Returns:
- The prepared String.
- Throws:
IllegalArgumentException- if there is a prohibited output.- Implementation Note:
- The default method sets the storedStrings Stringprep parameter to
true, as "stored strings" MUST NOT contain unassigned code points. This method should not necessarily be overridden by implementations.
-
additionalMappingTable
default int[] additionalMappingTable(int codePoint) Any additional mapping tables specific to the profile.- Parameters:
codePoint- the character (Unicode code point) to be mapped.- Returns:
- Mapping with the int[] array or with the same codePoint.
- Implementation Requirements:
- Profiles that requires additional mapping tables must implement this method. A code
point match return the mapped array with the new code points or if there is no match,
it should return the same input code point as
new int[] {codePoint};. Implementations MUST also setOption.ADDITIONAL_MAPPINGto enable the proccesing of this rule. - Implementation Note:
- The default implementation always return the same code point mapping (
new int[] {codePoint}), no change is done to the code point.
-
prohibitedAdditionalCharacters
default boolean prohibitedAdditionalCharacters(int codePoint) Any additional characters that are prohibited as output specific to the profile.- Parameters:
codePoint- the character (Unicode code point) to be tested.- Returns:
trueif the givencodePointis prohibited on this profile.- Implementation Requirements:
- Profiles that prohibit additional characters must implement this method. A code point
match return
true, or if the code point should not be prohibited it should returnfalse. Implementations MUST also setOption.FORBID_ADDITIONAL_CHARACTERSto enable the proccesing of this rule. - Implementation Note:
- The default implementation always return
false, all characters are accepted.
-