/** * personium.io * Copyright 2014 FUJITSU LIMITED * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.fujitsu.dc.core.model.ctl; import org.core4j.Enumerable; import org.odata4j.edm.EdmComplexType; import org.odata4j.edm.EdmEntityType; import org.odata4j.edm.EdmProperty; import org.odata4j.edm.EdmProperty.CollectionKind; import org.odata4j.edm.EdmSimpleType; /** * SentMessage のEdm 定義体. */ public class SentMessage { /** * コンストラクタ. */ protected SentMessage() { } /** * Edm EntityType名. */ public static final String EDM_TYPE_NAME = "SentMessage"; /** * _Box.Nameプロパティの定義体. */ public static final EdmProperty.Builder P_BOX_NAME = EdmProperty.newBuilder("_Box.Name") .setType(EdmSimpleType.STRING) .setNullable(true); /** * InReplyToプロパティの定義体. */ public static final EdmProperty.Builder P_IN_REPLY_TO = EdmProperty.newBuilder("InReplyTo") .setType(EdmSimpleType.STRING) .setNullable(true) .setAnnotations(Common.DC_FORMAT_IN_REPLY_TO); /** * Toプロパティの定義体. */ public static final EdmProperty.Builder P_TO = EdmProperty.newBuilder("To") .setType(EdmSimpleType.STRING) .setNullable(true); /** * ToRelationプロパティの定義体. */ public static final EdmProperty.Builder P_TO_RELATION = EdmProperty.newBuilder("ToRelation") .setType(EdmSimpleType.STRING) .setNullable(true) .setAnnotations(Common.DC_FORMAT_RELATION_NAME); /** * Typeプロパティの定義体. */ public static final EdmProperty.Builder P_TYPE = EdmProperty.newBuilder("Type") .setType(EdmSimpleType.STRING) .setNullable(true) .setDefaultValue(ReceivedMessage.TYPE_MESSAGE) .setAnnotations(Common.DC_FORMAT_MESSAGE_TYPE); /** * Titleプロパティの定義体. */ public static final EdmProperty.Builder P_TITLE = EdmProperty.newBuilder("Title") .setType(EdmSimpleType.STRING) .setNullable(true) .setDefaultValue("") .setAnnotations(Common.DC_FORMAT_MESSAGE_TITLE); /** * Bodyプロパティの定義体. */ public static final EdmProperty.Builder P_BODY = EdmProperty.newBuilder("Body") .setType(EdmSimpleType.STRING) .setNullable(true) .setDefaultValue(""); /** * Priorityプロパティの定義体. */ public static final EdmProperty.Builder P_PRIORITY = EdmProperty.newBuilder("Priority") .setType(EdmSimpleType.INT32) .setNullable(true) .setDefaultValue("3") .setAnnotations(Common.DC_FORMAT_MESSAGE_PRIORITY); /** * RequestRelationプロパティの定義体. */ public static final EdmProperty.Builder P_REQUEST_RELATION = EdmProperty.newBuilder("RequestRelation") .setType(EdmSimpleType.STRING) .setNullable(true) .setAnnotations(Common.DC_FORMAT_URI); /** * RequestRelationTargetプロパティの定義体. */ public static final EdmProperty.Builder P_REQUEST_RELATION_TARGET = EdmProperty.newBuilder("RequestRelationTarget") .setType(EdmSimpleType.STRING) .setNullable(true) .setAnnotations(Common.DC_FORMAT_URI); /** * Result/Toプロパティの定義体. */ public static final EdmProperty.Builder P_RESULT_TO = EdmProperty.newBuilder("To") .setType(EdmSimpleType.STRING) .setNullable(true) .setAnnotations(Common.DC_FORMAT_URI); /** * Result/Codeプロパティの定義体. */ public static final EdmProperty.Builder P_RESULT_CODE = EdmProperty.newBuilder("Code") .setType(EdmSimpleType.STRING) .setNullable(true); /** * Result/Reasonプロパティの定義体. */ public static final EdmProperty.Builder P_RESULT_REASON = EdmProperty.newBuilder("Reason") .setType(EdmSimpleType.STRING) .setNullable(true); /** * Resultプロパティの Builder. */ public static final EdmComplexType.Builder COMPLEXTYPE_BUILDER = EdmComplexType.newBuilder() .setNamespace(Common.EDM_NS_CELL_CTL) .setName("Sent_Message_Result") .addProperties(Enumerable.create(P_RESULT_TO, P_RESULT_CODE, P_RESULT_REASON).toList()); /** * Resultプロパティの定義体. */ public static final EdmProperty.Builder P_RESULT = EdmProperty.newBuilder("Result") .setType(COMPLEXTYPE_BUILDER.build()) .setCollectionKind(CollectionKind.List) .setNullable(true); /** * EntityType Builder. */ public static final EdmEntityType.Builder EDM_TYPE_BUILDER = EdmEntityType .newBuilder() .setNamespace(Common.EDM_NS_CELL_CTL) .setName(EDM_TYPE_NAME) .addProperties( Enumerable.create(Common.P_ID, P_BOX_NAME, P_IN_REPLY_TO, P_TO, P_TO_RELATION, P_TYPE, P_TITLE, P_BODY, P_PRIORITY, P_REQUEST_RELATION, P_REQUEST_RELATION_TARGET, P_RESULT, Common.P_PUBLISHED, Common.P_UPDATED).toList()).addKeys(Common.P_ID.getName()); }