本文整理汇总了Java中org.apache.olingo.commons.api.edm.EdmProperty.isPrimitive方法的典型用法代码示例。如果您正苦于以下问题:Java EdmProperty.isPrimitive方法的具体用法?Java EdmProperty.isPrimitive怎么用?Java EdmProperty.isPrimitive使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.olingo.commons.api.edm.EdmProperty
的用法示例。
在下文中一共展示了EdmProperty.isPrimitive方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: writeProperties
import org.apache.olingo.commons.api.edm.EdmProperty; //导入方法依赖的package包/类
@Override
protected void writeProperties(ServiceMetadata metadata, EdmStructuredType type,
List<Property> properties, SelectOption select, JsonGenerator json)
throws IOException, SerializerException {
boolean all = ExpandSelectHelper.isAll(select);
Set<String> selected = all ? new HashSet<>()
: ExpandSelectHelper.getSelectedPropertyNames(select.getSelectItems());
for (Property property : properties) {
String propertyName = property.getName();
if (all || selected.contains(propertyName)) {
EdmProperty edmProperty = type.getStructuralProperty(propertyName);
if (edmProperty == null) {
edmProperty = new EdmPropertyImpl(metadata.getEdm(), new CsdlProperty()
.setType(getPropertyType(property.getValue())).setName(propertyName));
}
Set<List<String>> selectedPaths = all || edmProperty.isPrimitive() ? null
: ExpandSelectHelper.getSelectedPaths(select.getSelectItems(),
propertyName);
writeProperty(metadata, edmProperty, property, selectedPaths, json);
}
}
}
示例2: writeProperties
import org.apache.olingo.commons.api.edm.EdmProperty; //导入方法依赖的package包/类
@Override
protected void writeProperties(ServiceMetadata metadata, EdmStructuredType type,
List<Property> properties, SelectOption select, String xml10InvalidCharReplacement,
XMLStreamWriter writer) throws XMLStreamException, SerializerException {
boolean all = ExpandSelectHelper.isAll(select);
Set<String> selected = all ? new HashSet<>()
: ExpandSelectHelper.getSelectedPropertyNames(select.getSelectItems());
for (Property property : properties) {
String propertyName = property.getName();
if (all || selected.contains(propertyName)) {
EdmProperty edmProperty = type.getStructuralProperty(propertyName);
if (edmProperty == null) {
edmProperty = new EdmPropertyImpl(metadata.getEdm(), new CsdlProperty()
.setType(getPropertyType(property.getValue())).setName(propertyName));
}
Set<List<String>> selectedPaths = all || edmProperty.isPrimitive() ? null
: ExpandSelectHelper.getSelectedPaths(select.getSelectItems(),
propertyName);
writeProperty(metadata, edmProperty, property, selectedPaths,
xml10InvalidCharReplacement, writer);
}
}
}
示例3: createProperty
import org.apache.olingo.commons.api.edm.EdmProperty; //导入方法依赖的package包/类
private Property createProperty(final EdmProperty edmProperty, final String propertyName)
throws DataProviderException {
Property newProperty;
if (edmProperty.isPrimitive()) {
newProperty = edmProperty.isCollection() ? DataCreator.createPrimitiveCollection(propertyName)
: DataCreator.createPrimitive(propertyName, null);
} else if (edmProperty.isCollection()) {
@SuppressWarnings("unchecked")
Property newProperty2 = DataCreator.createComplexCollection(propertyName);
newProperty = newProperty2;
} else {
newProperty = DataCreator.createComplex(propertyName);
createProperties((EdmComplexType) edmProperty.getType(), newProperty.asComplex().getValue());
}
return newProperty;
}
示例4: createProperty
import org.apache.olingo.commons.api.edm.EdmProperty; //导入方法依赖的package包/类
private Property createProperty(final EdmProperty edmProperty, final String propertyName)
throws DataProviderException {
final EdmType type = edmProperty.getType();
Property newProperty;
if (edmProperty.isPrimitive()
|| type.getKind() == EdmTypeKind.ENUM || type.getKind() == EdmTypeKind.DEFINITION) {
newProperty = edmProperty.isCollection() ?
DataCreator.createPrimitiveCollection(propertyName) :
DataCreator.createPrimitive(propertyName, null);
} else {
if (edmProperty.isCollection()) {
@SuppressWarnings("unchecked")
Property newProperty2 = DataCreator.createComplexCollection(propertyName,
edmProperty.getType().getFullQualifiedName().getFullQualifiedNameAsString());
newProperty = newProperty2;
} else {
newProperty = DataCreator.createComplex(propertyName,
edmProperty.getType().getFullQualifiedName().getFullQualifiedNameAsString());
createProperties((EdmComplexType) type, newProperty.asComplex().getValue());
}
}
return newProperty;
}
示例5: writeProperties
import org.apache.olingo.commons.api.edm.EdmProperty; //导入方法依赖的package包/类
protected void writeProperties(final ServiceMetadata metadata, final EdmStructuredType type,
final List<Property> properties,
final SelectOption select, final JsonGenerator json)
throws IOException, SerializerException {
final boolean all = ExpandSelectHelper.isAll(select);
final Set<String> selected = all ? new HashSet<String>() :
ExpandSelectHelper.getSelectedPropertyNames(select.getSelectItems());
for (final String propertyName : type.getPropertyNames()) {
if (all || selected.contains(propertyName)) {
final EdmProperty edmProperty = type.getStructuralProperty(propertyName);
final Property property = findProperty(propertyName, properties);
final Set<List<String>> selectedPaths = all || edmProperty.isPrimitive() ? null :
ExpandSelectHelper.getSelectedPaths(select.getSelectItems(), propertyName);
writeProperty(metadata, edmProperty, property, selectedPaths, json);
}
}
}
示例6: writeProperties
import org.apache.olingo.commons.api.edm.EdmProperty; //导入方法依赖的package包/类
protected void writeProperties(final ServiceMetadata metadata, final EdmStructuredType type,
final List<Property> properties,
final SelectOption select, final JsonGenerator json)
throws IOException, SerializerException {
final boolean all = ExpandSelectHelper.isAll(select);
final Set<String> selected = all ? new HashSet<String>() : ExpandSelectHelper.getSelectedPropertyNames(select
.getSelectItems());
for (final String propertyName : type.getPropertyNames()) {
if ((all || selected.contains(propertyName)) && !properties.isEmpty()) {
final EdmProperty edmProperty = type.getStructuralProperty(propertyName);
final Property property = findProperty(propertyName, properties);
final Set<List<String>> selectedPaths = all || edmProperty.isPrimitive() ? null : ExpandSelectHelper
.getSelectedPaths(select.getSelectItems(), propertyName);
writeProperty(metadata, edmProperty, property, selectedPaths, json);
}
}
}
示例7: writeProperties
import org.apache.olingo.commons.api.edm.EdmProperty; //导入方法依赖的package包/类
protected void writeProperties(final ServiceMetadata metadata, final EdmStructuredType type,
final List<Property> properties,
final SelectOption select, final JsonGenerator json)
throws IOException, SerializerException {
final boolean all = ExpandSelectHelper.isAll(select);
final Set<String> selected = all ? new HashSet<String>() : ExpandSelectHelper.getSelectedPropertyNames(select
.getSelectItems());
for (final String propertyName : type.getPropertyNames()) {
if (all || selected.contains(propertyName)) {
final EdmProperty edmProperty = type.getStructuralProperty(propertyName);
final Property property = findProperty(propertyName, properties);
final Set<List<String>> selectedPaths = all || edmProperty.isPrimitive() ? null : ExpandSelectHelper
.getSelectedPaths(select.getSelectItems(), propertyName);
writeProperty(metadata, edmProperty, property, selectedPaths, json);
}
}
}
示例8: writeProperties
import org.apache.olingo.commons.api.edm.EdmProperty; //导入方法依赖的package包/类
protected void writeProperties(final ServiceMetadata metadata, final EdmStructuredType type,
final List<Property> properties, final SelectOption select, final String xml10InvalidCharReplacement,
final XMLStreamWriter writer) throws XMLStreamException, SerializerException {
final boolean all = ExpandSelectHelper.isAll(select);
final Set<String> selected = all ? new HashSet<String>() :
ExpandSelectHelper.getSelectedPropertyNames(select.getSelectItems());
for (final String propertyName : type.getPropertyNames()) {
if (all || selected.contains(propertyName)) {
final EdmProperty edmProperty = type.getStructuralProperty(propertyName);
final Property property = findProperty(propertyName, properties);
final Set<List<String>> selectedPaths = all || edmProperty.isPrimitive() ? null :
ExpandSelectHelper.getSelectedPaths(select.getSelectItems(), propertyName);
writeProperty(metadata, edmProperty, property, selectedPaths, xml10InvalidCharReplacement, writer);
}
}
}
示例9: updateProperty
import org.apache.olingo.commons.api.edm.EdmProperty; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
public void updateProperty(final EdmProperty edmProperty, Property property,
final Property newProperty, final boolean patch) throws DataProviderException {
if (edmProperty.isPrimitive()) {
if (newProperty != null || !patch) {
final Object value = newProperty == null ? null : newProperty.getValue();
updatePropertyValue(property, value);
}
} else if (edmProperty.isCollection()) {
// Updating collection properties means replacing all entries with the given ones.
property.asCollection().clear();
if (newProperty != null) {
if (edmProperty.getType().getKind() == EdmTypeKind.COMPLEX) {
// Complex type
final List<ComplexValue> complexValues = (List<ComplexValue>) newProperty.asCollection();
// Create each complex value
for (final ComplexValue complexValue : complexValues) {
((List<ComplexValue>) property.asCollection())
.add(createComplexValue(edmProperty, complexValue, patch));
}
} else {
// Primitive type
final List<Object> values = (List<Object>) newProperty.asCollection();
((List<Object>) property.asCollection()).addAll(values);
}
}
} else {
final EdmComplexType type = (EdmComplexType) edmProperty.getType();
for (final String propertyName : type.getPropertyNames()) {
final List<Property> newProperties = newProperty == null || newProperty.asComplex() == null
? null : newProperty.asComplex().getValue();
updateProperty(type.getStructuralProperty(propertyName),
findProperty(propertyName, property.asComplex().getValue()),
newProperties == null ? null : findProperty(propertyName, newProperties), patch);
}
}
}
示例10: writePropertyType
import org.apache.olingo.commons.api.edm.EdmProperty; //导入方法依赖的package包/类
private void writePropertyType(final EdmProperty edmProperty, JsonGenerator json)
throws SerializerException, IOException {
if (!isODataMetadataFull) {
return;
}
String typeName = edmProperty.getName() + constants.getType();
final EdmType type = edmProperty.getType();
if (type.getKind() == EdmTypeKind.ENUM || type.getKind() == EdmTypeKind.DEFINITION) {
if (edmProperty.isCollection()) {
json.writeStringField(typeName,
"#Collection(" + type.getFullQualifiedName().getFullQualifiedNameAsString() + ")");
} else {
json.writeStringField(typeName, "#" + type.getFullQualifiedName().getFullQualifiedNameAsString());
}
} else if (edmProperty.isPrimitive()) {
if (edmProperty.isCollection()) {
json.writeStringField(typeName, "#Collection(" + type.getFullQualifiedName().getName() + ")");
} else {
// exclude the properties that can be heuristically determined
if (type != EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Boolean) &&
type != EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Double) &&
type != EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.String)) {
json.writeStringField(typeName, "#" + type.getFullQualifiedName().getName());
}
}
} else if (type.getKind() == EdmTypeKind.COMPLEX) {
// non-collection case written in writeComplex method directly.
if (edmProperty.isCollection()) {
json.writeStringField(typeName,
"#Collection(" + type.getFullQualifiedName().getFullQualifiedNameAsString() + ")");
}
} else {
throw new SerializerException("Property type not yet supported!",
SerializerException.MessageKeys.UNSUPPORTED_PROPERTY_TYPE, edmProperty.getName());
}
}
示例11: writePropertyValue
import org.apache.olingo.commons.api.edm.EdmProperty; //导入方法依赖的package包/类
private void writePropertyValue(final ServiceMetadata metadata, final EdmProperty edmProperty,
final Property property, final Set<List<String>> selectedPaths, final JsonGenerator json)
throws IOException, SerializerException {
final EdmType type = edmProperty.getType();
try {
if (edmProperty.isPrimitive()
|| type.getKind() == EdmTypeKind.ENUM || type.getKind() == EdmTypeKind.DEFINITION) {
if (edmProperty.isCollection()) {
writePrimitiveCollection((EdmPrimitiveType) type, property,
edmProperty.isNullable(), edmProperty.getMaxLength(),
edmProperty.getPrecision(), edmProperty.getScale(), edmProperty.isUnicode(), json);
} else {
writePrimitive((EdmPrimitiveType) type, property,
edmProperty.isNullable(), edmProperty.getMaxLength(),
edmProperty.getPrecision(), edmProperty.getScale(), edmProperty.isUnicode(), json);
}
} else if (property.isComplex()) {
if (edmProperty.isCollection()) {
writeComplexCollection(metadata, (EdmComplexType) type, property, selectedPaths, json);
} else {
writeComplex(metadata, (EdmComplexType) type, property, selectedPaths, json);
}
} else {
throw new SerializerException("Property type not yet supported!",
SerializerException.MessageKeys.UNSUPPORTED_PROPERTY_TYPE, edmProperty.getName());
}
} catch (final EdmPrimitiveTypeException e) {
throw new SerializerException("Wrong value for property!", e,
SerializerException.MessageKeys.WRONG_PROPERTY_VALUE,
edmProperty.getName(), property.getValue().toString());
}
}
示例12: writePropertyValue
import org.apache.olingo.commons.api.edm.EdmProperty; //导入方法依赖的package包/类
private void writePropertyValue(final ServiceMetadata metadata, final EdmProperty edmProperty,
final Property property, final Set<List<String>> selectedPaths, final JsonGenerator json)
throws IOException, SerializerException {
final EdmType type = edmProperty.getType();
try {
if (edmProperty.isPrimitive()
|| type.getKind() == EdmTypeKind.ENUM || type.getKind() == EdmTypeKind.DEFINITION) {
if (edmProperty.isCollection()) {
writePrimitiveCollection((EdmPrimitiveType) type, property,
edmProperty.isNullable(), edmProperty.getMaxLength(),
edmProperty.getPrecision(), edmProperty.getScale(), edmProperty.isUnicode(), json);
} else {
writePrimitive((EdmPrimitiveType) type, property,
edmProperty.isNullable(), edmProperty.getMaxLength(),
edmProperty.getPrecision(), edmProperty.getScale(), edmProperty.isUnicode(), json);
}
} else if (property.isComplex()) {
if (edmProperty.isCollection()) {
writeComplexCollection(metadata, (EdmComplexType) type, property, selectedPaths, json);
} else {
writeComplex(metadata, (EdmComplexType) type, property, selectedPaths, json);
}
} else {
throw new SerializerException("Property type not yet supported!",
SerializerException.MessageKeys.UNSUPPORTED_PROPERTY_TYPE, edmProperty.getName());
}
} catch (final EdmPrimitiveTypeException e) {
throw new SerializerException("Wrong value for property!", e,
SerializerException.MessageKeys.WRONG_PROPERTY_VALUE,
edmProperty.getName(), property.getValue().toString());
}
}
示例13: addSelectPath
import org.apache.olingo.commons.api.edm.EdmProperty; //导入方法依赖的package包/类
private void addSelectPath(UriTokenizer tokenizer, final EdmStructuredType referencedType, UriInfoImpl resource)
throws UriParserException {
final String name = tokenizer.getText();
final EdmProperty property = referencedType.getStructuralProperty(name);
if (property == null) {
final EdmNavigationProperty navigationProperty = referencedType.getNavigationProperty(name);
if (navigationProperty == null) {
throw new UriParserSemanticException("Selected property not found.",
UriParserSemanticException.MessageKeys.EXPRESSION_PROPERTY_NOT_IN_TYPE,
referencedType.getName(), name);
} else {
resource.addResourcePart(new UriResourceNavigationPropertyImpl(navigationProperty));
}
} else if (property.isPrimitive()
|| property.getType().getKind() == EdmTypeKind.ENUM
|| property.getType().getKind() == EdmTypeKind.DEFINITION) {
resource.addResourcePart(new UriResourcePrimitivePropertyImpl(property));
} else {
UriResourceComplexPropertyImpl complexPart = new UriResourceComplexPropertyImpl(property);
resource.addResourcePart(complexPart);
if (tokenizer.next(TokenKind.SLASH)) {
if (tokenizer.next(TokenKind.QualifiedName)) {
final FullQualifiedName qualifiedName = new FullQualifiedName(tokenizer.getText());
final EdmComplexType type = edm.getComplexType(qualifiedName);
if (type == null) {
throw new UriParserSemanticException("Type not found.",
UriParserSemanticException.MessageKeys.UNKNOWN_TYPE, qualifiedName.getFullQualifiedNameAsString());
} else if (type.compatibleTo(property.getType())) {
complexPart.setTypeFilter(type);
if (tokenizer.next(TokenKind.SLASH)) {
if (tokenizer.next(TokenKind.ODataIdentifier)) {
addSelectPath(tokenizer, type, resource);
} else {
throw new UriParserSemanticException("Unknown part after '/'.",
UriParserSemanticException.MessageKeys.UNKNOWN_PART, "");
}
}
} else {
throw new UriParserSemanticException("The type cast is not compatible.",
UriParserSemanticException.MessageKeys.INCOMPATIBLE_TYPE_FILTER, type.getName());
}
} else if (tokenizer.next(TokenKind.ODataIdentifier)) {
addSelectPath(tokenizer, (EdmStructuredType) property.getType(), resource);
} else if (tokenizer.next(TokenKind.SLASH)) {
throw new UriParserSyntaxException("Illegal $select expression.",
UriParserSyntaxException.MessageKeys.SYNTAX);
} else {
throw new UriParserSemanticException("Unknown part after '/'.",
UriParserSemanticException.MessageKeys.UNKNOWN_PART, "");
}
}
}
}
示例14: appendProperties
import org.apache.olingo.commons.api.edm.EdmProperty; //导入方法依赖的package包/类
private void appendProperties(final JsonGenerator json,
final EdmStructuredType type) throws SerializerException, IOException {
List<String> propertyNames = new ArrayList<String>(type.getPropertyNames());
if (type.getBaseType() != null) {
propertyNames.removeAll(type.getBaseType().getPropertyNames());
}
for (String propertyName : propertyNames) {
EdmProperty property = type.getStructuralProperty(propertyName);
json.writeObjectFieldStart(propertyName);
String fqnString;
if (property.isPrimitive()) {
fqnString = getFullQualifiedName(property.getType());
} else {
fqnString = getAliasedFullQualifiedName(property.getType());
}
json.writeStringField(TYPE, fqnString);
if (property.isCollection()) {
json.writeBooleanField(COLLECTION, property.isCollection());
}
// Facets
if (!property.isNullable()) {
json.writeBooleanField(NULLABLE, property.isNullable());
}
if (!property.isUnicode()) {
json.writeBooleanField(UNICODE, property.isUnicode());
}
if (property.getDefaultValue() != null) {
json.writeStringField(DEFAULT_VALUE, property.getDefaultValue());
}
if (property.getMaxLength() != null) {
json.writeNumberField(MAX_LENGTH, property.getMaxLength());
}
if (property.getPrecision() != null) {
json.writeNumberField(PRECISION, property.getPrecision());
}
if (property.getScale() != null) {
json.writeNumberField(SCALE, property.getScale());
}
appendAnnotations(json, property, null);
json.writeEndObject();
}
}
示例15: isStreamProperty
import org.apache.olingo.commons.api.edm.EdmProperty; //导入方法依赖的package包/类
private boolean isStreamProperty(EdmProperty edmProperty) {
final EdmType type = edmProperty.getType();
return (edmProperty.isPrimitive() && type == EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Stream));
}