Get some properties value for a device. (execute DbGetDevicePropertyList on DB device)

@param name
The device name
@param propertyNames
The list of properties to retrieve. Empty if all
@return
@throws DevFailed
199893
@Override
    public Map<String, String[]> getDeviceProperties(final String name, final String... propertyNames) throws DevFailed {
        return cache.getDeviceProperties(name, propertyNames);
    }
614271
public DbDatum[] get_device_property(Database database, String name, DbDatum[] properties)
            throws DevFailed {
        String type = "Device";    //	Device object type
        return get_obj_property(database, name, type, properties);
    }
47228
public void deleteDevicePipeProperty(String deviceName,
                                         String pipeName, String propertyName) throws DevFailed {
        ArrayList<String>   list = new ArrayList<String>(1);
        list.add(propertyName);
        databaseDAO.deleteDevicePipeProperties(this, deviceName, pipeName, list);
    }
773705
public void deleteDevicePipeProperties(String deviceName,
                                         String pipeName, String[] propertyNames) throws DevFailed {
        ArrayList<String>   list = new ArrayList<String>(propertyNames.length);
        Collections.addAll(list, propertyNames);
        databaseDAO.deleteDevicePipeProperties(this, deviceName, pipeName, list);
    }
388672
public DbDatum getDevicePipeProperty(String deviceName, String pipeName, String propertyName) throws DevFailed {
        DbPipe dbPipe = databaseDAO.getDevicePipeProperties(this, deviceName, pipeName);
        DbDatum datum = dbPipe.getDatum(propertyName);
        if (datum==null)
            Except.throw_exception("TangoApi_PropertyNotFound",
                    "Property " + propertyName + " not found for pipe " + pipeName);
        return datum;
    }
1184717
public void deletePipeProperties(String pipeName, String[] propertyNames) throws DevFailed {
        ArrayList<String>   list = new ArrayList<String>(propertyNames.length);
        Collections.addAll(list, propertyNames);
        deletePipeProperties(pipeName, list);
    }
1195682
public DbHistory[] get_device_property_history(Database database, String deviceName, String propname)
            throws DevFailed {
        if (!database.isAccess_checked()) checkAccess(database);

        DeviceData argIn = new DeviceData();
        argIn.insert(new String[]{deviceName, propname});
        DeviceData argOut = command_inout(database, "DbGetDevicePropertyHist", argIn);
        List<DbHistory> dbHistories = convertPropertyHistory(argOut.extractStringArray(), false);
        DbHistory[] array = new DbHistory[dbHistories.size()];
        for (int i=0 ; i<array.length ; i++)
            array[i] = dbHistories.get(i);
        return array;
    }
473815
private DbDatum get_obj_property(Database database, String name, String type, String propname)
            throws DevFailed {
        if (!database.isAccess_checked()) checkAccess(database);

        //	Format input parameters as string array
        //--------------------------------------------
        String[] array;
        array = new String[1];
        array[0] = propname;
        DbDatum[] data = get_obj_property(database, name, type, array);
        return data[0];
    }
1341785
public void delete_attribute_property(String attname, String[] propnames) throws DevFailed {
        deviceProxyDAO.delete_attribute_property(this, attname, propnames);
    }
234352
public void removeAttributeProperties(final String attributeName) throws DevFailed {
        final AttributeImpl attr = AttributeGetterSetter.getAttribute(attributeName, device.getAttributeList());
        attr.removeProperties();
    }
793470
public DbAttribute[] get_device_attribute_property(String devname, String[] attnames) throws DevFailed {
		return databaseDAO.get_device_attribute_property(this, devname, attnames);
	}
979872
public void setAttributeProperties(final String attributeName, final AttributePropertiesImpl properties)
            throws DevFailed {
        final AttributeImpl attr = AttributeGetterSetter.getAttribute(attributeName, device.getAttributeList());
        attr.setProperties(properties);
    }
951827
public void put_property(Database database, String name, DbDatum[] properties)
            throws DevFailed {
        if (!database.isAccess_checked()) checkAccess(database);

        String[] array = dbdatum2StringArray(name, properties);
        DeviceData argIn = new DeviceData();
        argIn.insert(array);
        command_inout(database, "DbPutProperty", argIn);
    }
1163054
private DbDatum[] get_obj_property(Database database, String name, String type, String[] propnames)
            throws DevFailed {
        if (!database.isAccess_checked()) checkAccess(database);

        //	Format input parameters as string array
        //--------------------------------------------
        String[] array;
        array = new String[1 + propnames.length];
        array[0] = name;
        System.arraycopy(propnames, 0, array, 1, propnames.length);

        //	Buid command name (depends on object type)
        //---------------------------------------------------
        String cmd = "DbGet" + type + "Property";

        //	Read Database
        //---------------------
        DeviceData argIn = new DeviceData();
        argIn.insert(array);
        DeviceData argOut = command_inout(database, cmd, argIn);
        String[] result = argOut.extractStringArray();

        //	And convert to DbDatum array before returning
        //-------------------------------------------------
        return stringArray2DbDatum(result);
    }
534318
public void delete_device_attribute_property(String devname, String attname, String[] propnames) throws DevFailed {
		databaseDAO.delete_device_attribute_property(this, devname, attname, propnames);
	}
288971
public void delete_attribute_property(String attributeName, String propertyName) throws DevFailed {
        database.delete_class_attribute_property(className, attributeName, propertyName);
    }
340427
public void delete_attribute_property(String attributeName, String[] propertyNames) throws DevFailed {
        database.delete_class_attribute_property(className, attributeName, propertyNames);
    }