diff options
Diffstat (limited to 'auth/cli-codegen/src/main/java/org/onap/policy/apex/auth/clicodegen/CgStringRenderer.java')
-rw-r--r-- | auth/cli-codegen/src/main/java/org/onap/policy/apex/auth/clicodegen/CgStringRenderer.java | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/auth/cli-codegen/src/main/java/org/onap/policy/apex/auth/clicodegen/CgStringRenderer.java b/auth/cli-codegen/src/main/java/org/onap/policy/apex/auth/clicodegen/CgStringRenderer.java new file mode 100644 index 000000000..50600f99f --- /dev/null +++ b/auth/cli-codegen/src/main/java/org/onap/policy/apex/auth/clicodegen/CgStringRenderer.java @@ -0,0 +1,71 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2016-2018 Ericsson. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.apex.auth.clicodegen; + +import java.util.Locale; + +import org.stringtemplate.v4.AttributeRenderer; +import org.stringtemplate.v4.StringRenderer; + +/** + * String object renderer for the code generator. + * + * @author Sven van der Meer (sven.van.der.meer@ericsson.com) + * @author John Keeney (John.Keeney@ericsson.com) + */ +public class CgStringRenderer implements AttributeRenderer { + + /* + * (non-Javadoc) + * + * @see org.stringtemplate.v4.AttributeRenderer#toString(java.lang.Object, java.lang.String, + * java.util.Locale) + */ + @Override + public String toString(final Object o, final String format, final Locale locale) { + if ("doQuotes".equals(format)) { + if (o == null) { + return null; + } + String ret = o.toString(); + if (ret.length() == 0) { + return "\"\""; + } + if (!ret.startsWith("\"")) { + ret = "\"" + ret + "\""; + } + return ret; + } + + if ("doDescription".equals(format)) { + String ret = o.toString(); + if (ret.contains("\n") || ret.contains("\"")) { + ret = "LS" + "\n" + ret + "\n" + "LE"; + } else { + ret = this.toString(o, "doQuotes", locale); + } + return ret; + } + + // return the default string renderer if we don't know otherwise + return new StringRenderer().toString(o, format, locale); + } +} |