• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java ObjectModel类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.eclipse.leshan.core.model.ObjectModel的典型用法代码示例。如果您正苦于以下问题:Java ObjectModel类的具体用法?Java ObjectModel怎么用?Java ObjectModel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ObjectModel类属于org.eclipse.leshan.core.model包,在下文中一共展示了ObjectModel类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getResourceModelInfo

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
public ResourceModel getResourceModelInfo(String path){
  	ResourceModel mModel = null;
  	try{
  		String[] path_arr = path.split("/");
  		if(path_arr.length == 5){
   		int object_id = Integer.parseInt(path_arr[2]);
   		int resource_id = Integer.parseInt(path_arr[4]);
   		
    	LwM2mModel model = lwServer.getModelProvider().getObjectModel(null);
    	ObjectModel[] allmodels = model.getObjectModels().toArray(new ObjectModel[] {});
    	for(int i = 0; i < allmodels.length; i++){
    		
    		if(object_id == allmodels[i].id){
    			mModel = allmodels[i].resources.get(resource_id);
    			break;
    		}
    	}
  		}
  	}catch (Exception e) {
	// TODO: handle exception
}
  	return mModel;
  }
 
开发者ID:IoTKETI,项目名称:IPE-LWM2M,代码行数:24,代码来源:SimpleLwm2mServer.java


示例2: serialize

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
@Override
public JsonElement serialize(ObjectModel object, Type typeOfSrc, JsonSerializationContext context) {
    JsonObject element = new JsonObject();

    // sort resources value
    List<ResourceModel> resourceSpecs = new ArrayList<ResourceModel>(object.resources.values());
    Collections.sort(resourceSpecs, new Comparator<ResourceModel>() {
        @Override
        public int compare(ResourceModel r1, ResourceModel r2) {
            return r1.id - r2.id;
        }
    });

    // serialize fields
    element.addProperty("name", object.name);
    element.addProperty("id", object.id);
    element.addProperty("instancetype", object.multiple ? "multiple" : "single");
    element.addProperty("mandatory", object.mandatory);
    element.addProperty("description", object.description);
    element.add("resourcedefs", context.serialize(resourceSpecs));

    return element;
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:24,代码来源:ObjectModelSerializer.java


示例3: deserialize

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
@Override
public ObjectModel deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
        throws JsonParseException {
    if (json == null)
        return null;

    if (!json.isJsonObject())
        return null;

    JsonObject jsonObject = json.getAsJsonObject();
    if (!jsonObject.has("id"))
        return null;

    int id = jsonObject.get("id").getAsInt();
    String name = jsonObject.get("name").getAsString();
    String instancetype = jsonObject.get("instancetype").getAsString();
    boolean mandatory = jsonObject.get("mandatory").getAsBoolean();
    String description = jsonObject.get("description").getAsString();
    ResourceModel[] resourceSpecs = context.deserialize(jsonObject.get("resourcedefs"), ResourceModel[].class);

    return new ObjectModel(id, name, description, "multiple".equals(instancetype), mandatory, resourceSpecs);
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:23,代码来源:ObjectModelDeserializer.java


示例4: getFactoryFor

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
protected LwM2mInstanceEnablerFactory getFactoryFor(ObjectModel objectModel) {
    // if we have a factory for this object id, return it
    LwM2mInstanceEnablerFactory instanceFactory = factories.get(objectModel.id);
    if (instanceFactory != null)
        return instanceFactory;

    // if there are no factory for this object check in instance list.
    LwM2mInstanceEnabler[] instances = this.instances.get(objectModel.id);
    if (instances != null) {
        for (LwM2mInstanceEnabler instance : instances) {
            // check if the class of this instance has a default constructors;
            try {
                Class<? extends LwM2mInstanceEnabler> clazz = instance.getClass();
                clazz.getConstructor();
                return getClassFactory(clazz);
            } catch (NoSuchMethodException e) {
                // no default constructor.
            }
        }
    }
    // default class :
    return defaultFactory;
}
 
开发者ID:eclipse,项目名称:leshan,代码行数:24,代码来源:ObjectsInitializer.java


示例5: createObjectModels

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
protected List<ObjectModel> createObjectModels() {
    // load default object from the spec
    List<ObjectModel> objectModels = ObjectLoader.loadDefault();
    // define custom model for testing purpose
    ResourceModel stringfield = new ResourceModel(STRING_RESOURCE_ID, "stringres", Operations.RW, false, false,
            Type.STRING, null, null, null);
    ResourceModel booleanfield = new ResourceModel(BOOLEAN_RESOURCE_ID, "booleanres", Operations.RW, false, false,
            Type.BOOLEAN, null, null, null);
    ResourceModel integerfield = new ResourceModel(INTEGER_RESOURCE_ID, "integerres", Operations.RW, false, false,
            Type.INTEGER, null, null, null);
    ResourceModel floatfield = new ResourceModel(FLOAT_RESOURCE_ID, "floatres", Operations.RW, false, false,
            Type.FLOAT, null, null, null);
    ResourceModel timefield = new ResourceModel(TIME_RESOURCE_ID, "timeres", Operations.RW, false, false, Type.TIME,
            null, null, null);
    ResourceModel opaquefield = new ResourceModel(OPAQUE_RESOURCE_ID, "opaque", Operations.RW, false, false,
            Type.OPAQUE, null, null, null);
    ResourceModel objlnkfield = new ResourceModel(OBJLNK_MULTI_INSTANCE_RESOURCE_ID, "objlnk", Operations.RW, true,
            false, Type.OBJLNK, null, null, null);
    ResourceModel objlnkSinglefield = new ResourceModel(OBJLNK_SINGLE_INSTANCE_RESOURCE_ID, "objlnk", Operations.RW,
            false, false, Type.OBJLNK, null, null, null);
    objectModels.add(new ObjectModel(TEST_OBJECT_ID, "testobject", null, ObjectModel.DEFAULT_VERSION, false, false,
            stringfield, booleanfield, integerfield, floatfield, timefield, opaquefield, objlnkfield,
            objlnkSinglefield));

    return objectModels;
}
 
开发者ID:eclipse,项目名称:leshan,代码行数:27,代码来源:IntegrationTestHelper.java


示例6: deserialize

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
@Override
public ObjectModel deserialize(JsonObject o) {
    if (o == null)
        return null;

    if (!o.isObject())
        return null;

    int id = o.getInt("id", -1);
    if (id < 0)
        return null;

    String name = o.getString("name", null);
    String instancetype = o.getString("instancetype", null);
    boolean mandatory = o.getBoolean("mandatory", false);
    String description = o.getString("description", null);
    String version = o.getString("version", ObjectModel.DEFAULT_VERSION);
    List<ResourceModel> resourceSpecs = resourceModelSerDes.deserialize(o.get("resourcedefs").asArray());

    return new ObjectModel(id, name, description, version, "multiple".equals(instancetype), mandatory,
            resourceSpecs);
}
 
开发者ID:eclipse,项目名称:leshan,代码行数:23,代码来源:ObjectModelSerDes.java


示例7: des_ser_must_be_equals

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
@Test
public void des_ser_must_be_equals() throws IOException {
    // load file
    InputStream inputStream = ObjectModelSerDesTest.class.getResourceAsStream("/model.json");
    ByteArrayOutputStream result = new ByteArrayOutputStream();
    byte[] buffer = new byte[1024];
    int length;
    while ((length = inputStream.read(buffer)) != -1) {
        result.write(buffer, 0, length);
    }
    String smodel = result.toString("UTF-8");

    // deserialize
    ObjectModelSerDes serDes = new ObjectModelSerDes();
    JsonValue json = Json.parse(smodel);
    List<ObjectModel> models = serDes.deserialize(json.asArray());

    // serialize
    JsonArray arr = serDes.jSerialize(models);
    String res = arr.toString(WriterConfig.PRETTY_PRINT);

    Assert.assertEquals("value should be equals", smodel, res);
}
 
开发者ID:eclipse,项目名称:leshan,代码行数:24,代码来源:ObjectModelSerDesTest.java


示例8: ObjectSpecServlet

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
public ObjectSpecServlet(LwM2mModelProvider pModelProvider) {
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeHierarchyAdapter(ObjectModel.class, new ObjectModelSerializer());
    gsonBuilder.registerTypeHierarchyAdapter(ResourceModel.class, new ResourceModelSerializer());
    this.gson = gsonBuilder.create();

    // use the provider from the server and return a model by client
    modelProvider = pModelProvider;
}
 
开发者ID:IoTKETI,项目名称:IPE-LWM2M,代码行数:10,代码来源:ObjectSpecServlet.java


示例9: doGet

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    if (req.getPathInfo() == null) {
        LwM2mModel model = modelProvider.getObjectModel(null);

        String json = this.gson.toJson(model.getObjectModels().toArray(new ObjectModel[] {}));
        System.out.println(json);
        resp.setContentType("application/json");
        resp.getOutputStream().write(json.getBytes(StandardCharsets.UTF_8));
        resp.setStatus(HttpServletResponse.SC_OK);
        return;
    }
}
 
开发者ID:IoTKETI,项目名称:IPE-LWM2M,代码行数:14,代码来源:ObjectSpecServlet.java


示例10: visit

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
@Override
public void visit(LwM2mObject object) {
    LOG.trace("Encoding object {} into TLV", object);

    Tlv[] tlvs = null;

    ObjectModel objectModel = model.getObjectModel(object.getId());
    if (objectModel != null && !objectModel.multiple) {
        // single instance object, the instance is level is not needed
        tlvs = encodeResources(object.getInstance(0).getResources().values());
    } else {
        // encoded as an array of instances
        tlvs = new Tlv[object.getInstances().size()];
        int i = 0;
        for (Entry<Integer, LwM2mObjectInstance> instance : object.getInstances().entrySet()) {
            Tlv[] resources = encodeResources(instance.getValue().getResources().values());
            tlvs[i] = new Tlv(TlvType.OBJECT_INSTANCE, resources, null, instance.getKey());
            i++;
        }
    }

    try {
        out.write(TlvEncoder.encode(tlvs).array());
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:28,代码来源:LwM2mNodeTlvEncoder.java


示例11: doGet

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    if (req.getPathInfo() == null) {
        LwM2mModel model = modelProvider.getObjectModel(null);

        String json = this.gson.toJson(model.getObjectModels().toArray(new ObjectModel[] {}));
        resp.setContentType("application/json");
        resp.getOutputStream().write(json.getBytes("UTF-8"));
        resp.setStatus(HttpServletResponse.SC_OK);
        return;
    }
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:13,代码来源:ObjectSpecServlet.java


示例12: ObjectEnabler

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
public ObjectEnabler(int id, ObjectModel objectModel, Map<Integer, LwM2mInstanceEnabler> instances,
        LwM2mInstanceEnablerFactory instanceFactory) {
    super(id, objectModel);
    this.instances = new HashMap<>(instances);
    this.instanceFactory = instanceFactory;
    for (Entry<Integer, LwM2mInstanceEnabler> entry : this.instances.entrySet()) {
        addInstance(entry.getKey(), entry.getValue());
    }
}
 
开发者ID:eclipse,项目名称:leshan,代码行数:10,代码来源:ObjectEnabler.java


示例13: setInstancesForObject

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
public void setInstancesForObject(int objectId, LwM2mInstanceEnabler... instances) {
    ObjectModel objectModel = model.getObjectModel(objectId);
    if (objectModel == null) {
        throw new IllegalArgumentException(
                "Cannot set Instances Class for Object " + objectId + " because no model is defined for this id.");
    }
    Validate.notNull(instances);
    Validate.notEmpty(instances);

    if (instances.length > 1 && !objectModel.multiple)
        throw new IllegalArgumentException("Cannot set more than one instance for the single Object " + objectId);

    this.instances.put(objectId, instances);
}
 
开发者ID:eclipse,项目名称:leshan,代码行数:15,代码来源:ObjectsInitializer.java


示例14: createMandatory

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
public List<LwM2mObjectEnabler> createMandatory() {
    Collection<ObjectModel> objectModels = model.getObjectModels();

    List<LwM2mObjectEnabler> enablers = new ArrayList<>();
    for (ObjectModel objectModel : objectModels) {
        if (objectModel.mandatory) {
            ObjectEnabler objectEnabler = createNodeEnabler(objectModel);
            if (objectEnabler != null)
                enablers.add(objectEnabler);
        }
    }
    return enablers;
}
 
开发者ID:eclipse,项目名称:leshan,代码行数:14,代码来源:ObjectsInitializer.java


示例15: create

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
public LwM2mObjectEnabler create(int objectId) {
    ObjectModel objectModel = model.getObjectModel(objectId);
    if (objectModel == null) {
        throw new IllegalArgumentException(
                "Cannot create object for id " + objectId + " because no model is defined for this id.");
    }
    return createNodeEnabler(objectModel);
}
 
开发者ID:eclipse,项目名称:leshan,代码行数:9,代码来源:ObjectsInitializer.java


示例16: createNodeEnabler

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
protected ObjectEnabler createNodeEnabler(ObjectModel objectModel) {
    Map<Integer, LwM2mInstanceEnabler> instances = new HashMap<>();
    LwM2mInstanceEnabler[] newInstances = createInstances(objectModel);
    for (int i = 0; i < newInstances.length; i++) {
        instances.put(i, newInstances[i]);
    }
    return new ObjectEnabler(objectModel.id, objectModel, instances, getFactoryFor(objectModel));
}
 
开发者ID:eclipse,项目名称:leshan,代码行数:9,代码来源:ObjectsInitializer.java


示例17: createInstances

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
protected LwM2mInstanceEnabler[] createInstances(ObjectModel objectModel) {
    LwM2mInstanceEnabler[] newInstances = new LwM2mInstanceEnabler[0];
    if (instances.containsKey(objectModel.id)) {
        newInstances = instances.get(objectModel.id);
    } else {
        // we create instance from class only for single object
        if (!objectModel.multiple) {
            LwM2mInstanceEnablerFactory instanceFactory = getFactoryFor(objectModel);
            newInstances = new LwM2mInstanceEnabler[] { instanceFactory.create(objectModel) };
        }
    }
    return newInstances;
}
 
开发者ID:eclipse,项目名称:leshan,代码行数:14,代码来源:ObjectsInitializer.java


示例18: getClassFactory

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
protected LwM2mInstanceEnablerFactory getClassFactory(final Class<? extends LwM2mInstanceEnabler> clazz) {
    LwM2mInstanceEnablerFactory factory = new LwM2mInstanceEnablerFactory() {
        @Override
        public LwM2mInstanceEnabler create(ObjectModel model) {
            try {
                return clazz.newInstance();
            } catch (InstantiationException | IllegalAccessException e) {
                throw new RuntimeException(e);
            }
        }
    };
    return factory;
}
 
开发者ID:eclipse,项目名称:leshan,代码行数:14,代码来源:ObjectsInitializer.java


示例19: setObjectModel

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
public void setObjectModel(ObjectModel objectModel) {
    this.objectModel = objectModel;

    // initialize resources
    for (ResourceModel resourceModel : objectModel.resources.values()) {
        if (resourceModel.operations.isReadable()) {
            LwM2mResource newResource = createResource(objectModel, resourceModel);
            if (newResource != null) {
                resources.put(newResource.getId(), newResource);
            }
        }
    }
}
 
开发者ID:eclipse,项目名称:leshan,代码行数:14,代码来源:SimpleInstanceEnabler.java


示例20: getObjectDescription

import org.eclipse.leshan.core.model.ObjectModel; //导入依赖的package包/类
public static Link[] getObjectDescription(ObjectModel objectModel, String root) {
    List<Link> links = new ArrayList<>();

    // clean root path
    String rootPath = root == null ? "" : root;

    // create link for "object"
    Map<String, ?> objectAttributes = getObjectAttributes(objectModel);
    String objectURL = getPath("/", rootPath, Integer.toString(objectModel.id));
    links.add(new Link(objectURL, objectAttributes));

    // sort resources
    List<ResourceModel> resources = new ArrayList<>(objectModel.resources.values());
    Collections.sort(resources, new Comparator<ResourceModel>() {
        @Override
        public int compare(ResourceModel o1, ResourceModel o2) {
            return o1.id - o2.id;
        }
    });

    // create links for resource
    for (ResourceModel resourceModel : resources) {
        String resourceURL = getPath("/", rootPath, Integer.toString(objectModel.id), "0",
                Integer.toString(resourceModel.id));
        links.add(new Link(resourceURL));
    }

    return links.toArray(new Link[] {});
}
 
开发者ID:eclipse,项目名称:leshan,代码行数:30,代码来源:LinkFormatHelper.java



注:本文中的org.eclipse.leshan.core.model.ObjectModel类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java EffectiveAugmentationSchema类代码示例发布时间:2022-05-16
下一篇:
Java Point3D类代码示例发布时间:2022-05-16
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap