private static FieldConfig createFieldConfig( FieldModel field, ResourceNameTreatment resourceNameTreatment, ResourceNameConfig resourceNameConfig, ResourceNameConfig messageResourceNameConfig) { if (resourceNameTreatment != ResourceNameTreatment.NONE && resourceNameConfig == null) { throw new IllegalArgumentException( "resourceName may only be null if resourceNameTreatment is NONE"); } if (resourceNameConfig != null && resourceNameConfig.getResourceNameType() == ResourceNameType.FIXED) { throw new IllegalArgumentException( "FieldConfig may not contain a ResourceNameConfig of type " + ResourceNameType.FIXED); } return new AutoValue_FieldConfig( field, resourceNameTreatment, resourceNameConfig, messageResourceNameConfig); }
public ResourceNameType getResourceNameType() { if (getResourceNameConfig() == null) { return null; } return getResourceNameConfig().getResourceNameType(); }
public boolean requiresParamTransformationFromAny() { return getMessageResourceNameConfig() != null && getMessageResourceNameConfig().getResourceNameType() == ResourceNameType.ANY; }
List<ResourceNameView> generateResourceNames( InterfaceContext context, Iterable<ResourceNameConfig> configs) { List<ResourceNameView> resourceNames = new ArrayList<>(); int index = 1; for (ResourceNameConfig config : configs) { switch (config.getResourceNameType()) { case SINGLE: resourceNames.add( generateResourceNameSingle(context, index, (SingleResourceNameConfig) config)); break; case ONEOF: resourceNames.add( generateResourceNameOneof(context, index, (ResourceNameOneofConfig) config)); break; case FIXED: resourceNames.add( generateResourceNameFixed(context, index, (FixedResourceNameConfig) config)); break; default: throw new IllegalStateException("Unexpected resource-name type."); } index += 1; } return resourceNames; }
private static String getResourceNamePackage(ResourceNameConfig resourceNameConfig) { String commonResourceName = resourceNameConfig.getCommonResourceName(); if (commonResourceName != null) { // Common resource name is fully-qualified. int p = commonResourceName.lastIndexOf("."); if (p >= 0) { commonResourceName = commonResourceName.substring(0, p); } return commonResourceName; } ResourceNameType resourceNameType = resourceNameConfig.getResourceNameType(); switch (resourceNameType) { case ANY: return "com.google.api.resourcenames"; case FIXED: case SINGLE: case ONEOF: return getJavaPackage(resourceNameConfig.getAssignedProtoFile()); case NONE: default: throw new IllegalArgumentException("Unexpected ResourceNameType: " + resourceNameType); } }
@Override protected Name getResourceTypeNameObject(ResourceNameConfig resourceNameConfig) { String entityName = resourceNameConfig.getEntityName(); ResourceNameType resourceNameType = resourceNameConfig.getResourceNameType(); // Proto annotations use UpperCamelCase for resource names, // and GAPIC config uses lower_snake_case, so we have to support both formats. Function<String, Name> formatNameFunc; if (entityName.length() > 0 && Character.isUpperCase(entityName.charAt(0))) { formatNameFunc = Name::upperCamel; } else { formatNameFunc = Name::anyLower; } switch (resourceNameType) { case ANY: return getAnyResourceTypeName(); case FIXED: return formatNameFunc.apply(entityName).join("name_fixed"); case ONEOF: // Remove suffix "_oneof". This allows the collection oneof config to "share" an entity name // with a collection config. entityName = StringUtil.removeSuffix(entityName, "_oneof"); return formatNameFunc.apply(entityName).join("name"); case SINGLE: return formatNameFunc.apply(entityName).join("name"); case NONE: default: throw new UnsupportedOperationException("unexpected entity name type"); } }
protected Name getResourceTypeNameObject(ResourceNameConfig resourceNameConfig) { String entityName = resourceNameConfig.getEntityName(); ResourceNameType resourceNameType = resourceNameConfig.getResourceNameType(); // Proto annotations use UpperCamelCase for resource names, // and GAPIC config uses lower_snake_case, so we have to support both formats. Function<String, Name> formatNameFunc; if (entityName.length() > 0 && Character.isUpperCase(entityName.charAt(0))) { formatNameFunc = Name::upperCamel; } else { formatNameFunc = Name::anyLower; } switch (resourceNameType) { case ANY: return getAnyResourceTypeName(); case FIXED: return Name.anyLower(entityName).join("name_fixed"); case ONEOF: // Remove suffix "_oneof". This allows the collection oneof config to "share" an entity name // with a collection config. entityName = StringUtil.removeSuffix(entityName, "_oneof"); return formatNameFunc.apply(entityName).join("name_oneof"); case SINGLE: return formatNameFunc.apply(entityName).join("name"); case NONE: default: throw new UnsupportedOperationException("unexpected entity name type"); } }
ResourceNameType resourceTypeName = messageFieldResourceNameConfig.getResourceNameType(); boolean ok = resourceTypeName == ResourceNameType.ANY; if (resourceTypeName == ResourceNameType.ONEOF) {
actualTransformFunction = namer.getResourceTypeParseListMethodName(methodContext.getTypeTable(), fieldConfig); } else if (fieldConfig.getResourceNameConfig().getResourceNameType() == ResourceNameType.ONEOF) { actualTransformFunction =
ResourceNameConfig messageResNameConfig = fieldConfig.getMessageResourceNameConfig(); if (messageResNameConfig == null || messageResNameConfig.getResourceNameType() != ResourceNameType.ANY) {