All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.cxf.binding.http.strategy.EnglishInflector Maven / Gradle / Ivy

There is a newer version: 3.0.0-milestone2
Show newest version
/**
 * 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.
 */
/**
 * Copyright (c) 2005-2006 David Heinemeier Hansson
 * 
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:

 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.

 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
package org.apache.cxf.binding.http.strategy;

/**
 * Rules for English inflection.
 * 

* Notice: Some portions of this class where ported from Ruby's ActiveSupport * library which are Copyright (c) 2005-2006 David Heinemeier Hansson and * under the MIT license. */ public class EnglishInflector extends Inflector { public EnglishInflector() { addPlural("$", "s"); addPlural("s$", "$1s"); addPlural("(ax|test)is$", "$1es"); addPlural("(octop|vir)us$", "$1i"); addPlural("(alias|status)$", "$1es"); addPlural("(bu)s$", "$1ses"); addPlural("(buffal|tomat)o$", "$1oes"); addPlural("([ti])um$", "$1a"); addPlural("sis$", "ses"); addPlural("(?:([^f])fe|([lr])f)$", "$1\2ves"); addPlural("(hive)$", "$1s"); addPlural("([^aeiouy]|qu)y$", "$1ies"); addPlural("(x|ch|ss|sh)$", "$1es"); addPlural("(matr|vert|ind)ix|ex$", "$1ices"); addPlural("([m|l])ouse$", "$1ice"); addPlural("^(ox)$", "$1en"); addPlural("(quiz)$", "$1zes"); addSingular("s$", ""); addSingular("(n)ews$", "$1ews"); addSingular("([ti])a$", "$1um"); addSingular("((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$", "$1\2sis"); addSingular("(^analy)ses$", "$1sis"); addSingular("([^f])ves$", "$1fe"); addSingular("(hive)s$", "$1"); addSingular("(tive)s$", "$1"); addSingular("([lr])ves$", "$1f"); addSingular("([^aeiouy]|qu)ies$", "$1y"); addSingular("(s)eries$", "$1eries"); addSingular("(m)ovies$", "$1ovie"); addSingular("(x|ch|ss|sh)es$", "$1"); addSingular("([m|l])ice$", "$1ouse"); addSingular("(bus)es$", "$1"); addSingular("(o)es$", "$1"); addSingular("(shoe)s$", "$1"); addSingular("(cris|ax|test)es$", "$1is"); addSingular("(octop|vir)i$", "$1us"); addSingular("(alias|status)es$", "$1"); addSingular("^(ox)en", "$1"); addSingular("(vert|ind)ices$", "$1ex"); addSingular("(matr)ices$", "$1ix"); addSingular("(quiz)zes$", "$1"); addIrregular("person", "people"); addIrregular("man", "men"); addIrregular("child", "children"); addIrregular("sex", "sexes"); addIrregular("move", "moves"); addUncountable(new String[] {"equipment", "information", "rice", "money", "species", "series", "fish", "sheep"}); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy