@@ -0,0 +1,2226 @@
+/*%0A * Licensed to CRATE Technology GmbH (%22Crate%22) under one or more contributor%0A * license agreements.  See the NOTICE file distributed with this work for%0A * additional information regarding copyright ownership.  Crate licenses%0A * this file to you under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.  You may%0A * 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, WITHOUT%0A * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the%0A * License for the specific language governing permissions and limitations%0A * under the License.%0A *%0A * However, if you have executed another commercial license agreement%0A * with Crate these terms will supersede the license and you may use the%0A * software solely pursuant to the terms of the relevant commercial agreement.%0A */%0A%0Apackage io.crate.planner.symbol;%0A%0Aimport org.cratedb.DataType;%0Aimport org.elasticsearch.common.io.stream.StreamInput;%0Aimport org.elasticsearch.common.io.stream.StreamOutput;%0A%0Aimport java.io.IOException;%0A%0Apublic class StringLiteral extends ValueSymbol %7B%0A%0A    public static final SymbolFactory%3CStringLiteral%3E FACTORY = new SymbolFactory%3CStringLiteral%3E() %7B%0A        @Override%0A        public StringLiteral newInstance() %7B%0A            return new StringLiteral();%0A        %7D%0A    %7D;%0A    private String value;%0A%0A    public StringLiteral(String value) %7B%0A        this.value = value;%0A    %7D%0A%0A    public StringLiteral() %7B%0A%0A    %7D%0A%0A    @Override%0A    public SymbolType symbolType() %7B%0A        return SymbolType.STRING_LITERAL;%0A    %7D%0A%0A    @Override%0A    public %3CC, R%3E R accept(SymbolVisitor%3CC, R%3E visitor, C context) %7B%0A        return visitor.visitStringLiteral(this, context);%0A    %7D%0A%0A    @Override%0A    public void readFrom(StreamInput in) throws IOException %7B%0A        String value = in.readOptionalString();%0A    %7D%0A%0A    @Override%0A    public void writeTo(StreamOutput out) throws IOException %7B%0A        out.writeOptionalString(value);%0A    %7D%0A%0A    @Override%0A    public DataType valueType() %7B%0A        return DataType.STRING;%0A    %7D%0A%7D%0A

string literal symbol