package com.github.scribejava.core.services;
public abstract class Base64Encoder {
private static Base64Encoder instance;
public static Base64Encoder getInstance() {
synchronized (Base64Encoder.class) {
if (instance == null) {
instance = createEncoderInstance();
}
}
return instance;
}
private static Base64Encoder createEncoderInstance() {
if (CommonsEncoder.isPresent()) {
return new CommonsEncoder();
} else {
return new DatatypeConverterEncoder();
}
}
public static String type() {
return getInstance().getType();
}
public abstract String encode(byte[] bytes);
public abstract String getType();
}