NameState addPattern()

in src/main/software/amazon/event/ruler/ByteMachine.java [680:711]


    NameState addPattern(final Patterns pattern, final NameState nameState) {
        switch (pattern.type()) {
            case NUMERIC_RANGE:
                assert pattern instanceof Range;
                return addRangePattern((Range) pattern, nameState);
            case ANYTHING_BUT:
                assert pattern instanceof AnythingBut;
                return addAnythingButPattern((AnythingBut) pattern, nameState);
            case ANYTHING_BUT_IGNORE_CASE:
            case ANYTHING_BUT_SUFFIX:
            case ANYTHING_BUT_PREFIX:
            case ANYTHING_BUT_WILDCARD:
                assert pattern instanceof AnythingButValuesSet;
                return addAnythingButValuesSetPattern((AnythingButValuesSet) pattern, nameState);

            case EXACT:
            case NUMERIC_EQ:
            case PREFIX:
            case PREFIX_EQUALS_IGNORE_CASE:
            case SUFFIX:
            case SUFFIX_EQUALS_IGNORE_CASE:
            case EQUALS_IGNORE_CASE:
            case WILDCARD:
                assert pattern instanceof ValuePatterns;
                return addMatchPattern((ValuePatterns) pattern, nameState);

            case EXISTS:
                return addExistencePattern(pattern, nameState);
            default:
                throw new AssertionError(pattern + " is not implemented yet");
        }
    }