All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.brightsparklabs.asanti.validator.ValidationVisitor Maven / Gradle / Ivy

There is a newer version: 4.8.0
Show newest version
/*
 * Maintained by brightSPARK Labs.
 * www.brightsparklabs.com
 *
 * Refer to LICENSE at repository root for license details.
 */

package com.brightsparklabs.asanti.validator;

import com.brightsparklabs.asanti.schema.AsnPrimitiveType;
import com.brightsparklabs.asanti.schema.AsnPrimitiveTypeVisitor;
import com.brightsparklabs.asanti.validator.builtin.*;

/**
 * Visitor that visits {@link AsnPrimitiveTypeVisitor} objects and returns the most appropriate
 * {@link com.brightsparklabs.asanti.validator.ValidationRule} pertaining to it.
 *
 * @author brightSPARK Labs
 */
public class ValidationVisitor implements AsnPrimitiveTypeVisitor {
    // -------------------------------------------------------------------------
    // IMPLEMENTATION: AsnPrimitiveType.Visitor
    // -------------------------------------------------------------------------

    @Override
    public BuiltinTypeValidator.Null visit(AsnPrimitiveType.Invalid visitable) {
        return BuiltinTypeValidator.NULL;
    }

    @Override
    public BitStringValidator visit(AsnPrimitiveType.BitString visitable) {
        return BitStringValidator.getInstance();
    }

    @Override
    public BuiltinTypeValidator visit(AsnPrimitiveType.BmpString visitable) {
        // TODO - ASN-105
        return BuiltinTypeValidator.NULL;
    }

    @Override
    public BooleanValidator visit(AsnPrimitiveType.Boolean visitable) {
        return BooleanValidator.getInstance();
    }

    @Override
    public BuiltinTypeValidator visit(AsnPrimitiveType.CharacterString visitable) {
        // TODO - ASN-105
        return BuiltinTypeValidator.NULL;
    }

    @Override
    public BuiltinTypeValidator visit(AsnPrimitiveType.Choice visitable) {
        // TODO ASN-113
        return BuiltinTypeValidator.NULL;
    }

    @Override
    public BuiltinTypeValidator visit(AsnPrimitiveType.EmbeddedPdv visitable) {
        // TODO - ASN-105
        return BuiltinTypeValidator.NULL;
    }

    @Override
    public EnumeratedValidator visit(AsnPrimitiveType.Enumerated visitable) {
        return EnumeratedValidator.getInstance();
    }

    @Override
    public GeneralizedTimeValidator visit(AsnPrimitiveType.GeneralizedTime visitable) {
        return GeneralizedTimeValidator.getInstance();
    }

    @Override
    public GeneralStringValidator visit(AsnPrimitiveType.GeneralString visitable) {
        return GeneralStringValidator.getInstance();
    }

    @Override
    public BuiltinTypeValidator.Null visit(AsnPrimitiveType.GraphicString visitable) {
        // TODO ASN-105
        return BuiltinTypeValidator.NULL;
    }

    @Override
    public Ia5StringValidator visit(AsnPrimitiveType.IA5String visitable) {
        return Ia5StringValidator.getInstance();
    }

    @Override
    public IntegerValidator visit(AsnPrimitiveType.Integer visitable) {
        return IntegerValidator.getInstance();
    }

    @Override
    public NullValidator visit(AsnPrimitiveType.Null visitable) {
        return NullValidator.getInstance();
    }

    @Override
    public NumericStringValidator visit(AsnPrimitiveType.NumericString visitable) {
        return NumericStringValidator.getInstance();
    }

    @Override
    public BuiltinTypeValidator visit(AsnPrimitiveType.ObjectDescriptor visitable) {
        // TODO ASN-105
        return BuiltinTypeValidator.NULL;
    }

    @Override
    public OctetStringValidator visit(AsnPrimitiveType.OctetString visitable) {
        return OctetStringValidator.getInstance();
    }

    @Override
    public OidValidator visit(AsnPrimitiveType.Oid visitable) {
        return OidValidator.getInstance();
    }

    @Override
    public PrintableStringValidator visit(AsnPrimitiveType.PrintableString visitable) {
        return PrintableStringValidator.getInstance();
    }

    @Override
    public BuiltinTypeValidator visit(AsnPrimitiveType.Real visitable) {
        // TODO - ASN-105
        return BuiltinTypeValidator.NULL;
    }

    @Override
    public OidValidator visit(AsnPrimitiveType.RelativeOid visitable) {
        // TODO - ASN-105 - if OidValidator is the right thing to return here then
        // does the RelativeOidValidator need to exist?
        return OidValidator.getInstance();
    }

    @Override
    public ConstructedBuiltinTypeValidator visit(AsnPrimitiveType.Sequence visitable) {
        return ConstructedBuiltinTypeValidator.getInstance();
    }

    @Override
    public BuiltinTypeValidator visit(AsnPrimitiveType.SequenceOf visitable) {
        // TODO ASN-113
        return BuiltinTypeValidator.NULL;
    }

    @Override
    public ConstructedBuiltinTypeValidator visit(AsnPrimitiveType.Set visitable) {
        return ConstructedBuiltinTypeValidator.getInstance();
    }

    @Override
    public BuiltinTypeValidator visit(AsnPrimitiveType.SetOf visitable) {
        // TODO ASN-113
        return BuiltinTypeValidator.NULL;
    }

    @Override
    public BuiltinTypeValidator visit(AsnPrimitiveType.TeletexString visitable) {
        // TODO - ASN-105
        return BuiltinTypeValidator.NULL;
    }

    @Override
    public BuiltinTypeValidator visit(AsnPrimitiveType.UniversalString visitable) {
        // TODO - ASN-105
        return BuiltinTypeValidator.NULL;
    }

    @Override
    public BuiltinTypeValidator visit(AsnPrimitiveType.UtcTime visitable) {
        return UtcTimeValidator.getInstance();
    }

    @Override
    public Utf8StringValidator visit(AsnPrimitiveType.Utf8String visitable) {
        return Utf8StringValidator.getInstance();
    }

    @Override
    public BuiltinTypeValidator visit(AsnPrimitiveType.VideotexString visitable) {
        // TODO - ASN-105
        return BuiltinTypeValidator.NULL;
    }

    @Override
    public VisibleStringValidator visit(AsnPrimitiveType.VisibleString visitable) {
        return VisibleStringValidator.getInstance();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy