當前位置: 首頁>>代碼示例>>Java>>正文


Java Accessors類代碼示例

本文整理匯總了Java中lombok.experimental.Accessors的典型用法代碼示例。如果您正苦於以下問題:Java Accessors類的具體用法?Java Accessors怎麽用?Java Accessors使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


Accessors類屬於lombok.experimental包,在下文中一共展示了Accessors類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: shouldReturnThis0

import lombok.experimental.Accessors; //導入依賴的package包/類
public static boolean shouldReturnThis0(AnnotationValues<Accessors> accessors, AST<?, ?, ?> ast) {
	boolean chainForced = accessors.isExplicit("chain");
	boolean fluentForced = accessors.isExplicit("fluent");
	Accessors instance = accessors.getInstance();
	
	boolean chain = instance.chain();
	boolean fluent = instance.fluent();
	
	if (chainForced) return chain;
	
	if (!chainForced) {
		Boolean chainConfig = ast.readConfiguration(ConfigurationKeys.ACCESSORS_CHAIN);
		if (chainConfig != null) return chainConfig;
	}
	
	if (!fluentForced) {
		Boolean fluentConfig = ast.readConfiguration(ConfigurationKeys.ACCESSORS_FLUENT);
		if (fluentConfig != null) fluent = fluentConfig;
	}
	
	return chain || fluent;
}
 
開發者ID:git03394538,項目名稱:lombok-ianchiu,代碼行數:23,代碼來源:HandlerUtil.java

示例2: toAccessorName

import lombok.experimental.Accessors; //導入依賴的package包/類
private static String toAccessorName(AnnotationValues<Accessors> accessors, CharSequence fieldName, boolean isBoolean,
		String booleanPrefix, String normalPrefix, boolean adhereToFluent) {
	
	if (fieldName.length() == 0) return null;
	
	Accessors ac = accessors.getInstance();
	fieldName = removePrefix(fieldName, ac.prefix());
	if (fieldName == null) return null;
	
	String fName = fieldName.toString();
	if (adhereToFluent && ac.fluent()) return fName;
	
	if (isBoolean && fName.startsWith("is") && fieldName.length() > 2 && !Character.isLowerCase(fieldName.charAt(2))) {
		// The field is for example named 'isRunning'.
		return booleanPrefix + fName.substring(2);
	}
	
	return buildName(isBoolean ? booleanPrefix : normalPrefix, fName);
}
 
開發者ID:redundent,項目名稱:lombok,代碼行數:20,代碼來源:TransformationsUtil.java

示例3: handle

import lombok.experimental.Accessors; //導入依賴的package包/類
@Override public void handle(AnnotationValues<Accessors> annotation, JCAnnotation ast, JavacNode annotationNode) {
	// Accessors itself is handled by HandleGetter/Setter; this is just to ensure that the annotation is removed
	// from the AST when delomboking.
	
	handleExperimentalFlagUsage(annotationNode, ConfigurationKeys.ACCESSORS_FLAG_USAGE, "@Accessors");
	
	deleteAnnotationIfNeccessary(annotationNode, Accessors.class);
}
 
開發者ID:git03394538,項目名稱:lombok-ianchiu,代碼行數:9,代碼來源:HandleAccessors.java

示例4: shouldReturnThis

import lombok.experimental.Accessors; //導入依賴的package包/類
/**
 * When generating a setter, the setter either returns void (beanspec) or Self (fluent).
 * This method scans for the {@code Accessors} annotation to figure that out.
 */
public static boolean shouldReturnThis(JavacNode field) {
	if ((((JCVariableDecl) field.get()).mods.flags & Flags.STATIC) != 0) return false;
	
	AnnotationValues<Accessors> accessors = JavacHandlerUtil.getAccessorsForField(field);
	
	return HandlerUtil.shouldReturnThis0(accessors, field.getAst());
}
 
開發者ID:git03394538,項目名稱:lombok-ianchiu,代碼行數:12,代碼來源:JavacHandlerUtil.java

示例5: toAccessorName

import lombok.experimental.Accessors; //導入依賴的package包/類
private static String toAccessorName(AST<?, ?, ?> ast, AnnotationValues<Accessors> accessors, CharSequence fieldName, boolean isBoolean,
		String booleanPrefix, String normalPrefix, boolean adhereToFluent) {
	
	fieldName = fieldName.toString();
	if (fieldName.length() == 0) return null;
	
	if (Boolean.TRUE.equals(ast.readConfiguration(ConfigurationKeys.GETTER_CONSEQUENT_BOOLEAN))) isBoolean = false;
	boolean explicitPrefix = accessors != null && accessors.isExplicit("prefix");
	boolean explicitFluent = accessors != null && accessors.isExplicit("fluent");
	
	Accessors ac = (explicitPrefix || explicitFluent) ? accessors.getInstance() : null;
	
	List<String> prefix = explicitPrefix ? Arrays.asList(ac.prefix()) : ast.readConfiguration(ConfigurationKeys.ACCESSORS_PREFIX);
	boolean fluent = explicitFluent ? ac.fluent() : Boolean.TRUE.equals(ast.readConfiguration(ConfigurationKeys.ACCESSORS_FLUENT));
	
	fieldName = removePrefix(fieldName, prefix);
	if (fieldName == null) return null;
	
	String fName = fieldName.toString();
	if (adhereToFluent && fluent) return fName;
	
	if (isBoolean && fName.startsWith("is") && fieldName.length() > 2 && !Character.isLowerCase(fieldName.charAt(2))) {
		// The field is for example named 'isRunning'.
		return booleanPrefix + fName.substring(2);
	}
	
	return buildAccessorName(isBoolean ? booleanPrefix : normalPrefix, fName);
}
 
開發者ID:git03394538,項目名稱:lombok-ianchiu,代碼行數:29,代碼來源:HandlerUtil.java

示例6: toAllAccessorNames

import lombok.experimental.Accessors; //導入依賴的package包/類
private static List<String> toAllAccessorNames(AST<?, ?, ?> ast, AnnotationValues<Accessors> accessors, CharSequence fieldName, boolean isBoolean,
		String booleanPrefix, String normalPrefix, boolean adhereToFluent) {
	
	if (Boolean.TRUE.equals(ast.readConfiguration(ConfigurationKeys.GETTER_CONSEQUENT_BOOLEAN))) isBoolean = false;
	if (!isBoolean) {
		String accessorName = toAccessorName(ast, accessors, fieldName, false, booleanPrefix, normalPrefix, adhereToFluent);
		return (accessorName == null) ? Collections.<String>emptyList() : Collections.singletonList(accessorName);
	}
	
	boolean explicitPrefix = accessors != null && accessors.isExplicit("prefix");
	boolean explicitFluent = accessors != null && accessors.isExplicit("fluent");
	
	Accessors ac = (explicitPrefix || explicitFluent) ? accessors.getInstance() : null;
	
	List<String> prefix = explicitPrefix ? Arrays.asList(ac.prefix()) : ast.readConfiguration(ConfigurationKeys.ACCESSORS_PREFIX);
	boolean fluent = explicitFluent ? ac.fluent() : Boolean.TRUE.equals(ast.readConfiguration(ConfigurationKeys.ACCESSORS_FLUENT));
	
	fieldName = removePrefix(fieldName, prefix);
	if (fieldName == null) return Collections.emptyList();
	
	List<String> baseNames = toBaseNames(fieldName, isBoolean, fluent);
	
	Set<String> names = new HashSet<String>();
	for (String baseName : baseNames) {
		if (adhereToFluent && fluent) {
			names.add(baseName);
		} else {
			names.add(buildAccessorName(normalPrefix, baseName));
			if (!normalPrefix.equals(booleanPrefix)) names.add(buildAccessorName(booleanPrefix, baseName));
		}
	}
	
	return new ArrayList<String>(names);
	
}
 
開發者ID:git03394538,項目名稱:lombok-ianchiu,代碼行數:36,代碼來源:HandlerUtil.java

示例7: build

import lombok.experimental.Accessors; //導入依賴的package包/類
@NotNull
public static AccessorsInfo build(@NotNull PsiField psiField) {
  final PsiAnnotation accessorsFieldAnnotation = PsiAnnotationSearchUtil.findAnnotation(psiField, Accessors.class);
  final PsiClass containingClass = psiField.getContainingClass();
  if (null != accessorsFieldAnnotation) {
    return buildFromAnnotation(accessorsFieldAnnotation, containingClass);
  } else {
    return build(containingClass);
  }
}
 
開發者ID:mplushnikov,項目名稱:lombok-intellij-plugin,代碼行數:11,代碼來源:AccessorsInfo.java

示例8: shouldReturnThis

import lombok.experimental.Accessors; //導入依賴的package包/類
/**
 * When generating a setter, the setter either returns void (beanspec) or Self (fluent).
 * This method scans for the {@code Accessors} annotation to figure that out.
 */
public static boolean shouldReturnThis(EclipseNode field) {
	if ((((FieldDeclaration) field.get()).modifiers & ClassFileConstants.AccStatic) != 0) return false;
	AnnotationValues<Accessors> accessors = EclipseHandlerUtil.getAccessorsForField(field);
	boolean forced = (accessors.getActualExpression("chain") != null);
	Accessors instance = accessors.getInstance();
	return instance.chain() || (instance.fluent() && !forced);
}
 
開發者ID:redundent,項目名稱:lombok,代碼行數:12,代碼來源:EclipseHandlerUtil.java

示例9: shouldReturnThis

import lombok.experimental.Accessors; //導入依賴的package包/類
/**
 * When generating a setter, the setter either returns void (beanspec) or Self (fluent).
 * This method scans for the {@code Accessors} annotation to figure that out.
 */
public static boolean shouldReturnThis(JavacNode field) {
	if ((((JCVariableDecl) field.get()).mods.flags & Flags.STATIC) != 0) return false;
	
	AnnotationValues<Accessors> accessors = JavacHandlerUtil.getAccessorsForField(field);
	
	boolean forced = (accessors.getActualExpression("chain") != null);
	Accessors instance = accessors.getInstance();
	return instance.chain() || (instance.fluent() && !forced);
}
 
開發者ID:redundent,項目名稱:lombok,代碼行數:14,代碼來源:JavacHandlerUtil.java

示例10: toAllAccessorNames

import lombok.experimental.Accessors; //導入依賴的package包/類
private static List<String> toAllAccessorNames(AnnotationValues<Accessors> accessors, CharSequence fieldName, boolean isBoolean,
		String booleanPrefix, String normalPrefix, boolean adhereToFluent) {
	
	if (!isBoolean) {
		String accessorName = toAccessorName(accessors, fieldName, false, booleanPrefix, normalPrefix, adhereToFluent);
		return (accessorName == null) ? Collections.<String>emptyList() : Collections.singletonList(accessorName);
	}
	
	Accessors acc = accessors.getInstance();
	fieldName = removePrefix(fieldName, acc.prefix());
	if (fieldName == null) return Collections.emptyList();
	
	List<String> baseNames = toBaseNames(fieldName, isBoolean, acc.fluent());
	
	Set<String> names = new HashSet<String>();
	for (String baseName : baseNames) {
		if (adhereToFluent && acc.fluent()) {
			names.add(baseName);
		} else {
			names.add(buildName(normalPrefix, baseName));
			if (!normalPrefix.equals(booleanPrefix)) names.add(buildName(booleanPrefix, baseName));
		}
	}
	
	return new ArrayList<String>(names);
	
}
 
開發者ID:redundent,項目名稱:lombok,代碼行數:28,代碼來源:TransformationsUtil.java

示例11: handle

import lombok.experimental.Accessors; //導入依賴的package包/類
@Override public void handle(AnnotationValues<Accessors> annotation, Annotation ast, EclipseNode annotationNode) {
	// Accessors itself is handled by HandleGetter/Setter; this is just to ensure that usages are flagged if requested.
	
	handleExperimentalFlagUsage(annotationNode, ConfigurationKeys.ACCESSORS_FLAG_USAGE, "@Accessors");
}
 
開發者ID:git03394538,項目名稱:lombok-ianchiu,代碼行數:6,代碼來源:HandleAccessors.java

示例12: shouldReturnThis

import lombok.experimental.Accessors; //導入依賴的package包/類
/**
 * When generating a setter, the setter either returns void (beanspec) or Self (fluent).
 * This method scans for the {@code Accessors} annotation and associated config properties to figure that out.
 */
public static boolean shouldReturnThis(EclipseNode field) {
	if ((((FieldDeclaration) field.get()).modifiers & ClassFileConstants.AccStatic) != 0) return false;
	AnnotationValues<Accessors> accessors = EclipseHandlerUtil.getAccessorsForField(field);
	return shouldReturnThis0(accessors, field.getAst());
}
 
開發者ID:git03394538,項目名稱:lombok-ianchiu,代碼行數:10,代碼來源:EclipseHandlerUtil.java

示例13: handle

import lombok.experimental.Accessors; //導入依賴的package包/類
@Override public void handle(AnnotationValues<Accessors> annotation, JCAnnotation ast, JavacNode annotationNode) {
	// Accessors itself is handled by HandleGetter/Setter; this is just to ensure that the annotation is removed
	// from the AST when delomboking.
	deleteAnnotationIfNeccessary(annotationNode, Accessors.class);
}
 
開發者ID:redundent,項目名稱:lombok,代碼行數:6,代碼來源:HandleAccessors.java

示例14: toGetterName

import lombok.experimental.Accessors; //導入依賴的package包/類
/**
 * Generates a getter name from a given field name.
 * 
 * Strategy:
 * <ul>
 * <li>Reduce the field's name to its base name by stripping off any prefix (from {@code Accessors}). If the field name does not fit
 * the prefix list, this method immediately returns {@code null}.</li>
 * <li>If {@code Accessors} has {@code fluent=true}, then return the basename.</li>
 * <li>Pick a prefix. 'get' normally, but 'is' if {@code isBoolean} is true.</li>
 * <li>Only if {@code isBoolean} is true: Check if the field starts with {@code is} followed by a non-lowercase character. If so, return the field name verbatim.</li> 
 * <li>Check if the first character of the field is lowercase. If so, check if the second character
 * exists and is title or upper case. If so, uppercase the first character. If not, titlecase the first character.</li>
 * <li>Return the prefix plus the possibly title/uppercased first character, and the rest of the field name.</li>
 * </ul>
 * 
 * @param accessors Accessors configuration.
 * @param fieldName the name of the field.
 * @param isBoolean if the field is of type 'boolean'. For fields of type {@code java.lang.Boolean}, you should provide {@code false}.
 * @return The getter name for this field, or {@code null} if this field does not fit expected patterns and therefore cannot be turned into a getter name.
 */
public static String toGetterName(AST<?, ?, ?> ast, AnnotationValues<Accessors> accessors, CharSequence fieldName, boolean isBoolean) {
	return toAccessorName(ast, accessors, fieldName, isBoolean, "is", "get", true);
}
 
開發者ID:git03394538,項目名稱:lombok-ianchiu,代碼行數:24,代碼來源:HandlerUtil.java

示例15: toSetterName

import lombok.experimental.Accessors; //導入依賴的package包/類
/**
 * Generates a setter name from a given field name.
 * 
 * Strategy:
 * <ul>
 * <li>Reduce the field's name to its base name by stripping off any prefix (from {@code Accessors}). If the field name does not fit
 * the prefix list, this method immediately returns {@code null}.</li>
 * <li>If {@code Accessors} has {@code fluent=true}, then return the basename.</li>
 * <li>Only if {@code isBoolean} is true: Check if the field starts with {@code is} followed by a non-lowercase character.
 * If so, replace {@code is} with {@code set} and return that.</li> 
 * <li>Check if the first character of the field is lowercase. If so, check if the second character
 * exists and is title or upper case. If so, uppercase the first character. If not, titlecase the first character.</li>
 * <li>Return {@code "set"} plus the possibly title/uppercased first character, and the rest of the field name.</li>
 * </ul>
 * 
 * @param accessors Accessors configuration.
 * @param fieldName the name of the field.
 * @param isBoolean if the field is of type 'boolean'. For fields of type {@code java.lang.Boolean}, you should provide {@code false}.
 * @return The setter name for this field, or {@code null} if this field does not fit expected patterns and therefore cannot be turned into a getter name.
 */
public static String toSetterName(AST<?, ?, ?> ast, AnnotationValues<Accessors> accessors, CharSequence fieldName, boolean isBoolean) {
	return toAccessorName(ast, accessors, fieldName, isBoolean, "set", "set", true);
}
 
開發者ID:git03394538,項目名稱:lombok-ianchiu,代碼行數:24,代碼來源:HandlerUtil.java


注:本文中的lombok.experimental.Accessors類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。