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


Java EdmProperty.getDefaultValue方法代碼示例

本文整理匯總了Java中org.odata4j.edm.EdmProperty.getDefaultValue方法的典型用法代碼示例。如果您正苦於以下問題:Java EdmProperty.getDefaultValue方法的具體用法?Java EdmProperty.getDefaultValue怎麽用?Java EdmProperty.getDefaultValue使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.odata4j.edm.EdmProperty的用法示例。


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

示例1: setDefaultValue

import org.odata4j.edm.EdmProperty; //導入方法依賴的package包/類
/**
 * デフォルト値の設定.
 * @param ep EdmProperty
 * @param propName プロパティ名
 * @param op OProperty
 * @param metadata EdmDataServicesスキーマ定義
 * @return Oproperty
 */
protected OProperty<?> setDefaultValue(EdmProperty ep, String propName, OProperty<?> op, EdmDataServices metadata) {
    // スキーマ上定義されているのに入力の存在しない Property
    // デフォルト値が定義されていればそれをいれる。
    // ComplexTypeそのものの項目、または配列の項目であればデフォルト値は設定しない
    NamespacedAnnotation<?> annotation = ep.findAnnotation(Common.P_NAMESPACE.getUri(),
            Property.P_IS_DECLARED.getName());
    if (annotation != null && !(Boolean.valueOf(annotation.getValue().toString()))) {
        return null;
    }
    if (ep.getType().isSimple() && !ep.getCollectionKind().equals(CollectionKind.List)
            && ep.getDefaultValue() != null) {
        op = generateDefautlProperty(ep);
    } else if (ep.isNullable()) {
        // nullableがtrueであれば。nullの入ったプロパティ
        // TODO これでいいのか?
        op = OProperties.null_(propName, ep.getType().getFullyQualifiedTypeName());
    } else {
        // nullableがfalseであれば。エラーとする
        throw PersoniumCoreException.OData.INPUT_REQUIRED_FIELD_MISSING.params(propName);
    }
    return op;
}
 
開發者ID:personium,項目名稱:personium-core,代碼行數:31,代碼來源:AbstractODataResource.java

示例2: createPropWithDefaultValue

import org.odata4j.edm.EdmProperty; //導入方法依賴的package包/類
private OProperty<?> createPropWithDefaultValue(EdmProperty prop) {
  String defaultValue = prop.getDefaultValue();
  EdmSimpleType<?> type = (EdmSimpleType<?>) prop.getType();

  // Trying to re-use the JsonTypeConverter that will convert string to 
  // corresponding types, the JsonTokenType is a required parameter, just
  // fake it here.
  JsonTokenType jsonTokenType = JsonTokenType.STRING;

  if (type == EdmSimpleType.BOOLEAN) {
    jsonTokenType = JsonTokenType.TRUE;
  }
  // The default value should match the data type, if it is a number, then it should not have () to enclose them.
  if (type != null && type == EdmSimpleType.INT16 || type == EdmSimpleType.INT32 || type == EdmSimpleType.INT64
      || type == EdmSimpleType.SINGLE || type == EdmSimpleType.DOUBLE || type == EdmSimpleType.DECIMAL) {
    if (defaultValue != null && defaultValue.length() > 0) {
      if (defaultValue.startsWith("(") && defaultValue.endsWith(")")) {
        defaultValue = defaultValue.replace("(", "").replace(")", "");
      }
    }
  }
  return JsonTypeConverter.parse(prop.getName(), type, defaultValue, jsonTokenType);
}
 
開發者ID:teiid,項目名稱:oreva,代碼行數:24,代碼來源:ConsumerCreateEntityRequest.java

示例3: AppendDefaultValueForNullField

import org.odata4j.edm.EdmProperty; //導入方法依賴的package包/類
private void AppendDefaultValueForNullField(EdmEntitySet ees) {
  Enumerable<OProperty<?>> propsEnum = Enumerable.create(props);
  EdmEntityType eType = ees.getType();
  Iterator<EdmProperty> mdProps = eType.getProperties().iterator();
  while (mdProps.hasNext()) {
    EdmProperty prop = mdProps.next();
    // this prop has default value, user does not set it in the request and it is simple type, populate with default value
    if (prop.getDefaultValue() != null && prop.getType().isSimple() && propsEnum.firstOrNull(OPredicates.propertyNameEquals(prop.getName())) == null) {
      OProperty<?> newProp = createPropWithDefaultValue(prop);
      super.properties(this, newProp);
    }
  }
}
 
開發者ID:teiid,項目名稱:oreva,代碼行數:14,代碼來源:ConsumerCreateEntityRequest.java

示例4: generateDefautlProperty

import org.odata4j.edm.EdmProperty; //導入方法依賴的package包/類
/**
 * Entity Data Modelのプロパティスキーマ情報からODataプロパティのデフォルト値インスタンスを生成する.
 * @param ep Entity Data Modelのプロパティ
 * @return デフォルト値が入ったODataプロパティのインスタンス
 */
private OProperty<?> generateDefautlProperty(EdmProperty ep) {
    EdmType edmType = ep.getType();
    OProperty<?> op = null;

    // スキーマからDefault値を取得する。
    String defaultValue = ep.getDefaultValue();
    String propName = ep.getName();

    // Default値が特定の関數である場合は、値を生成する。
    if (EdmSimpleType.STRING.equals(edmType)) {
        // Typeが文字列でDefault値がCELLID()のとき。
        if (defaultValue.equals("UUID()")) {
            // Typeが文字列でDefault値がUUID()のとき。
            String newUuid = UUID.randomUUID().toString().replaceAll("-", "");
            op = OProperties.string(propName, newUuid);
        } else if (defaultValue.equals("null")) {
            // Typeが文字列でDefault値がnullのとき。
            op = OProperties.null_(propName, EdmSimpleType.STRING);
        } else {
            // Typeが文字列でDefault値その他の値のとき。
            op = OProperties.string(propName, defaultValue);
        }
    } else if (EdmSimpleType.DATETIME.equals(edmType)) {
        // Edm.DateTime型:
        if (null == defaultValue || defaultValue.equals("null")) {
            // defaultValueがnullまたは"null"であれば、nullを設定する
            op = OProperties.null_(propName, EdmSimpleType.DATETIME);
        } else {
            // -"\/Date(...)\/"の場合は設定値をデフォルト値にする
            // -"SYSUTCDATETIME()"の場合は現在時刻をデフォルト値にする
            // TODO この実裝では Atom 出力時にDefault TimeZoneで出力されてしまう
            op = OProperties.datetime(propName,
                    new Date(getTimeMillis(defaultValue)));
        }

    } else if (EdmSimpleType.SINGLE.equals(edmType)) {
        // TypeがSINGLEでDefault値があるとき。
        op = OProperties.single(propName, Float.valueOf(defaultValue));
    } else if (EdmSimpleType.INT64.equals(edmType)) {
        // TypeがINT64でDefault値があるとき。
        op = OProperties.int64(propName, Long.valueOf(defaultValue));
    } else if (EdmSimpleType.INT32.equals(edmType)) {
        // TypeがINT32でDefault値があるとき。
        op = OProperties.int32(propName, Integer.valueOf(defaultValue));
    } else if (EdmSimpleType.BOOLEAN.equals(edmType)) {
        // TypeがBooleanでDefault値があるとき。
        op = OProperties.boolean_(propName, Boolean.parseBoolean(defaultValue));
    } else if (EdmSimpleType.DOUBLE.equals(edmType)) {
        // TypeがDoubleでDefault値があるとき。
        op = OProperties.double_(propName, Double.parseDouble(defaultValue));
    }

    return op;
}
 
開發者ID:personium,項目名稱:personium-core,代碼行數:60,代碼來源:AbstractODataResource.java

示例5: resolvePropertyVariable

import org.odata4j.edm.EdmProperty; //導入方法依賴的package包/類
private Object resolvePropertyVariable(EdmProperty prop, PropertyPath path) {
  if (path.getNComponents() == 1) {
    String name = path.getLastComponent();
    if (Edm.Property.DefaultValue.equals(name)) {
      return prop.getDefaultValue();
    } else if (Edm.Property.CollectionKind.equals(name)) {
      return prop.getCollectionKind().toString();
    } else if (Edm.Property.EntityTypeName.equals(name)) {
      return prop.getDeclaringType().getName();
    } else if (Edm.Property.FixedLength.equals(name)) {
      return prop.getFixedLength() != null ? prop.getFixedLength().toString() : null;
    } else if (Edm.Property.MaxLength.equals(name)) {
      return prop.getMaxLength() != null ? prop.getMaxLength().toString() : null;
    } else if (Edm.Property.Name.equals(name)) {
      return prop.getName();
    } else if (Edm.Property.Namespace.equals(name)) {
      return prop.getDeclaringType().getNamespace();
    } else if (Edm.Property.Nullable.equals(name)) {
      return prop.isNullable() ? "true" : "false";
    } else if (Edm.Property.Type.equals(name)) {
      return prop.getType().getFullyQualifiedTypeName();
    } else if (Edm.Property.Precision.equals(name)) {
      return prop.getPrecision() == null ? null : prop.getPrecision().toString();
    } else if (Edm.Property.Scale.equals(name)) {
      return prop.getScale() == null ? null : prop.getScale().toString();
    } else if (decorator != null) {
      try {
        return decorator.resolvePropertyProperty(prop, path);
      } catch (IllegalArgumentException e) {
        throw new RuntimeException("EdmProperty property path " + path + " not found");
      }
    } else {
      throw new RuntimeException("EdmProperty property " + name + " not found");
    }
  } else {
    String navProp = path.getFirstComponent();
    // --to 1 props only
    // TODO: class maybe
    throw new RuntimeException("EdmProperty navigation property " + navProp + " not found or not supported");
  }
}
 
開發者ID:teiid,項目名稱:oreva,代碼行數:42,代碼來源:MetadataProducer.java

示例6: getProperty

import org.odata4j.edm.EdmProperty; //導入方法依賴的package包/類
private OEntity getProperty(EdmStructuralType queryType, EdmStructuralType et, EdmProperty p, Context c) {
  List<OProperty<?>> props = new ArrayList<OProperty<?>>();
  if (c.pathHelper.isSelected(Edm.Property.Namespace)) {
    props.add(OProperties.string(Edm.Property.Namespace, et.getNamespace()));
  }
  if (c.pathHelper.isSelected(Edm.Property.EntityTypeName)) {
    props.add(OProperties.string(Edm.Property.EntityTypeName, et.getName()));
  }
  if (c.pathHelper.isSelected(Edm.Property.Name)) {
    props.add(OProperties.string(Edm.Property.Name, p.getName()));
  }
  if (c.pathHelper.isSelected(Edm.Property.Type)) {
    props.add(OProperties.string(Edm.Property.Type, p.getType().getFullyQualifiedTypeName()));
  }
  if (c.pathHelper.isSelected(Edm.Property.Nullable)) {
    props.add(OProperties.boolean_(Edm.Property.Nullable, p.isNullable()));
  }
  if (p.getDefaultValue() != null && c.pathHelper.isSelected(Edm.Property.DefaultValue)) {
    props.add(OProperties.string(Edm.Property.DefaultValue, p.getDefaultValue()));
  }
  if (p.getMaxLength() != null && c.pathHelper.isSelected(Edm.Property.MaxLength)) {
    props.add(OProperties.int32(Edm.Property.MaxLength, p.getMaxLength()));
  }
  if (p.getFixedLength() != null && c.pathHelper.isSelected(Edm.Property.FixedLength)) {
    props.add(OProperties.boolean_(Edm.Property.FixedLength, p.getFixedLength()));
  }
  if (p.getPrecision() != null && c.pathHelper.isSelected(Edm.Property.Precision)) {
    props.add(OProperties.int32(Edm.Property.Precision, p.getPrecision()));
  }
  if (p.getScale() != null && c.pathHelper.isSelected(Edm.Property.Scale)) {
    props.add(OProperties.int32(Edm.Property.Scale, p.getScale()));
  }
  if (p.getUnicode() != null && c.pathHelper.isSelected(Edm.Property.Unicode)) {
    props.add(OProperties.boolean_(Edm.Property.Unicode, p.getUnicode()));
  }
  // TODO: collation
  // TODO: ConcurrencyMode
  if (p.getCollectionKind() != CollectionKind.NONE) {
    props.add(OProperties.string(Edm.Property.CollectionKind, p.getCollectionKind().toString()));
  }

  this.addDocumenation(c, p, props);
  addAnnotationProperties(c, p, props);

  EdmEntitySet entitySet = edm.findEdmEntitySet(Edm.EntitySets.Properties);

  if (this.decorator != null) {
    this.decorator.decorateEntity(entitySet, p, queryType, props, c.flatten, c.locale, c.queryInfo != null ? c.queryInfo.customOptions : null);
  }

  return OEntities.create(entitySet,
      OEntityKey.create(Edm.Property.Namespace, et.getNamespace(), Edm.Property.EntityTypeName, et.getName(), Edm.Property.Name, p.getName()),
      props,
      Collections.<OLink> emptyList());
}
 
開發者ID:teiid,項目名稱:oreva,代碼行數:56,代碼來源:MetadataProducer.java

示例7: writeProperties

import org.odata4j.edm.EdmProperty; //導入方法依賴的package包/類
private static void writeProperties(Iterable<EdmProperty> properties, XMLWriter2 writer) {
  for (EdmProperty prop : properties) {
    writer.startElement(new QName2("Property"));

    writer.writeAttribute("Name", prop.getName());
    writer.writeAttribute("Type", prop.getType().getFullyQualifiedTypeName());
    writer.writeAttribute("Nullable", Boolean.toString(prop.isNullable()));
    if (prop.getDefaultValue() != null) {
      writer.writeAttribute("DefaultValue", prop.getDefaultValue());
    }
    if (prop.getMaxLength() != null) {
      writer.writeAttribute("MaxLength", Integer.toString(prop.getMaxLength()));
    }
    if (prop.getFixedLength() != null) {
      writer.writeAttribute("FixedLength", Boolean.toString(prop.getFixedLength()));
    }
    if (!prop.getCollectionKind().equals(CollectionKind.NONE)) {
      writer.writeAttribute("CollectionKind", prop.getCollectionKind().toString());
    }

    if (prop.getPrecision() != null) {
      writer.writeAttribute("Precision", Integer.toString(prop.getPrecision()));
    }
    if (prop.getScale() != null) {
      writer.writeAttribute("Scale", Integer.toString(prop.getScale()));
    }
    if (prop.getCollation() != null) {
      writer.writeAttribute("Collation", prop.getCollation());
    }
    if (prop.getUnicode() != null) {
      writer.writeAttribute("Unicode", Boolean.toString(prop.getUnicode()));
    }
    if (prop.getConcurrencyMode() != null) {
      writer.writeAttribute("ConcurrencyMode", prop.getConcurrencyMode());
    }
    if (prop.getMimeType() != null) {
      writer.writeAttribute(new QName2(m, "MimeType", "m"), prop.getMimeType());
    }
    if (prop.getFcTargetPath() != null) {
      writer.writeAttribute(new QName2(m, "FC_TargetPath", "m"), prop.getFcTargetPath());
    }
    if (prop.getFcKeepInContent() != null) {
      writer.writeAttribute(new QName2(m, "FC_KeepInContent", "m"), prop.getFcKeepInContent());
    }
    if (prop.getFcNsPrefix() != null) {
      writer.writeAttribute(new QName2(m, "FC_NsPrefix", "m"), prop.getFcNsPrefix());
    }
    if (prop.getFcNsUri() != null) {
      writer.writeAttribute(new QName2(m, "FC_NsUri", "m"), prop.getFcNsUri());
    }

    writeAnnotationAttributes(prop, writer);
    writeAnnotationElements(prop, writer);
    writer.endElement("Property");
  }
}
 
開發者ID:teiid,項目名稱:oreva,代碼行數:57,代碼來源:EdmxFormatWriter.java


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