| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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. |
| */ |
| package org.apache.olingo.server.api.uri.queryoption.expression; |
| |
| /** |
| * Enumeration of supported methods |
| * For the semantic of these methods please see the ODATA specification for URL conventions |
| */ |
| public enum MethodKind { |
| CONTAINS("contains"), |
| STARTSWITH("startswith"), |
| ENDSWITH("endswith"), |
| LENGTH("length"), |
| INDEXOF("indexof"), |
| SUBSTRING("substring"), |
| TOLOWER("tolower"), |
| TOUPPER("toupper"), |
| TRIM("trim"), |
| CONCAT("concat"), |
| YEAR("year"), |
| MONTH("month"), |
| DAY("day"), |
| HOUR("hour"), |
| MINUTE("minute"), |
| SECOND("second"), |
| FRACTIONALSECONDS("fractionalseconds"), |
| TOTALSECONDS("totalseconds"), DATE("date"), TIME("time"), |
| TOTALOFFSETMINUTES("totaloffsetminutes"), |
| MINDATETIME("mindatetime"), |
| MAXDATETIME("maxdatetime"), |
| NOW("now"), |
| ROUND("round"), |
| FLOOR("floor"), |
| CEILING("ceiling"), |
| GEODISTANCE("geo.distance"), |
| GEOLENGTH("geo.length"), |
| GEOINTERSECTS("geo.intersects"), |
| CAST("cast"), |
| ISOF("isof"); |
| |
| private String syntax; |
| |
| /** |
| * Constructor for enumeration value |
| * @param Syntax used in the URI |
| */ |
| private MethodKind(final String syntax) { |
| this.syntax = syntax; |
| } |
| |
| @Override |
| /** |
| * @return URI syntax for that operator kind |
| */ |
| public String toString() { |
| return syntax; |
| } |
| |
| /** |
| * URI syntax to enumeration value |
| * @param method Method in the syntax used in the URI |
| * @return Method kind which represents the given syntax |
| */ |
| public static MethodKind get(final String method) { |
| for (MethodKind op : MethodKind.values()) { |
| |
| if (op.toString().equals(method)) { |
| return op; |
| } |
| } |
| return null; |
| } |
| |
| } |