Tabnine Logo
Expressions
Code IndexAdd Tabnine to your IDE (free)

How to use
Expressions
in
com.yahoo.aptutils.writer.expressions

Best Java code snippets using com.yahoo.aptutils.writer.expressions.Expressions (Showing top 20 results out of 315)

origin: yahoo/squidb

private Expression constructInitializer(String name, boolean view) {
  if (view) {
    return Expressions.staticMethod(TypeConstants.VIEW, "fromQuery", QUERY_NAME, name,
        Expressions.classObject(modelSpec.getGeneratedClassName()), PROPERTIES_ARRAY_NAME);
  } else {
    return Expressions.callMethodOn(QUERY_NAME, "as", name,
        Expressions.classObject(modelSpec.getGeneratedClassName()), PROPERTIES_ARRAY_NAME);
  }
}
origin: yahoo/squidb

protected void emitPropertiesArray() throws IOException {
  writer.writeComment("--- allocate properties array");
  writer.writeFieldDeclaration(TypeConstants.PROPERTY_ARRAY, PROPERTIES_ARRAY_NAME,
      Expressions.arrayAllocation(TypeConstants.PROPERTY, 1, getPropertiesArrayLength()),
      TypeConstants.PUBLIC_STATIC_FINAL);
  writer.writeNewline();
}
origin: yahoo/squidb

protected void writePropertiesInitializationBlock() throws IOException {
  for (int i = 0; i < modelSpec.getPropertyGenerators().size(); i++) {
    writer.writeStatement(Expressions
        .assign(Expressions.arrayReference(PROPERTIES_ARRAY_NAME, i),
            Expressions.fromString(modelSpec.getPropertyGenerators().get(i).getPropertyName())));
  }
}
origin: yahoo/squidb

@Override
protected void writeGetterBody(JavaFileWriter writer, MethodDeclarationParameters params) throws IOException {
  final String value = "value";
  writer.writeFieldDeclaration(CoreTypes.JAVA_STRING, value,
      Expressions.callMethod("get", propertyName));
  Expression condition = Expressions.fromString(value + " == null");
  Expression ifTrue = Expressions.fromString("null");
  Expression ifFalse = Expressions.staticMethod(enumType, "valueOf", value);
  TernaryExpression ternary = new TernaryExpression(condition, ifTrue, ifFalse);
  writer.writeStatement(ternary.returnExpr());
}
origin: yahoo/squidb

private void emitTableDeclaration() throws IOException {
  writer.writeComment("--- table declaration");
  List<Object> arguments = new ArrayList<>();
  arguments.add(Expressions.classObject(modelSpec.getGeneratedClassName())); // modelClass
  arguments.add(PROPERTIES_ARRAY_NAME); // properties
  arguments.add("\"" + modelSpec.getSpecAnnotation().tableName().trim() + "\""); // name
  arguments.add(null); // database name, null by default
  if (modelSpec.isVirtualTable()) {
    if (AptUtils.isEmpty(modelSpec.getSpecAnnotation().virtualModule())) {
      modelSpec.logError("virtualModule should be non-empty for virtual table models",
          modelSpec.getModelSpecElement());
    }
    arguments.add("\"" + modelSpec.getSpecAnnotation().virtualModule() + "\"");
  } else if (!AptUtils.isEmpty(modelSpec.getSpecAnnotation().tableConstraint())) {
    arguments.add("\"" + modelSpec.getSpecAnnotation().tableConstraint() + "\"");
  }
  writer.writeFieldDeclaration(modelSpec.getTableType(), TABLE_NAME,
      Expressions.callConstructor(modelSpec.getTableType(), arguments), TypeConstants.PUBLIC_STATIC_FINAL);
  writer.writeFieldDeclaration(TypeConstants.TABLE_MODEL_NAME, TABLE_MODEL_NAME,
      Expressions.callConstructor(TypeConstants.TABLE_MODEL_NAME,
          Expressions.classObject(modelSpec.getGeneratedClassName()),
          Expressions.callMethodOn(TableModelFileWriter.TABLE_NAME, "getName")),
      TypeConstants.PUBLIC_STATIC_FINAL);
  writer.writeNewline();
}
origin: yahoo/squidb

@Override
protected void writeSetterBody(JavaFileWriter writer, MethodDeclarationParameters params) throws IOException {
  String argName = params.getArgumentNames().get(0);
  final String argAsString = argName + "AsString";
  Expression condition = Expressions.fromString(argName + " == null");
  Expression ifTrue = Expressions.fromString("null");
  Expression ifFalse = Expressions.callMethodOn(argName, "name");
  writer.writeFieldDeclaration(CoreTypes.JAVA_STRING, argAsString,
      new TernaryExpression(condition, ifTrue, ifFalse));
  writer.writeStatement(Expressions.callMethod("set", propertyName, argAsString));
  writer.writeStringStatement("return this");
}
origin: yahoo/squidb

private Expression getTypeExpression(DeclaredTypeName fieldType) {
  List<? extends TypeName> typeArgs = fieldType.getTypeArgs();
  if (AptUtils.isEmpty(typeArgs)) {
    return Expressions.classObject(fieldType);
  } else {
    List<Expression> parameterizedTypeBuilderArgs = new ArrayList<>();
    parameterizedTypeBuilderArgs.add(Expressions.classObject(fieldType));
    for (TypeName typeArg : typeArgs) {
      // The cast to DeclaredTypeName is safe because we recursively check all type args before constructing
      // an instance of this property generator
      parameterizedTypeBuilderArgs.add(getTypeExpression((DeclaredTypeName) typeArg));
    }
    return Expressions.staticMethod(JSONTypes.PARAMETERIZED_TYPE_BUILDER, "build",
        parameterizedTypeBuilderArgs);
  }
}
origin: yahoo/squidb

  @Override
  public void afterEmitMethods(JavaFileWriter writer) throws IOException {
    // emit creator for parcelable
    writer.writeComment("--- parcelable helpers");
    List<DeclaredTypeName> genericList = Collections.singletonList(modelSpec.getGeneratedClassName());
    DeclaredTypeName creatorType = TypeConstants.CREATOR.clone();
    DeclaredTypeName modelCreatorType = TypeConstants.MODEL_CREATOR.clone();
    creatorType.setTypeArgs(genericList);
    modelCreatorType.setTypeArgs(genericList);

    writer.writeFieldDeclaration(creatorType,
        "CREATOR", Expressions.callConstructor(modelCreatorType,
            Expressions.classObject(modelSpec.getGeneratedClassName())),
        TypeConstants.PUBLIC_STATIC_FINAL)
        .writeNewline();
  }
}
origin: yahoo/squidb

@Override
protected void writeGetterBody(JavaFileWriter writer, MethodDeclarationParameters params) throws IOException {
  Expression typeExpression = getTypeExpression(fieldType);
  writer.writeStatement(Expressions.staticMethod(JSONTypes.JSON_PROPERTY_SUPPORT, "getValueFromJSON",
      "this", propertyName, typeExpression).returnExpr());
}
origin: yahoo/squidb

/**
 * Subclasses can override this hook to generate a custom method body for the property setter. This version of the
 * hook is deprecated, users should use {@link #writeGetterBody(JavaFileWriter, MethodDeclarationParameters)}
 * instead.
 */
@Deprecated
protected void writeSetterBody(JavaFileWriter writer, String argName) throws IOException {
  writer.writeStatement(Expressions.callMethod("set", propertyName, argName));
  writer.writeStringStatement("return this");
}
origin: yahoo/squidb

private void emitSinglePropertyDeclaration(PropertyGenerator generator, int index) throws IOException {
  modelSpec.getPluginBundle().beforeEmitPropertyDeclaration(writer, generator);
  DeclaredTypeName type = generator.getPropertyType();
  String fieldToQualify = ALIASED_PROPERTY_ARRAY_NAME + "[" + index + "]";
  Expression expressionToCast;
  if (modelSpec.getQueryElement() != null) {
    String callOn = modelSpec.getSpecAnnotation().isSubquery() ? SUBQUERY_NAME : VIEW_NAME;
    expressionToCast = Expressions.callMethodOn(callOn, "qualifyField", fieldToQualify);
  } else {
    expressionToCast = Expressions.reference(fieldToQualify);
  }
  writer.writeFieldDeclaration(type, generator.getPropertyName(),
      expressionToCast.cast(type), TypeConstants.PUBLIC_STATIC_FINAL)
      .writeNewline();
  modelSpec.getPluginBundle().afterEmitPropertyDeclaration(writer, generator);
}
origin: yahoo/squidb

private void emitAliasedPropertyArray() throws IOException {
  writer.writeComment("--- aliased property references");
  Expression aliasedPropertiesInit = Expressions.block(new Expression() {
    @Override
    public boolean writeExpression(JavaFileWriter writer) throws IOException {
      return emitPropertyReferenceArrayBody(true);
    }
  }, false, false, false, false);
  writer.writeFieldDeclaration(TypeConstants.PROPERTY_ARRAY, ALIASED_PROPERTY_ARRAY_NAME,
      aliasedPropertiesInit, TypeConstants.PUBLIC_STATIC_FINAL)
      .writeNewline();
  writer.beginInitializerBlock(true, true);
  writer.writeStatement(Expressions.callMethod("validateAliasedProperties", ALIASED_PROPERTY_ARRAY_NAME));
  writer.finishInitializerBlock(false, true);
  writer.writeNewline();
}
origin: yahoo/squidb

protected void emitDefaultValues() throws IOException {
  writer.writeComment("--- default values");
  writer.writeFieldDeclaration(TypeConstants.VALUES_STORAGE, DEFAULT_VALUES_NAME,
      Expressions.callMethodOn(
          Expressions.callConstructor(modelSpec.getGeneratedClassName()), "newValuesStorage"),
      Modifier.PROTECTED, Modifier.STATIC, Modifier.FINAL);
  if (pluginEnv.hasSquidbOption(PluginEnvironment.OPTIONS_DISABLE_DEFAULT_VALUES)) {
    writer.writeComment("--- property defaults disabled by plugin flag");
  } else {
    writer.beginInitializerBlock(true, true)
        .writeComment("--- put property defaults");
    emitDefaultValuesInitializationBlock();
    writer.finishInitializerBlock(false, true).writeNewline();
  }
  writer.writeAnnotation(CoreTypes.OVERRIDE)
      .beginMethodDefinition(GET_DEFAULT_VALUES_PARAMS)
      .writeStringStatement("return " + DEFAULT_VALUES_NAME)
      .finishMethodDefinition();
}
origin: yahoo/squidb

private void emitSqlTableDeclaration(boolean view) throws IOException {
  writer.writeComment("--- " + (view ? "view" : "subquery") + " declaration");
  String name = "\"" + modelSpec.getSpecAnnotation().viewName().trim() + "\"";
  if (modelSpec.getQueryElement() != null) {
    Expression queryReference = Expressions.staticReference(modelSpec.getModelSpecName(),
        modelSpec.getQueryElement().getSimpleName().toString())
        .callMethod("selectMore", ALIASED_PROPERTY_ARRAY_NAME);
    if (modelSpec.getViewQueryAnnotation().freeze()) {
      queryReference = queryReference.callMethod("freeze");
    }
    writer.writeFieldDeclaration(TypeConstants.QUERY, QUERY_NAME, queryReference,
        TypeConstants.PUBLIC_STATIC_FINAL);
    Expression initializer = constructInitializer(name, view);
    writer.writeFieldDeclaration(view ? TypeConstants.VIEW : TypeConstants.SUBQUERY_TABLE,
        view ? VIEW_NAME : SUBQUERY_NAME, initializer, TypeConstants.PUBLIC_STATIC_FINAL);
  } else {
    writer.writeFieldDeclaration(CoreTypes.JAVA_STRING, view ? "VIEW_NAME" : "SUBQUERY_NAME",
        Expressions.fromString(name), TypeConstants.PUBLIC_STATIC_FINAL);
  }
  writer.writeNewline();
}
origin: yahoo/squidb

    .setArgumentNames(valuesName);
writer.beginConstructorDeclaration(params)
    .writeStatement(Expressions.callMethod("this", valuesName,
        ModelFileWriter.PROPERTIES_ARRAY_NAME))
    .finishMethodDefinition();
    .setReturnType(modelSpec.getGeneratedClassName());
Expression cloneBody = Expressions.callMethodOn("super", "clone")
    .cast(modelSpec.getGeneratedClassName()).returnExpr();
origin: yahoo/squidb

  @Override
  public boolean writeExpression(JavaFileWriter writer) throws IOException {
    writer.appendString("@")
        .appendString(writer.shortenName(MODEL_GEN_ERROR_INNER, false))
        .appendString("(specClass=")
        .appendExpression(Expressions.classObject(errorInfo.errorClass))
        .appendString(", ");
    if (!AptUtils.isEmpty(errorInfo.element)) {
      writer.appendString("element=\"")
          .appendString(errorInfo.element)
          .appendString("\", ");
    }
    writer.appendString("message=\"")
        .appendString(errorInfo.message)
        .appendString("\")");
    return true;
  }
}
origin: yahoo/squidb

@Override
public void emitPutDefault(JavaFileWriter writer, String contentValuesName) throws IOException {
  String defaultValue = getColumnDefault();
  if (ColumnSpec.DEFAULT_NONE.equals(getColumnDefault())) {
    return;
  }
  String methodToInvoke;
  List<Object> arguments = new ArrayList<>();
  arguments.add(Expressions.callMethodOn(propertyName, "getName"));
  if (ColumnSpec.DEFAULT_NULL.equals(defaultValue)) {
    methodToInvoke = "putNull";
  } else {
    methodToInvoke = "put";
    arguments.add(getContentValuesDefaultValue());
  }
  writer.writeStatement(Expressions.callMethodOn(contentValuesName, methodToInvoke, arguments));
}
origin: yahoo/squidb

private void emitUnaliasedPropertyArray() throws IOException {
  writer.writeComment("--- unaliased property references");
  Expression basePropertiesInit = Expressions.block(new Expression() {
    @Override
    public boolean writeExpression(JavaFileWriter writer) throws IOException {
      return emitPropertyReferenceArrayBody(false);
    }
  }, false, false, false, false);
  writer.writeFieldDeclaration(TypeConstants.PROPERTY_ARRAY, BASE_PROPERTY_ARRAY_NAME,
      basePropertiesInit, TypeConstants.PRIVATE_STATIC_FINAL)
      .writeNewline();
}
origin: yahoo/squidb

@Override
public void afterEmitPropertyDeclaration(JavaFileWriter writer, PropertyGenerator propertyGenerator)
    throws IOException {
  if (propertyGenerator instanceof RowidPropertyGenerator) {
    if (((TableModelSpecWrapper) modelSpec).isVirtualTable()) {
      writer.writeAnnotation(CoreTypes.DEPRECATED);
      writer.writeFieldDeclaration(TypeConstants.LONG_PROPERTY,
          DEFAULT_ID_PROPERTY_NAME,
          Expressions.fromString(DEFAULT_ROWID_PROPERTY_NAME),
          TypeConstants.PUBLIC_STATIC_FINAL);
    }
    writeRowidSupportMethods(writer, propertyGenerator.getPropertyName());
  }
}
origin: yahoo/squidb

@Override
public void emitPropertyDeclaration(JavaFileWriter writer) throws IOException {
  if (isDeprecated) {
    writer.writeAnnotation(CoreTypes.DEPRECATED);
  }
  List<Object> constructorArgs = new ArrayList<>();
  constructorArgs.add(TableModelFileWriter.TABLE_MODEL_NAME);
  constructorArgs.add("\"" + columnName + "\"");
  String columnDef = getColumnDefinition();
  if (!AptUtils.isEmpty(columnDef)) {
    constructorArgs.add(columnDef);
  }
  writer.writeFieldDeclaration(getPropertyType(), propertyName,
      Expressions.callConstructor(getPropertyType(), constructorArgs), TypeConstants.PUBLIC_STATIC_FINAL);
}
com.yahoo.aptutils.writer.expressionsExpressions

Most used methods

  • classObject
  • staticMethod
  • arrayAllocation
  • arrayReference
  • assign
  • block
  • callConstructor
  • callMethod
  • callMethodOn
  • fromString
  • reference
  • staticReference
  • reference,
  • staticReference

Popular in Java

  • Making http post requests using okhttp
  • getSupportFragmentManager (FragmentActivity)
  • getOriginalFilename (MultipartFile)
    Return the original filename in the client's filesystem.This may contain path information depending
  • startActivity (Activity)
  • FileWriter (java.io)
    A specialized Writer that writes to a file in the file system. All write requests made by calling me
  • BigInteger (java.math)
    An immutable arbitrary-precision signed integer.FAST CRYPTOGRAPHY This implementation is efficient f
  • Timestamp (java.sql)
    A Java representation of the SQL TIMESTAMP type. It provides the capability of representing the SQL
  • MessageFormat (java.text)
    Produces concatenated messages in language-neutral way. New code should probably use java.util.Forma
  • Calendar (java.util)
    Calendar is an abstract base class for converting between a Date object and a set of integer fields
  • Reference (javax.naming)
  • Best plugins for Eclipse
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now