@@ -0,0 +1,3000 @@
+/*%0A * Licensed to the Apache Software Foundation (ASF) under one or more%0A * contributor license agreements.  See the NOTICE file distributed with%0A * this work for additional information regarding copyright ownership.%0A * The ASF licenses this file to You under the Apache License, Version 2.0%0A * (the %22License%22); you may not use this file except in compliance with%0A * the License.  You may obtain a copy of the License at%0A *%0A *     http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0A%0Apackage org.apache.shardingsphere.core.rewrite.placeholder;%0A%0Aimport com.google.common.base.Strings;%0Aimport lombok.Getter;%0Aimport lombok.RequiredArgsConstructor;%0A%0A/**%0A * Encrypt update item column placeholder for rewrite.%0A *%0A * @author panjuan%0A */%0A@RequiredArgsConstructor%0A@Getter%0Apublic final class UpdateEncryptAssistedItemPlaceholder implements ShardingPlaceholder %7B%0A    %0A    private final String columnName;%0A    %0A    private final Comparable%3C?%3E columnValue;%0A    %0A    private final String assistedColumnName;%0A    %0A    private final Comparable%3C?%3E assistedColumnValue;%0A    %0A    private final int parameterMarkerIndex;%0A    %0A    public UpdateEncryptAssistedItemPlaceholder(final String columnName) %7B%0A        this(columnName, null, null, null, 0);%0A    %7D%0A    %0A    public UpdateEncryptAssistedItemPlaceholder(final String columnName, final Comparable%3C?%3E columnValue) %7B%0A        this(columnName, columnValue, null, null, -1);%0A    %7D%0A    %0A    public UpdateEncryptAssistedItemPlaceholder(final String columnName, final String assistedColumnName) %7B%0A        this(columnName, null, assistedColumnName, null, 0);%0A    %7D%0A    %0A    public UpdateEncryptAssistedItemPlaceholder(final String columnName,%0A                                                final Comparable%3C?%3E columnValue, final String assistedColumnName, final Comparable%3C?%3E assistedColumnValue) %7B%0A        this(columnName, columnValue, assistedColumnName, assistedColumnValue, -1);%0A    %7D%0A    %0A    @Override%0A    public String toString() %7B%0A        if (Strings.isNullOrEmpty(assistedColumnName)) %7B%0A            return -1 != parameterMarkerIndex ? String.format(%22%25s = ?%22, columnName) : String.format(%22%25s = %25s%22, columnName, toStringForColumnValue(columnValue));%0A        %7D%0A        return -1 != parameterMarkerIndex ? String.format(%22%25s = ?, %25s = ?%22, columnName, assistedColumnName) %0A                : String.format(%22%25s = %25s, %25s = %25s%22, columnName, toStringForColumnValue(columnValue), assistedColumnName, toStringForColumnValue(assistedColumnValue));%0A    %7D%0A    %0A    private String toStringForColumnValue(final Comparable%3C?%3E columnValue) %7B%0A        return String.class == columnValue.getClass() ? String.format(%22'%25s'%22, columnValue) : columnValue.toString();%0A    %7D%0A%7D%0A

add UpdateEncryptAssistedItemPlaceholder.java