FactoryBuilderNoDefaults abstraction
This commit is contained in:
parent
efa3473cfb
commit
00d60e2399
@ -55,19 +55,11 @@ public class MarkwonInlineParser implements InlineParser, MarkwonInlineParserCon
|
|||||||
FactoryBuilder addDelimiterProcessor(@NonNull DelimiterProcessor processor);
|
FactoryBuilder addDelimiterProcessor(@NonNull DelimiterProcessor processor);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicate if markdown references are enabled. {@code referencesEnabled=true} if {@link #includeDefaults()}
|
* Indicate if markdown references are enabled. By default = `true`
|
||||||
* was called
|
|
||||||
*/
|
*/
|
||||||
@NonNull
|
@NonNull
|
||||||
FactoryBuilder referencesEnabled(boolean referencesEnabled);
|
FactoryBuilder referencesEnabled(boolean referencesEnabled);
|
||||||
|
|
||||||
/**
|
|
||||||
* Includes all default delimiter and inline processors, and sets {@code referencesEnabled=true}.
|
|
||||||
* Useful with subsequent calls to {@link #excludeInlineProcessor(Class)} or {@link #excludeDelimiterProcessor(Class)}
|
|
||||||
*/
|
|
||||||
@NonNull
|
|
||||||
FactoryBuilder includeDefaults();
|
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
FactoryBuilder excludeInlineProcessor(@NonNull Class<? extends InlineProcessor> processor);
|
FactoryBuilder excludeInlineProcessor(@NonNull Class<? extends InlineProcessor> processor);
|
||||||
|
|
||||||
@ -78,6 +70,15 @@ public class MarkwonInlineParser implements InlineParser, MarkwonInlineParserCon
|
|||||||
InlineParserFactory build();
|
InlineParserFactory build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public interface FactoryBuilderNoDefaults extends FactoryBuilder {
|
||||||
|
/**
|
||||||
|
* Includes all default delimiter and inline processors, and sets {@code referencesEnabled=true}.
|
||||||
|
* Useful with subsequent calls to {@link #excludeInlineProcessor(Class)} or {@link #excludeDelimiterProcessor(Class)}
|
||||||
|
*/
|
||||||
|
@NonNull
|
||||||
|
FactoryBuilder includeDefaults();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an instance of {@link FactoryBuilder} and includes all defaults.
|
* Creates an instance of {@link FactoryBuilder} and includes all defaults.
|
||||||
*
|
*
|
||||||
@ -89,12 +90,12 @@ public class MarkwonInlineParser implements InlineParser, MarkwonInlineParserCon
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* NB, this return an <em>empty</em> builder, so if no {@link FactoryBuilder#includeDefaults()}
|
* NB, this return an <em>empty</em> builder, so if no {@link FactoryBuilderNoDefaults#includeDefaults()}
|
||||||
* is called, it means effectively <strong>no inline parsing</strong> (unless further calls
|
* is called, it means effectively <strong>no inline parsing</strong> (unless further calls
|
||||||
* to {@link FactoryBuilder#addInlineProcessor(InlineProcessor)} or {@link FactoryBuilder#addDelimiterProcessor(DelimiterProcessor)}).
|
* to {@link FactoryBuilder#addInlineProcessor(InlineProcessor)} or {@link FactoryBuilder#addDelimiterProcessor(DelimiterProcessor)}).
|
||||||
*/
|
*/
|
||||||
@NonNull
|
@NonNull
|
||||||
public static FactoryBuilder factoryBuilderNoDefaults() {
|
public static FactoryBuilderNoDefaults factoryBuilderNoDefaults() {
|
||||||
return new FactoryBuilderImpl();
|
return new FactoryBuilderImpl();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -701,7 +702,7 @@ public class MarkwonInlineParser implements InlineParser, MarkwonInlineParserCon
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static class FactoryBuilderImpl implements FactoryBuilder {
|
static class FactoryBuilderImpl implements FactoryBuilder, FactoryBuilderNoDefaults {
|
||||||
|
|
||||||
private final List<InlineProcessor> inlineProcessors = new ArrayList<>(3);
|
private final List<InlineProcessor> inlineProcessors = new ArrayList<>(3);
|
||||||
private final List<DelimiterProcessor> delimiterProcessors = new ArrayList<>(3);
|
private final List<DelimiterProcessor> delimiterProcessors = new ArrayList<>(3);
|
||||||
|
@ -177,7 +177,6 @@ public class EditorActivity extends Activity {
|
|||||||
editText.setMovementMethod(LinkMovementMethod.getInstance());
|
editText.setMovementMethod(LinkMovementMethod.getInstance());
|
||||||
|
|
||||||
final InlineParserFactory inlineParserFactory = MarkwonInlineParser.factoryBuilder()
|
final InlineParserFactory inlineParserFactory = MarkwonInlineParser.factoryBuilder()
|
||||||
.includeDefaults()
|
|
||||||
// no inline images will be parsed
|
// no inline images will be parsed
|
||||||
.excludeInlineProcessor(BangInlineProcessor.class)
|
.excludeInlineProcessor(BangInlineProcessor.class)
|
||||||
// no html tags will be parsed
|
// no html tags will be parsed
|
||||||
|
Loading…
x
Reference in New Issue
Block a user