diff --git a/src/Umbraco.Core/StringAliasCaseType.cs b/src/Umbraco.Core/StringAliasCaseType.cs
index 420c504897..524d1a5a78 100644
--- a/src/Umbraco.Core/StringAliasCaseType.cs
+++ b/src/Umbraco.Core/StringAliasCaseType.cs
@@ -1,5 +1,8 @@
+using Umbraco.Core.CodeAnnotations;
+
namespace Umbraco.Core
{
+ [UmbracoWillObsolete("This enumeration should be removed. Use Umbraco.Core.Strings.CleanStringType instead.")]
public enum StringAliasCaseType
{
PascalCase,
diff --git a/src/Umbraco.Core/Strings/DefaultShortStringHelper.cs b/src/Umbraco.Core/Strings/DefaultShortStringHelper.cs
index 511fb2fdd1..af0bcbbaf3 100644
--- a/src/Umbraco.Core/Strings/DefaultShortStringHelper.cs
+++ b/src/Umbraco.Core/Strings/DefaultShortStringHelper.cs
@@ -16,7 +16,7 @@ namespace Umbraco.Core.Strings
/// Full-unicode support is probably not so good.
/// NOTE: pre-filters run _before_ the string is re-encoded.
///
- internal class DefaultShortStringHelper : IShortStringHelper
+ public class DefaultShortStringHelper : IShortStringHelper
{
#region Ctor and vars
@@ -200,7 +200,7 @@ function validateSafeAlias(id, value, immediate, callback) {{
/// The string will be cleaned in the context of the default culture.
/// Safe aliases are Ascii only.
///
- public string CleanStringForSafeAlias(string text)
+ public virtual string CleanStringForSafeAlias(string text)
{
return CleanString(text, CleanStringType.Ascii | CleanStringType.CamelCase | CleanStringType.Alias);
}
@@ -214,7 +214,7 @@ function validateSafeAlias(id, value, immediate, callback) {{
///
/// Safe aliases are Ascii only.
///
- public string CleanStringForSafeAlias(string text, CultureInfo culture)
+ public virtual string CleanStringForSafeAlias(string text, CultureInfo culture)
{
return CleanString(text, CleanStringType.Ascii | CleanStringType.CamelCase | CleanStringType.Alias, culture);
}
@@ -228,7 +228,7 @@ function validateSafeAlias(id, value, immediate, callback) {{
/// The string will be cleaned in the context of the default culture.
/// Url segments are Ascii only (no accents...).
///
- public string CleanStringForUrlSegment(string text)
+ public virtual string CleanStringForUrlSegment(string text)
{
return CleanString(text, CleanStringType.Ascii | CleanStringType.LowerCase | CleanStringType.Url, '-');
}
@@ -242,7 +242,7 @@ function validateSafeAlias(id, value, immediate, callback) {{
///
/// Url segments are Ascii only (no accents...).
///
- public string CleanStringForUrlSegment(string text, CultureInfo culture)
+ public virtual string CleanStringForUrlSegment(string text, CultureInfo culture)
{
return CleanString(text, CleanStringType.Ascii | CleanStringType.LowerCase | CleanStringType.Url, '-', culture);
}
@@ -365,7 +365,7 @@ function validateSafeAlias(id, value, immediate, callback) {{
/// The separator.
/// The culture.
/// The clean string.
- public string CleanString(string text, CleanStringType stringType, char separator, CultureInfo culture)
+ public virtual string CleanString(string text, CleanStringType stringType, char separator, CultureInfo culture)
{
var config = GetConfig(stringType & CleanStringType.RoleMask, culture);
return CleanString(text, stringType, separator, culture, config);
@@ -801,7 +801,7 @@ function validateSafeAlias(id, value, immediate, callback) {{
/// The separator, which defaults to a whitespace.
/// The splitted text.
/// Supports Utf8 and Ascii strings, not Unicode strings.
- public string SplitPascalCasing(string text, char separator)
+ public virtual string SplitPascalCasing(string text, char separator)
{
// be safe
if (text == null)
@@ -855,7 +855,7 @@ function validateSafeAlias(id, value, immediate, callback) {{
/// The filtered string.
/// If is not Unicode then non-utf8 characters are
/// removed. If it is Ascii we try to do some intelligent replacement of accents, etc.
- public string Recode(string text, CleanStringType stringType)
+ public virtual string Recode(string text, CleanStringType stringType)
{
// be safe
if (text == null)
@@ -902,7 +902,7 @@ function validateSafeAlias(id, value, immediate, callback) {{
/// The string to filter.
/// The replacements definition.
/// The filtered string.
- public string ReplaceMany(string text, IDictionary replacements)
+ public virtual string ReplaceMany(string text, IDictionary replacements)
{
// be safe
if (text == null)
diff --git a/src/Umbraco.Core/Strings/DefaultUrlSegmentProvider.cs b/src/Umbraco.Core/Strings/DefaultUrlSegmentProvider.cs
index 03749f26dc..d2e47e04b4 100644
--- a/src/Umbraco.Core/Strings/DefaultUrlSegmentProvider.cs
+++ b/src/Umbraco.Core/Strings/DefaultUrlSegmentProvider.cs
@@ -6,7 +6,7 @@ namespace Umbraco.Core.Strings
///
/// Default implementation of IUrlSegmentProvider.
///
- internal class DefaultUrlSegmentProvider : IUrlSegmentProvider
+ public class DefaultUrlSegmentProvider : IUrlSegmentProvider
{
///
/// Gets the default url segment for a specified content.
diff --git a/src/Umbraco.Core/Strings/IShortStringHelper.cs b/src/Umbraco.Core/Strings/IShortStringHelper.cs
index 478e57298d..d415bdba4d 100644
--- a/src/Umbraco.Core/Strings/IShortStringHelper.cs
+++ b/src/Umbraco.Core/Strings/IShortStringHelper.cs
@@ -7,7 +7,7 @@ namespace Umbraco.Core.Strings
/// Provides string functions for short strings such as aliases or url segments.
///
/// Not necessarily optimized to work on large bodies of text.
- internal interface IShortStringHelper
+ public interface IShortStringHelper
{
///
/// Freezes the helper so it can prevents its configuration from being modified.
diff --git a/src/Umbraco.Core/Strings/IUrlSegmentProvider.cs b/src/Umbraco.Core/Strings/IUrlSegmentProvider.cs
index b448db6c02..dc3f4243e7 100644
--- a/src/Umbraco.Core/Strings/IUrlSegmentProvider.cs
+++ b/src/Umbraco.Core/Strings/IUrlSegmentProvider.cs
@@ -7,7 +7,7 @@ namespace Umbraco.Core.Strings
/// Provides url segments for content.
///
/// Url segments should comply with IETF RFCs regarding content, encoding, etc.
- internal interface IUrlSegmentProvider
+ public interface IUrlSegmentProvider
{
///
/// Gets the default url segment for a specified content.
diff --git a/src/Umbraco.Core/Strings/ShortStringHelperResolver.cs b/src/Umbraco.Core/Strings/ShortStringHelperResolver.cs
index 6725078359..2ad40342a6 100644
--- a/src/Umbraco.Core/Strings/ShortStringHelperResolver.cs
+++ b/src/Umbraco.Core/Strings/ShortStringHelperResolver.cs
@@ -5,7 +5,7 @@ namespace Umbraco.Core.Strings
///
/// Resolves the IShortStringHelper object
///
- internal sealed class ShortStringHelperResolver : SingleObjectResolverBase
+ public sealed class ShortStringHelperResolver : SingleObjectResolverBase
{
///
/// Initializes a new instance of the class with an instance of a helper.
diff --git a/src/Umbraco.Core/Strings/StringAliasCaseTypeExtensions.cs b/src/Umbraco.Core/Strings/StringAliasCaseTypeExtensions.cs
index 40f799922a..22fa20eea6 100644
--- a/src/Umbraco.Core/Strings/StringAliasCaseTypeExtensions.cs
+++ b/src/Umbraco.Core/Strings/StringAliasCaseTypeExtensions.cs
@@ -3,7 +3,7 @@
///
/// Provides extension methods to StringAliasCaseType to facilitate migration to CleanStringType.
///
- internal static class StringAliasCaseTypeExtensions
+ public static class StringAliasCaseTypeExtensions
{
///
/// Gets the CleanStringType value corresponding to the StringAliasCaseType value.
diff --git a/src/Umbraco.Core/Strings/UrlSegmentProviderResolver.cs b/src/Umbraco.Core/Strings/UrlSegmentProviderResolver.cs
index c302b01502..f545cd8b86 100644
--- a/src/Umbraco.Core/Strings/UrlSegmentProviderResolver.cs
+++ b/src/Umbraco.Core/Strings/UrlSegmentProviderResolver.cs
@@ -7,7 +7,7 @@ namespace Umbraco.Core.Strings
///
/// Resolves IUrlSegmentProvider objects.
///
- internal sealed class UrlSegmentProviderResolver : ManyObjectsResolverBase
+ public sealed class UrlSegmentProviderResolver : ManyObjectsResolverBase
{
///
/// Initializes a new instance of the class with an initial list of provider types.