tree 60bfc95e616b1217d66c55a3097c13eb4790970a
parent e254a1f22172aa4bb5b304c754aa3884389d8924
author Dave Jarvis <DaveJarvis@users.noreply.github.com> 1474523307 -0700
committer GitHub <noreply@github.com> 1474523307 -0700

Migrate away from a magic slash to a constant.

My code currently resembles:

    return '/' + reference.replace( getConfigSeparator(), '/' );

I'd rather that it resemble:

    import static JsonPointer.SEPARATOR;
    return SEPARATOR + reference.replace( getConfigSeparator(), SEPARATOR );

That way if JsonPointer ever changed its segment separator character (or added a configuration option for changing it), then my code won't have to change. Also, making a single location for the slash character follows the DRY principle while avoiding a magic value littered throughout the code.