org.springframework.util.StringUtils#uncapitalize ( )源码实例Demo

下面列出了org.springframework.util.StringUtils#uncapitalize ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

private String getFieldName( Method method )
{
    String name;

    String[] getters = new String[]{
        "is", "has", "get"
    };

    name = method.getName();

    for ( String getter : getters )
    {
        if ( name.startsWith( getter ) )
        {
            name = name.substring( getter.length() );
        }
    }

    return StringUtils.uncapitalize( name );
}
 
/**
 * Constructor.
 * @param information type information about the underlying entity type.
 * @param datastoreMappingContext a mapping context used to get metadata for related
 *     persistent entities.
 */
public DatastorePersistentEntityImpl(TypeInformation<T> information,
		DatastoreMappingContext datastoreMappingContext) {
	super(information);

	Class<?> rawType = information.getType();

	this.datastoreMappingContext = datastoreMappingContext;
	this.context = new StandardEvaluationContext();
	this.kind = findAnnotation(Entity.class);
	this.discriminatorField = findAnnotation(DiscriminatorField.class);
	this.discriminatorValue = findAnnotation(DiscriminatorValue.class);
	this.classBasedKindName = this.hasTableName() ? this.kind.name()
			: StringUtils.uncapitalize(rawType.getSimpleName());
	this.kindNameExpression = detectExpression();
}
 
@Override
public String tableName() {
	if (this.tableName == null) {
		if (this.hasAnnotatedTableName()) {
			try {
				this.tableName = validateTableName(
						(this.tableNameExpression != null)
								? this.tableNameExpression.getValue(this.context, String.class)
								: this.table.name());
			}
			catch (RuntimeException ex) {
				throw new SpannerDataException(
						"Error getting table name for " + getType().getSimpleName(),
						ex);
			}
		}
		else {
			this.tableName = StringUtils.uncapitalize(this.rawType.getSimpleName());
		}
	}
	return this.tableName;
}
 
/**
 * Map setter method call based on getter method names.
 * @param methodName
 * @return
 */
private String getMethodCall(String methodName) {
    if (methodName.startsWith("get")) {
        return StringUtils.uncapitalize(methodName.substring(3));
    } else if (methodName.startsWith("is")) {
        return StringUtils.uncapitalize(methodName.substring(2));
    }

    return methodName;
}
 
源代码5 项目: spring-analysis-note   文件: ModelMapTests.java
@Test
public void testAddMap() throws Exception {
	Map<String, String> map = new HashMap<>();
	map.put("one", "one-value");
	map.put("two", "two-value");
	ModelMap model = new ModelMap();
	model.addAttribute(map);
	assertEquals(1, model.size());
	String key = StringUtils.uncapitalize(ClassUtils.getShortName(map.getClass()));
	assertTrue(model.containsKey(key));
}
 
@Override
public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry){
    Class beanClass = ActivemqOfflineInfoHelper.class;
    RootBeanDefinition beanDefinition = new RootBeanDefinition(beanClass);
    String beanName = StringUtils.uncapitalize(beanClass.getSimpleName());
    //在这里可以拿到所有注解的信息,可以根据不同注解来返回不同的class,从而达到开启不同功能的目的
    //通过这种方式可以自定义beanName
    registry.registerBeanDefinition(beanName, beanDefinition);
}
 
@Override
public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry){
    Class beanClass = CustomOfflineInfoHelper.class;
    RootBeanDefinition beanDefinition = new RootBeanDefinition(beanClass);
    String beanName = StringUtils.uncapitalize(beanClass.getSimpleName());
    //在这里可以拿到所有注解的信息,可以根据不同注解来返回不同的class,从而达到开启不同功能的目的
    //通过这种方式可以自定义beanName
    registry.registerBeanDefinition(beanName, beanDefinition);
}
 
@Override
public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry){
    Class beanClass = RabbitmqOfflineInfoHelper.class;
    RootBeanDefinition beanDefinition = new RootBeanDefinition(beanClass);
    String beanName = StringUtils.uncapitalize(beanClass.getSimpleName());
    //在这里可以拿到所有注解的信息,可以根据不同注解来返回不同的class,从而达到开启不同功能的目的
    //通过这种方式可以自定义beanName
    registry.registerBeanDefinition(beanName, beanDefinition);
}
 
@Override
public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry){
    Class beanClass = RocketmqOfflineInfoHelper.class;
    RootBeanDefinition beanDefinition = new RootBeanDefinition(beanClass);
    String beanName = StringUtils.uncapitalize(beanClass.getSimpleName());
    //在这里可以拿到所有注解的信息,可以根据不同注解来返回不同的class,从而达到开启不同功能的目的
    //通过这种方式可以自定义beanName
    registry.registerBeanDefinition(beanName, beanDefinition);
}
 
private Link fullyQualifiedLink(URI baseUri, ContentStoreInfo store, Object id, String fieldName) {
	LinkBuilder builder = BasicLinkBuilder.linkToCurrentMapping();

	if (baseUri != null) {
		builder = builder.slash(baseUri);
	}

	String property = StringUtils.uncapitalize(ContentStoreUtils.propertyName(fieldName));
	return builder.slash(ContentStoreUtils.storePath(store))
			.slash(id)
			.slash(property)
			.withRel(property);
}
 
源代码11 项目: spring4-understanding   文件: ModelMapTests.java
@Test
public void testAddMap() throws Exception {
	Map<String, String> map = new HashMap<String, String>();
	map.put("one", "one-value");
	map.put("two", "two-value");
	ModelMap model = new ModelMap();
	model.addAttribute(map);
	assertEquals(1, model.size());
	String key = StringUtils.uncapitalize(ClassUtils.getShortName(map.getClass()));
	assertTrue(model.containsKey(key));
}
 
源代码12 项目: sdn-rx   文件: TestSequenceGenerator.java
@Override
public String generateId(String primaryLabel, Object entity) {
	return StringUtils.uncapitalize(primaryLabel) + "-" + sequence.incrementAndGet();
}
 
protected String getInterceptorNameSuffix(BeanDefinition interceptorDefinition) {
	String beanClassName = interceptorDefinition.getBeanClassName();
	return (StringUtils.hasLength(beanClassName) ?
			StringUtils.uncapitalize(ClassUtils.getShortName(beanClassName)) : "");
}
 
/**
 * Build Java configuration snippet for endpoints.
 * @param model
 * @param id
 * @param endpointType
 * @return
 */
public String getJavaConfig(T model, String id, String endpointType) {
    StringBuilder builder = new StringBuilder();

    String methodName;
    if (StringUtils.hasText(id)) {
        Matcher matcher = invalidMethodNamePattern.matcher(id);
        if (matcher.find()) {
            methodName = StringUtils.trimAllWhitespace(id.replaceAll("\\.", "").replaceAll("-", ""));
            builder.append(String.format("%n\[email protected](\"%s\")%n", id));
        } else {
            methodName = id;
            builder.append(String.format("%n\[email protected]%n"));
        }
    } else {
        methodName = StringUtils.uncapitalize(model.getClass().getSimpleName());
        builder.append(String.format("%n\[email protected]%n"));
    }

    builder.append(String.format("\tpublic %s %s() {%n", getSourceModelClass().getSimpleName(), methodName));

    builder.append(String.format("\t\treturn CitrusEndpoints.%s%n", endpointType));

    ReflectionUtils.doWithMethods(model.getClass(), method -> {
        Object object = ReflectionUtils.invokeMethod(method, model);
        if (object != null) {
            String methodCall = getMethodCall(method.getName());
            Optional<AbstractModelConverter.MethodCallDecorator> decorator = decorators.stream().filter(d -> d.supports(methodCall)).findAny();

            if (decorator.isPresent()) {
                if (decorator.get().allowMethodCall(object)) {
                    builder.append(decorator.get().decorate(methodName, String.format("\t\t\t.%s(%s)%n", decorator.get().decorateMethodName(), decorator.get().decorateArgument(object)), object));
                }
            } else if (object instanceof String) {
                builder.append(String.format("\t\t\t.%s(\"%s\")%n", methodCall, object));
            } else {
                builder.append(String.format("\t\t\t.%s(%s)%n", methodCall, object));
            }
        }
    }, method -> (method.getName().startsWith("get") || method.getName().startsWith("is"))
            && !method.getName().equals("getClass")
            && !method.getName().equals("getId")
            && method.getParameterCount() == 0);

    builder.append(String.format("\t\t\t.build();%n"));
    builder.append(String.format("\t}%n"));

    return builder.toString();
}
 
源代码15 项目: sos   文件: EventRelProvider.java
@Override
public String getCollectionResourceRelFor(Class<?> type) {
	return StringUtils.uncapitalize(type.getSimpleName());
}
 
protected String getInterceptorNameSuffix(BeanDefinition interceptorDefinition) {
	return StringUtils.uncapitalize(ClassUtils.getShortName(interceptorDefinition.getBeanClassName()));
}
 
源代码17 项目: citrus-admin   文件: AbstractModelConverter.java
/**
 * Build Java code snippet from given model and identifier.
 * @param model
 * @param id
 * @return
 */
public String getJavaConfig(T model, String id) {
    StringBuilder builder = new StringBuilder();

    String methodName;
    String beanId = StringUtils.hasText(id) ? id : StringUtils.uncapitalize(model.getClass().getSimpleName());
    Matcher matcher = invalidMethodNamePattern.matcher(beanId);
    if (matcher.find()) {
        methodName = StringUtils.trimAllWhitespace(beanId.replaceAll("\\.", "").replaceAll("-", ""));
        builder.append(String.format("%n\[email protected](\"%s\")%n", beanId));
    } else {
        methodName = beanId;
        builder.append(String.format("%n\[email protected]%n"));
    }

    builder.append(String.format("\tpublic %s %s() {%n", getSourceModelClass().getSimpleName(), methodName));

    builder.append(String.format("\t\t%s %s = new %s();%n", getSourceModelClass().getSimpleName(), methodName, getSourceModelClass().getSimpleName()));

    ReflectionUtils.doWithMethods(model.getClass(), method -> {
        Object object = ReflectionUtils.invokeMethod(method, model);
        if (object != null) {
            Optional<AbstractModelConverter.MethodCallDecorator> decorator = decorators.stream().filter(d -> d.supports(getSetterMethod(method.getName()))).findAny();
            if (decorator.isPresent()) {
                if (decorator.get().allowMethodCall(object)) {
                    builder.append(decorator.get().decorate(methodName, String.format("\t\t%s.%s(%s);%n", methodName, decorator.get().decorateMethodName(), decorator.get().decorateArgument(object)), object));
                }
            } else if (object instanceof String) {
                builder.append(String.format("\t\t%s.%s(\"%s\");%n", methodName, getSetterMethod(method.getName()), object));
            } else {
                builder.append(String.format("\t\t%s.%s(%s);%n", methodName, getSetterMethod(method.getName()), object));
            }
        }
    }, method -> (method.getName().startsWith("get") || method.getName().startsWith("is"))
            && !method.getName().equals("getClass")
            && !method.getName().equals("getId")
            && method.getParameterCount() == 0);

    builder.append(String.format("\t\treturn %s;%n", methodName));
    builder.append(String.format("\t}%n"));

    return builder.toString();
}
 
private String toRegionTemplateBeanName(@NonNull String regionName) {
	return StringUtils.uncapitalize(regionName) + TEMPLATE;
}
 
protected String getInterceptorNameSuffix(BeanDefinition interceptorDefinition) {
	return StringUtils.uncapitalize(ClassUtils.getShortName(interceptorDefinition.getBeanClassName()));
}
 
源代码20 项目: spring-content   文件: StoreFragmentDefinition.java
public String getImplementationBeanName() {
	return this.storeInterfaceName + "#" + StringUtils.uncapitalize(ClassUtils.getShortName(implementationClassName));
}