Moved html artifacts to corresponding packages
This commit is contained in:
		
							parent
							
								
									be484765da
								
							
						
					
					
						commit
						1bad514714
					
				@ -18,6 +18,7 @@ dependencies {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
afterEvaluate {
 | 
			
		||||
    generateDebugBuildConfig.enabled = false
 | 
			
		||||
    generateReleaseBuildConfig.enabled = false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
<manifest package="ru.noties.markwon.html" />
 | 
			
		||||
<manifest package="ru.noties.markwon.html.api" />
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package ru.noties.markwon.html;
 | 
			
		||||
package ru.noties.markwon.html.api;
 | 
			
		||||
 | 
			
		||||
import android.support.annotation.NonNull;
 | 
			
		||||
import android.support.annotation.Nullable;
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package ru.noties.markwon.html;
 | 
			
		||||
package ru.noties.markwon.html.api;
 | 
			
		||||
 | 
			
		||||
import android.support.annotation.NonNull;
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package ru.noties.markwon.html;
 | 
			
		||||
package ru.noties.markwon.html.api;
 | 
			
		||||
 | 
			
		||||
import android.support.annotation.NonNull;
 | 
			
		||||
 | 
			
		||||
@ -23,6 +23,7 @@ dependencies {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
afterEvaluate {
 | 
			
		||||
    generateDebugBuildConfig.enabled = false
 | 
			
		||||
    generateReleaseBuildConfig.enabled = false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
<manifest package="ru.noties.markwon.html" />
 | 
			
		||||
<manifest package="ru.noties.markwon.html.impl" />
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
package ru.noties.markwon.html;
 | 
			
		||||
package ru.noties.markwon.html.impl;
 | 
			
		||||
 | 
			
		||||
import android.support.annotation.NonNull;
 | 
			
		||||
import android.support.annotation.Nullable;
 | 
			
		||||
 | 
			
		||||
import ru.noties.markwon.html.jsoup.parser.Token;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.parser.Token;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * This class will be used to append some text to output in order to
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package ru.noties.markwon.html;
 | 
			
		||||
package ru.noties.markwon.html.impl;
 | 
			
		||||
 | 
			
		||||
import android.support.annotation.NonNull;
 | 
			
		||||
import android.support.annotation.Nullable;
 | 
			
		||||
@ -7,6 +7,8 @@ import java.util.Collections;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
import ru.noties.markwon.html.api.HtmlTag;
 | 
			
		||||
 | 
			
		||||
abstract class HtmlTagImpl implements HtmlTag {
 | 
			
		||||
 | 
			
		||||
    private static final int NO_VALUE = -1;
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package ru.noties.markwon.html;
 | 
			
		||||
package ru.noties.markwon.html.impl;
 | 
			
		||||
 | 
			
		||||
import android.support.annotation.NonNull;
 | 
			
		||||
import android.support.annotation.Nullable;
 | 
			
		||||
@ -14,16 +14,15 @@ import java.util.Locale;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
 | 
			
		||||
import ru.noties.markwon.html.HtmlTag.Block;
 | 
			
		||||
import ru.noties.markwon.html.HtmlTag.Inline;
 | 
			
		||||
import ru.noties.markwon.html.HtmlTagImpl.BlockImpl;
 | 
			
		||||
import ru.noties.markwon.html.HtmlTagImpl.InlineImpl;
 | 
			
		||||
import ru.noties.markwon.html.jsoup.nodes.Attribute;
 | 
			
		||||
import ru.noties.markwon.html.jsoup.nodes.Attributes;
 | 
			
		||||
import ru.noties.markwon.html.jsoup.parser.CharacterReader;
 | 
			
		||||
import ru.noties.markwon.html.jsoup.parser.ParseErrorList;
 | 
			
		||||
import ru.noties.markwon.html.jsoup.parser.Token;
 | 
			
		||||
import ru.noties.markwon.html.jsoup.parser.Tokeniser;
 | 
			
		||||
import ru.noties.markwon.html.api.HtmlTag.Block;
 | 
			
		||||
import ru.noties.markwon.html.api.HtmlTag.Inline;
 | 
			
		||||
import ru.noties.markwon.html.api.MarkwonHtmlParser;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.nodes.Attribute;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.nodes.Attributes;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.parser.CharacterReader;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.parser.ParseErrorList;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.parser.Token;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.parser.Tokeniser;
 | 
			
		||||
 | 
			
		||||
public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
 | 
			
		||||
 | 
			
		||||
@ -108,9 +107,9 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
 | 
			
		||||
 | 
			
		||||
    private final HtmlEmptyTagReplacement emptyTagReplacement;
 | 
			
		||||
 | 
			
		||||
    private final List<InlineImpl> inlineTags = new ArrayList<>(0);
 | 
			
		||||
    private final List<HtmlTagImpl.InlineImpl> inlineTags = new ArrayList<>(0);
 | 
			
		||||
 | 
			
		||||
    private BlockImpl currentBlock = BlockImpl.root();
 | 
			
		||||
    private HtmlTagImpl.BlockImpl currentBlock = HtmlTagImpl.BlockImpl.root();
 | 
			
		||||
 | 
			
		||||
    MarkwonHtmlParserImpl(@NonNull HtmlEmptyTagReplacement replacement) {
 | 
			
		||||
        this.emptyTagReplacement = replacement;
 | 
			
		||||
@ -174,7 +173,7 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
 | 
			
		||||
    @Override
 | 
			
		||||
    public void flushInlineTags(int documentLength, @NonNull FlushAction<Inline> action) {
 | 
			
		||||
        if (inlineTags.size() > 0) {
 | 
			
		||||
            for (InlineImpl inline : inlineTags) {
 | 
			
		||||
            for (HtmlTagImpl.InlineImpl inline : inlineTags) {
 | 
			
		||||
                inline.closeAt(documentLength);
 | 
			
		||||
            }
 | 
			
		||||
            //noinspection unchecked
 | 
			
		||||
@ -186,7 +185,7 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
 | 
			
		||||
    @Override
 | 
			
		||||
    public void flushBlockTags(int documentLength, @NonNull FlushAction<Block> action) {
 | 
			
		||||
 | 
			
		||||
        BlockImpl block = currentBlock;
 | 
			
		||||
        HtmlTagImpl.BlockImpl block = currentBlock;
 | 
			
		||||
        while (!block.isRoot()) {
 | 
			
		||||
            block = block.parent;
 | 
			
		||||
        }
 | 
			
		||||
@ -198,13 +197,13 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
 | 
			
		||||
            action.apply(children);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        currentBlock = BlockImpl.root();
 | 
			
		||||
        currentBlock = HtmlTagImpl.BlockImpl.root();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void reset() {
 | 
			
		||||
        inlineTags.clear();
 | 
			
		||||
        currentBlock = BlockImpl.root();
 | 
			
		||||
        currentBlock = HtmlTagImpl.BlockImpl.root();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -214,7 +213,7 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
 | 
			
		||||
 | 
			
		||||
        final String name = startTag.normalName;
 | 
			
		||||
 | 
			
		||||
        final InlineImpl inline = new InlineImpl(name, output.length(), extractAttributes(startTag));
 | 
			
		||||
        final HtmlTagImpl.InlineImpl inline = new HtmlTagImpl.InlineImpl(name, output.length(), extractAttributes(startTag));
 | 
			
		||||
 | 
			
		||||
        if (isVoidTag(name)
 | 
			
		||||
                || startTag.selfClosing) {
 | 
			
		||||
@ -239,7 +238,7 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
 | 
			
		||||
            @NonNull Token.EndTag endTag) {
 | 
			
		||||
 | 
			
		||||
        // try to find it, if none found -> ignore
 | 
			
		||||
        final InlineImpl openInline = findOpenInlineTag(endTag.normalName);
 | 
			
		||||
        final HtmlTagImpl.InlineImpl openInline = findOpenInlineTag(endTag.normalName);
 | 
			
		||||
        if (openInline != null) {
 | 
			
		||||
            // close open inline tag
 | 
			
		||||
            openInline.closeAt(output.length());
 | 
			
		||||
@ -276,7 +275,7 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
 | 
			
		||||
 | 
			
		||||
        final int start = output.length();
 | 
			
		||||
 | 
			
		||||
        final BlockImpl block = BlockImpl.create(name, start, extractAttributes(startTag), currentBlock);
 | 
			
		||||
        final HtmlTagImpl.BlockImpl block = HtmlTagImpl.BlockImpl.create(name, start, extractAttributes(startTag), currentBlock);
 | 
			
		||||
 | 
			
		||||
        final boolean isVoid = isVoidTag(name) || startTag.selfClosing;
 | 
			
		||||
        if (isVoid) {
 | 
			
		||||
@ -303,7 +302,7 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
 | 
			
		||||
 | 
			
		||||
        final String name = endTag.normalName;
 | 
			
		||||
 | 
			
		||||
        final BlockImpl block = findOpenBlockTag(endTag.normalName);
 | 
			
		||||
        final HtmlTagImpl.BlockImpl block = findOpenBlockTag(endTag.normalName);
 | 
			
		||||
        if (block != null) {
 | 
			
		||||
 | 
			
		||||
            block.closeAt(output.length());
 | 
			
		||||
@ -334,8 +333,8 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
 | 
			
		||||
        append(output, character.getData());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected void appendBlockChild(@NonNull BlockImpl parent, @NonNull BlockImpl child) {
 | 
			
		||||
        List<BlockImpl> children = parent.children;
 | 
			
		||||
    protected void appendBlockChild(@NonNull HtmlTagImpl.BlockImpl parent, @NonNull HtmlTagImpl.BlockImpl child) {
 | 
			
		||||
        List<HtmlTagImpl.BlockImpl> children = parent.children;
 | 
			
		||||
        if (children == null) {
 | 
			
		||||
            children = new ArrayList<>(2);
 | 
			
		||||
            parent.children = children;
 | 
			
		||||
@ -344,9 +343,9 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Nullable
 | 
			
		||||
    protected InlineImpl findOpenInlineTag(@NonNull String name) {
 | 
			
		||||
    protected HtmlTagImpl.InlineImpl findOpenInlineTag(@NonNull String name) {
 | 
			
		||||
 | 
			
		||||
        InlineImpl inline;
 | 
			
		||||
        HtmlTagImpl.InlineImpl inline;
 | 
			
		||||
 | 
			
		||||
        for (int i = inlineTags.size() - 1; i > -1; i--) {
 | 
			
		||||
            inline = inlineTags.get(i);
 | 
			
		||||
@ -360,9 +359,9 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Nullable
 | 
			
		||||
    protected BlockImpl findOpenBlockTag(@NonNull String name) {
 | 
			
		||||
    protected HtmlTagImpl.BlockImpl findOpenBlockTag(@NonNull String name) {
 | 
			
		||||
 | 
			
		||||
        BlockImpl blockTag = currentBlock;
 | 
			
		||||
        HtmlTagImpl.BlockImpl blockTag = currentBlock;
 | 
			
		||||
 | 
			
		||||
        while (blockTag != null
 | 
			
		||||
                && !name.equals(blockTag.name) && !blockTag.isClosed()) {
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package ru.noties.markwon.html.jsoup;
 | 
			
		||||
package ru.noties.markwon.html.impl.jsoup;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package ru.noties.markwon.html.jsoup.helper;
 | 
			
		||||
package ru.noties.markwon.html.impl.jsoup.helper;
 | 
			
		||||
 | 
			
		||||
import java.util.Locale;
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package ru.noties.markwon.html.jsoup.helper;
 | 
			
		||||
package ru.noties.markwon.html.impl.jsoup.helper;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Simple validation methods. Designed for jsoup internal use
 | 
			
		||||
@ -1,8 +1,8 @@
 | 
			
		||||
package ru.noties.markwon.html.jsoup.nodes;
 | 
			
		||||
package ru.noties.markwon.html.impl.jsoup.nodes;
 | 
			
		||||
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
import ru.noties.markwon.html.jsoup.helper.Validate;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.helper.Validate;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 A single key + value attribute. (Only used for presentation.)
 | 
			
		||||
@ -1,18 +1,14 @@
 | 
			
		||||
package ru.noties.markwon.html.jsoup.nodes;
 | 
			
		||||
package ru.noties.markwon.html.impl.jsoup.nodes;
 | 
			
		||||
 | 
			
		||||
import java.util.AbstractMap;
 | 
			
		||||
import java.util.AbstractSet;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.Arrays;
 | 
			
		||||
import java.util.Collections;
 | 
			
		||||
import java.util.Iterator;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
 | 
			
		||||
import ru.noties.markwon.html.jsoup.helper.Validate;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.helper.Validate;
 | 
			
		||||
 | 
			
		||||
import static ru.noties.markwon.html.jsoup.helper.Normalizer.lowerCase;
 | 
			
		||||
import static ru.noties.markwon.html.impl.jsoup.helper.Normalizer.lowerCase;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * The attributes of an Element.
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package ru.noties.markwon.html.jsoup.nodes;
 | 
			
		||||
package ru.noties.markwon.html.impl.jsoup.nodes;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * A {@code <!DOCTYPE>} node.
 | 
			
		||||
@ -1,14 +1,14 @@
 | 
			
		||||
package ru.noties.markwon.html.jsoup.nodes;
 | 
			
		||||
package ru.noties.markwon.html.impl.jsoup.nodes;
 | 
			
		||||
 | 
			
		||||
import java.nio.charset.CharsetEncoder;
 | 
			
		||||
import java.util.Arrays;
 | 
			
		||||
import java.util.HashMap;
 | 
			
		||||
 | 
			
		||||
import ru.noties.markwon.html.jsoup.helper.Validate;
 | 
			
		||||
import ru.noties.markwon.html.jsoup.parser.CharacterReader;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.helper.Validate;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.parser.CharacterReader;
 | 
			
		||||
 | 
			
		||||
import static ru.noties.markwon.html.jsoup.nodes.Entities.EscapeMode.base;
 | 
			
		||||
import static ru.noties.markwon.html.jsoup.nodes.Entities.EscapeMode.extended;
 | 
			
		||||
import static ru.noties.markwon.html.impl.jsoup.nodes.Entities.EscapeMode.base;
 | 
			
		||||
import static ru.noties.markwon.html.impl.jsoup.nodes.Entities.EscapeMode.extended;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * HTML entities, and escape routines. Source: <a href="http://www.w3.org/TR/html5/named-character-references.html#named-character-references">W3C
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package ru.noties.markwon.html.jsoup.nodes;
 | 
			
		||||
package ru.noties.markwon.html.impl.jsoup.nodes;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Holds packed data that represents Entity name=value pairs. Parsed by Entities, created by BuildEntities.
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package ru.noties.markwon.html.jsoup.parser;
 | 
			
		||||
package ru.noties.markwon.html.impl.jsoup.parser;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.Reader;
 | 
			
		||||
@ -6,8 +6,8 @@ import java.io.StringReader;
 | 
			
		||||
import java.util.Arrays;
 | 
			
		||||
import java.util.Locale;
 | 
			
		||||
 | 
			
		||||
import ru.noties.markwon.html.jsoup.UncheckedIOException;
 | 
			
		||||
import ru.noties.markwon.html.jsoup.helper.Validate;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.UncheckedIOException;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.helper.Validate;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 CharacterReader consumes tokens off a string. Used internally by jsoup. API subject to changes.
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package ru.noties.markwon.html.jsoup.parser;
 | 
			
		||||
package ru.noties.markwon.html.impl.jsoup.parser;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * A Parse Error records an error in the input HTML that occurs in either the tokenisation or the tree building phase.
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package ru.noties.markwon.html.jsoup.parser;
 | 
			
		||||
package ru.noties.markwon.html.impl.jsoup.parser;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
 | 
			
		||||
@ -1,11 +1,11 @@
 | 
			
		||||
package ru.noties.markwon.html.jsoup.parser;
 | 
			
		||||
package ru.noties.markwon.html.impl.jsoup.parser;
 | 
			
		||||
 | 
			
		||||
import android.support.annotation.NonNull;
 | 
			
		||||
 | 
			
		||||
import ru.noties.markwon.html.jsoup.helper.Validate;
 | 
			
		||||
import ru.noties.markwon.html.jsoup.nodes.Attributes;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.helper.Validate;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.nodes.Attributes;
 | 
			
		||||
 | 
			
		||||
import static ru.noties.markwon.html.jsoup.helper.Normalizer.lowerCase;
 | 
			
		||||
import static ru.noties.markwon.html.impl.jsoup.helper.Normalizer.lowerCase;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Parse tokens for the Tokeniser.
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
package ru.noties.markwon.html.jsoup.parser;
 | 
			
		||||
package ru.noties.markwon.html.impl.jsoup.parser;
 | 
			
		||||
 | 
			
		||||
import java.util.Arrays;
 | 
			
		||||
 | 
			
		||||
import ru.noties.markwon.html.jsoup.helper.Validate;
 | 
			
		||||
import ru.noties.markwon.html.jsoup.nodes.Entities;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.helper.Validate;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.nodes.Entities;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Readers the input stream into tokens.
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
package ru.noties.markwon.html.jsoup.parser;
 | 
			
		||||
package ru.noties.markwon.html.impl.jsoup.parser;
 | 
			
		||||
 | 
			
		||||
import ru.noties.markwon.html.jsoup.nodes.DocumentType;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.nodes.DocumentType;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * States and transition activations for the Tokeniser.
 | 
			
		||||
@ -14,7 +14,11 @@ import java.util.HashSet;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
 | 
			
		||||
import ru.noties.markwon.html.jsoup.parser.Token;
 | 
			
		||||
import ru.noties.markwon.html.api.HtmlTag;
 | 
			
		||||
import ru.noties.markwon.html.api.MarkwonHtmlParser;
 | 
			
		||||
import ru.noties.markwon.html.impl.HtmlEmptyTagReplacement;
 | 
			
		||||
import ru.noties.markwon.html.impl.MarkwonHtmlParserImpl;
 | 
			
		||||
import ru.noties.markwon.html.impl.jsoup.parser.Token;
 | 
			
		||||
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
import static org.junit.Assert.assertTrue;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user