public GenericUDFMaskFirstN() { super(new MaskFirstNTransformer(), UDF_NAME); } }
@Override String transform(final String value) { final StringBuilder ret = new StringBuilder(value.length()); final int endIdx = value.length() < charCount ? value.length() : charCount; for(int i = 0; i < endIdx; i++) { ret.appendCodePoint(transformChar(value.charAt(i))); } for(int i = endIdx; i < value.length(); i++) { ret.appendCodePoint(value.charAt(i)); } return ret.toString(); }
@Override public void init(ObjectInspector[] arguments, int argsStartIdx) { super.init(arguments, argsStartIdx + 1); // first argument is charCount, which is consumed in this method below charCount = getIntArg(arguments, argsStartIdx, 4); if(charCount < 0) { charCount = 0; } }
@Override String transform(final String value) { final StringBuilder ret = new StringBuilder(value.length()); final int endIdx = value.length() < charCount ? value.length() : charCount; for(int i = 0; i < endIdx; i++) { ret.appendCodePoint(transformChar(value.charAt(i))); } for(int i = endIdx; i < value.length(); i++) { ret.appendCodePoint(value.charAt(i)); } return ret.toString(); }
@Override public void init(ObjectInspector[] arguments, int argsStartIdx) { super.init(arguments, argsStartIdx + 1); // first argument is charCount, which is consumed in this method below charCount = getIntArg(arguments, argsStartIdx, 4); if(charCount < 0) { charCount = 0; } }
public GenericUDFMaskFirstN() { super(new MaskFirstNTransformer(), UDF_NAME); } }