OpenECHO
 All Classes Namespaces Files Functions Variables
Sprinkler.java
Go to the documentation of this file.
1 /*
2  * Copyright 2012 Sony Computer Science Laboratories, Inc. <info@kadecot.net>
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.sonycsl.echo.eoj.device.housingfacilities;
17 
25 
26 public abstract class Sprinkler extends DeviceObject {
27 
28  public static final short ECHO_CLASS_CODE = (short)0x0267;
29 
30  public static final byte EPC_SPRINKLE_VALVE_OPEN_CLOSE_SETTING = (byte)0xE0;
31  public static final byte EPC_SPRINKLE_INTERVAL_SETTING = (byte)0xE1;
32  public static final byte EPC_NUMBER_OF_SPRINKLES_SETTING = (byte)0xE2;
33  public static final byte EPC_SPRINKLE_TIME_SETTING1 = (byte)0xE3;
34  public static final byte EPC_SPRINKLE_TIME_SETTING2 = (byte)0xE4;
35  public static final byte EPC_SPRINKLE_DURATION_SETTING = (byte)0xE5;
36 
37  @Override
38  protected void setupPropertyMaps() {
39  super.setupPropertyMaps();
40 
46  }
47 
48  @Override
49  public void onNew() {
50  super.onNew();
51  Echo.getEventListener().onNewSprinkler(this);
52  }
53 
54  @Override
55  public short getEchoClassCode() {
56  return ECHO_CLASS_CODE;
57  }
58 
84  protected boolean setOperationStatus(byte[] edt) {return false;}
110  protected abstract byte[] getOperationStatus();
134  protected abstract boolean setSprinkleValveOpenCloseSetting(byte[] edt);
158  protected abstract byte[] getSprinkleValveOpenCloseSetting();
182  protected boolean isValidSprinkleValveOpenCloseSetting(byte[] edt) {
183  if(edt == null || !(edt.length == 1)) return false;
184  return true;
185  }
209  protected boolean setSprinkleIntervalSetting(byte[] edt) {return false;}
233  protected byte[] getSprinkleIntervalSetting() {return null;}
257  protected boolean isValidSprinkleIntervalSetting(byte[] edt) {
258  if(edt == null || !(edt.length == 1)) return false;
259  return true;
260  }
285  protected boolean setNumberOfSprinklesSetting(byte[] edt) {return false;}
310  protected byte[] getNumberOfSprinklesSetting() {return null;}
335  protected boolean isValidNumberOfSprinklesSetting(byte[] edt) {
336  if(edt == null || !(edt.length == 1)) return false;
337  return true;
338  }
363  protected boolean setSprinkleTimeSetting1(byte[] edt) {return false;}
388  protected byte[] getSprinkleTimeSetting1() {return null;}
413  protected boolean isValidSprinkleTimeSetting1(byte[] edt) {
414  if(edt == null || !(edt.length == 2)) return false;
415  return true;
416  }
441  protected boolean setSprinkleTimeSetting2(byte[] edt) {return false;}
466  protected byte[] getSprinkleTimeSetting2() {return null;}
491  protected boolean isValidSprinkleTimeSetting2(byte[] edt) {
492  if(edt == null || !(edt.length == 2)) return false;
493  return true;
494  }
518  protected boolean setSprinkleDurationSetting(byte[] edt) {return false;}
542  protected byte[] getSprinkleDurationSetting() {return null;}
566  protected boolean isValidSprinkleDurationSetting(byte[] edt) {
567  if(edt == null || !(edt.length == 1)) return false;
568  return true;
569  }
570 
571  @Override
572  protected synchronized boolean setProperty(EchoProperty property) {
573  boolean success = super.setProperty(property);
574  if(success) return success;
575 
576  switch(property.epc) {
583  default : return false;
584  }
585  }
586 
587  @Override
588  protected synchronized byte[] getProperty(byte epc) {
589  byte[] edt = super.getProperty(epc);
590  if(edt != null) return edt;
591 
592  switch(epc) {
599  default : return null;
600  }
601  }
602 
603  @Override
604  protected synchronized boolean isValidProperty(EchoProperty property) {
605  boolean valid = super.isValidProperty(property);
606  if(valid) return valid;
607 
608  switch(property.epc) {
615  default : return false;
616  }
617  }
618 
619  @Override
620  public Setter set() {
621  return set(true);
622  }
623 
624  @Override
625  public Setter set(boolean responseRequired) {
626  return new Setter(getEchoClassCode(), getInstanceCode()
627  , getNode().getAddressStr(), responseRequired);
628  }
629 
630  @Override
631  public Getter get() {
632  return new Getter(getEchoClassCode(), getInstanceCode()
633  , getNode().getAddressStr());
634  }
635 
636  @Override
637  public Informer inform() {
638  return inform(isSelfObject());
639  }
640 
641  @Override
642  protected Informer inform(boolean multicast) {
643  String address;
644  if(multicast) {
646  } else {
647  address = getNode().getAddressStr();
648  }
649  return new Informer(getEchoClassCode(), getInstanceCode()
650  , address, isSelfObject());
651  }
652 
653  public static class Receiver extends DeviceObject.Receiver {
654 
655  @Override
656  protected boolean onSetProperty(EchoObject eoj, short tid, byte esv,
657  EchoProperty property, boolean success) {
658  boolean ret = super.onSetProperty(eoj, tid, esv, property, success);
659  if(ret) return true;
660 
661  switch(property.epc) {
663  onSetSprinkleValveOpenCloseSetting(eoj, tid, esv, property, success);
664  return true;
666  onSetSprinkleIntervalSetting(eoj, tid, esv, property, success);
667  return true;
669  onSetNumberOfSprinklesSetting(eoj, tid, esv, property, success);
670  return true;
672  onSetSprinkleTimeSetting1(eoj, tid, esv, property, success);
673  return true;
675  onSetSprinkleTimeSetting2(eoj, tid, esv, property, success);
676  return true;
678  onSetSprinkleDurationSetting(eoj, tid, esv, property, success);
679  return true;
680  default :
681  return false;
682  }
683  }
684 
685  @Override
686  protected boolean onGetProperty(EchoObject eoj, short tid, byte esv,
687  EchoProperty property, boolean success) {
688  boolean ret = super.onGetProperty(eoj, tid, esv, property, success);
689  if(ret) return true;
690 
691  switch(property.epc) {
693  onGetSprinkleValveOpenCloseSetting(eoj, tid, esv, property, success);
694  return true;
696  onGetSprinkleIntervalSetting(eoj, tid, esv, property, success);
697  return true;
699  onGetNumberOfSprinklesSetting(eoj, tid, esv, property, success);
700  return true;
702  onGetSprinkleTimeSetting1(eoj, tid, esv, property, success);
703  return true;
705  onGetSprinkleTimeSetting2(eoj, tid, esv, property, success);
706  return true;
708  onGetSprinkleDurationSetting(eoj, tid, esv, property, success);
709  return true;
710  default :
711  return false;
712  }
713  }
714 
738  protected void onSetSprinkleValveOpenCloseSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
762  protected void onGetSprinkleValveOpenCloseSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
786  protected void onSetSprinkleIntervalSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
810  protected void onGetSprinkleIntervalSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
835  protected void onSetNumberOfSprinklesSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
860  protected void onGetNumberOfSprinklesSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
885  protected void onSetSprinkleTimeSetting1(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
910  protected void onGetSprinkleTimeSetting1(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
935  protected void onSetSprinkleTimeSetting2(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
960  protected void onGetSprinkleTimeSetting2(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
984  protected void onSetSprinkleDurationSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
1008  protected void onGetSprinkleDurationSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
1009  }
1010 
1011  public static class Setter extends DeviceObject.Setter {
1012  public Setter(short dstEchoClassCode, byte dstEchoInstanceCode
1013  , String dstEchoAddress, boolean responseRequired) {
1014  super(dstEchoClassCode, dstEchoInstanceCode
1015  , dstEchoAddress, responseRequired);
1016  }
1017 
1018  @Override
1019  public Setter reqSetProperty(byte epc, byte[] edt) {
1020  return (Setter)super.reqSetProperty(epc, edt);
1021  }
1022 
1023  @Override
1024  public Setter reqSetOperationStatus(byte[] edt) {
1025  return (Setter)super.reqSetOperationStatus(edt);
1026  }
1027  @Override
1028  public Setter reqSetInstallationLocation(byte[] edt) {
1029  return (Setter)super.reqSetInstallationLocation(edt);
1030  }
1031  @Override
1032  public Setter reqSetCurrentLimitSetting(byte[] edt) {
1033  return (Setter)super.reqSetCurrentLimitSetting(edt);
1034  }
1035  @Override
1036  public Setter reqSetPowerSavingOperationSetting(byte[] edt) {
1037  return (Setter)super.reqSetPowerSavingOperationSetting(edt);
1038  }
1039  @Override
1040  public Setter reqSetRemoteControlSetting(byte[] edt) {
1041  return (Setter)super.reqSetRemoteControlSetting(edt);
1042  }
1043  @Override
1044  public Setter reqSetCurrentTimeSetting(byte[] edt) {
1045  return (Setter)super.reqSetCurrentTimeSetting(edt);
1046  }
1047  @Override
1048  public Setter reqSetCurrentDateSetting(byte[] edt) {
1049  return (Setter)super.reqSetCurrentDateSetting(edt);
1050  }
1051  @Override
1052  public Setter reqSetPowerLimitSetting(byte[] edt) {
1053  return (Setter)super.reqSetPowerLimitSetting(edt);
1054  }
1055 
1079  public Setter reqSetSprinkleValveOpenCloseSetting(byte[] edt) {
1080  reqSetProperty(EPC_SPRINKLE_VALVE_OPEN_CLOSE_SETTING, edt);
1081  return this;
1082  }
1106  public Setter reqSetSprinkleIntervalSetting(byte[] edt) {
1107  reqSetProperty(EPC_SPRINKLE_INTERVAL_SETTING, edt);
1108  return this;
1109  }
1134  public Setter reqSetNumberOfSprinklesSetting(byte[] edt) {
1135  reqSetProperty(EPC_NUMBER_OF_SPRINKLES_SETTING, edt);
1136  return this;
1137  }
1162  public Setter reqSetSprinkleTimeSetting1(byte[] edt) {
1163  reqSetProperty(EPC_SPRINKLE_TIME_SETTING1, edt);
1164  return this;
1165  }
1190  public Setter reqSetSprinkleTimeSetting2(byte[] edt) {
1191  reqSetProperty(EPC_SPRINKLE_TIME_SETTING2, edt);
1192  return this;
1193  }
1217  public Setter reqSetSprinkleDurationSetting(byte[] edt) {
1218  reqSetProperty(EPC_SPRINKLE_DURATION_SETTING, edt);
1219  return this;
1220  }
1221  }
1222 
1223  public static class Getter extends DeviceObject.Getter {
1224  public Getter(short dstEchoClassCode, byte dstEchoInstanceCode
1225  , String dstEchoAddress) {
1226  super(dstEchoClassCode, dstEchoInstanceCode
1227  , dstEchoAddress);
1228  }
1229 
1230  @Override
1231  public Getter reqGetProperty(byte epc) {
1232  return (Getter)super.reqGetProperty(epc);
1233  }
1234 
1235  @Override
1236  public Getter reqGetOperationStatus() {
1237  return (Getter)super.reqGetOperationStatus();
1238  }
1239  @Override
1240  public Getter reqGetInstallationLocation() {
1241  return (Getter)super.reqGetInstallationLocation();
1242  }
1243  @Override
1244  public Getter reqGetStandardVersionInformation() {
1245  return (Getter)super.reqGetStandardVersionInformation();
1246  }
1247  @Override
1248  public Getter reqGetIdentificationNumber() {
1249  return (Getter)super.reqGetIdentificationNumber();
1250  }
1251  @Override
1252  public Getter reqGetMeasuredInstantaneousPowerConsumption() {
1253  return (Getter)super.reqGetMeasuredInstantaneousPowerConsumption();
1254  }
1255  @Override
1256  public Getter reqGetMeasuredCumulativePowerConsumption() {
1257  return (Getter)super.reqGetMeasuredCumulativePowerConsumption();
1258  }
1259  @Override
1260  public Getter reqGetManufacturersFaultCode() {
1261  return (Getter)super.reqGetManufacturersFaultCode();
1262  }
1263  @Override
1264  public Getter reqGetCurrentLimitSetting() {
1265  return (Getter)super.reqGetCurrentLimitSetting();
1266  }
1267  @Override
1268  public Getter reqGetFaultStatus() {
1269  return (Getter)super.reqGetFaultStatus();
1270  }
1271  @Override
1272  public Getter reqGetFaultDescription() {
1273  return (Getter)super.reqGetFaultDescription();
1274  }
1275  @Override
1276  public Getter reqGetManufacturerCode() {
1277  return (Getter)super.reqGetManufacturerCode();
1278  }
1279  @Override
1280  public Getter reqGetBusinessFacilityCode() {
1281  return (Getter)super.reqGetBusinessFacilityCode();
1282  }
1283  @Override
1284  public Getter reqGetProductCode() {
1285  return (Getter)super.reqGetProductCode();
1286  }
1287  @Override
1288  public Getter reqGetProductionNumber() {
1289  return (Getter)super.reqGetProductionNumber();
1290  }
1291  @Override
1292  public Getter reqGetProductionDate() {
1293  return (Getter)super.reqGetProductionDate();
1294  }
1295  @Override
1296  public Getter reqGetPowerSavingOperationSetting() {
1297  return (Getter)super.reqGetPowerSavingOperationSetting();
1298  }
1299  @Override
1300  public Getter reqGetRemoteControlSetting() {
1301  return (Getter)super.reqGetRemoteControlSetting();
1302  }
1303  @Override
1304  public Getter reqGetCurrentTimeSetting() {
1305  return (Getter)super.reqGetCurrentTimeSetting();
1306  }
1307  @Override
1308  public Getter reqGetCurrentDateSetting() {
1309  return (Getter)super.reqGetCurrentDateSetting();
1310  }
1311  @Override
1312  public Getter reqGetPowerLimitSetting() {
1313  return (Getter)super.reqGetPowerLimitSetting();
1314  }
1315  @Override
1316  public Getter reqGetCumulativeOperatingTime() {
1317  return (Getter)super.reqGetCumulativeOperatingTime();
1318  }
1319  @Override
1320  public Getter reqGetStatusChangeAnnouncementPropertyMap() {
1321  return (Getter)super.reqGetStatusChangeAnnouncementPropertyMap();
1322  }
1323  @Override
1324  public Getter reqGetSetPropertyMap() {
1325  return (Getter)super.reqGetSetPropertyMap();
1326  }
1327  @Override
1328  public Getter reqGetGetPropertyMap() {
1329  return (Getter)super.reqGetGetPropertyMap();
1330  }
1331 
1355  public Getter reqGetSprinkleValveOpenCloseSetting() {
1356  reqGetProperty(EPC_SPRINKLE_VALVE_OPEN_CLOSE_SETTING);
1357  return this;
1358  }
1382  public Getter reqGetSprinkleIntervalSetting() {
1383  reqGetProperty(EPC_SPRINKLE_INTERVAL_SETTING);
1384  return this;
1385  }
1410  public Getter reqGetNumberOfSprinklesSetting() {
1411  reqGetProperty(EPC_NUMBER_OF_SPRINKLES_SETTING);
1412  return this;
1413  }
1438  public Getter reqGetSprinkleTimeSetting1() {
1439  reqGetProperty(EPC_SPRINKLE_TIME_SETTING1);
1440  return this;
1441  }
1466  public Getter reqGetSprinkleTimeSetting2() {
1467  reqGetProperty(EPC_SPRINKLE_TIME_SETTING2);
1468  return this;
1469  }
1493  public Getter reqGetSprinkleDurationSetting() {
1494  reqGetProperty(EPC_SPRINKLE_DURATION_SETTING);
1495  return this;
1496  }
1497  }
1498 
1499  public static class Informer extends DeviceObject.Informer {
1500  public Informer(short echoClassCode, byte echoInstanceCode
1501  , String dstEchoAddress, boolean isSelfObject) {
1502  super(echoClassCode, echoInstanceCode
1503  , dstEchoAddress, isSelfObject);
1504  }
1505 
1506  @Override
1507  public Informer reqInformProperty(byte epc) {
1508  return (Informer)super.reqInformProperty(epc);
1509  }
1510  @Override
1511  public Informer reqInformOperationStatus() {
1512  return (Informer)super.reqInformOperationStatus();
1513  }
1514  @Override
1515  public Informer reqInformInstallationLocation() {
1516  return (Informer)super.reqInformInstallationLocation();
1517  }
1518  @Override
1519  public Informer reqInformStandardVersionInformation() {
1520  return (Informer)super.reqInformStandardVersionInformation();
1521  }
1522  @Override
1523  public Informer reqInformIdentificationNumber() {
1524  return (Informer)super.reqInformIdentificationNumber();
1525  }
1526  @Override
1527  public Informer reqInformMeasuredInstantaneousPowerConsumption() {
1528  return (Informer)super.reqInformMeasuredInstantaneousPowerConsumption();
1529  }
1530  @Override
1531  public Informer reqInformMeasuredCumulativePowerConsumption() {
1532  return (Informer)super.reqInformMeasuredCumulativePowerConsumption();
1533  }
1534  @Override
1535  public Informer reqInformManufacturersFaultCode() {
1536  return (Informer)super.reqInformManufacturersFaultCode();
1537  }
1538  @Override
1539  public Informer reqInformCurrentLimitSetting() {
1540  return (Informer)super.reqInformCurrentLimitSetting();
1541  }
1542  @Override
1543  public Informer reqInformFaultStatus() {
1544  return (Informer)super.reqInformFaultStatus();
1545  }
1546  @Override
1547  public Informer reqInformFaultDescription() {
1548  return (Informer)super.reqInformFaultDescription();
1549  }
1550  @Override
1551  public Informer reqInformManufacturerCode() {
1552  return (Informer)super.reqInformManufacturerCode();
1553  }
1554  @Override
1555  public Informer reqInformBusinessFacilityCode() {
1556  return (Informer)super.reqInformBusinessFacilityCode();
1557  }
1558  @Override
1559  public Informer reqInformProductCode() {
1560  return (Informer)super.reqInformProductCode();
1561  }
1562  @Override
1563  public Informer reqInformProductionNumber() {
1564  return (Informer)super.reqInformProductionNumber();
1565  }
1566  @Override
1567  public Informer reqInformProductionDate() {
1568  return (Informer)super.reqInformProductionDate();
1569  }
1570  @Override
1571  public Informer reqInformPowerSavingOperationSetting() {
1572  return (Informer)super.reqInformPowerSavingOperationSetting();
1573  }
1574  @Override
1575  public Informer reqInformRemoteControlSetting() {
1576  return (Informer)super.reqInformRemoteControlSetting();
1577  }
1578  @Override
1579  public Informer reqInformCurrentTimeSetting() {
1580  return (Informer)super.reqInformCurrentTimeSetting();
1581  }
1582  @Override
1583  public Informer reqInformCurrentDateSetting() {
1584  return (Informer)super.reqInformCurrentDateSetting();
1585  }
1586  @Override
1587  public Informer reqInformPowerLimitSetting() {
1588  return (Informer)super.reqInformPowerLimitSetting();
1589  }
1590  @Override
1591  public Informer reqInformCumulativeOperatingTime() {
1592  return (Informer)super.reqInformCumulativeOperatingTime();
1593  }
1594  @Override
1595  public Informer reqInformStatusChangeAnnouncementPropertyMap() {
1596  return (Informer)super.reqInformStatusChangeAnnouncementPropertyMap();
1597  }
1598  @Override
1599  public Informer reqInformSetPropertyMap() {
1600  return (Informer)super.reqInformSetPropertyMap();
1601  }
1602  @Override
1603  public Informer reqInformGetPropertyMap() {
1604  return (Informer)super.reqInformGetPropertyMap();
1605  }
1606 
1630  public Informer reqInformSprinkleValveOpenCloseSetting() {
1631  reqInformProperty(EPC_SPRINKLE_VALVE_OPEN_CLOSE_SETTING);
1632  return this;
1633  }
1657  public Informer reqInformSprinkleIntervalSetting() {
1658  reqInformProperty(EPC_SPRINKLE_INTERVAL_SETTING);
1659  return this;
1660  }
1685  public Informer reqInformNumberOfSprinklesSetting() {
1686  reqInformProperty(EPC_NUMBER_OF_SPRINKLES_SETTING);
1687  return this;
1688  }
1713  public Informer reqInformSprinkleTimeSetting1() {
1714  reqInformProperty(EPC_SPRINKLE_TIME_SETTING1);
1715  return this;
1716  }
1741  public Informer reqInformSprinkleTimeSetting2() {
1742  reqInformProperty(EPC_SPRINKLE_TIME_SETTING2);
1743  return this;
1744  }
1768  public Informer reqInformSprinkleDurationSetting() {
1769  reqInformProperty(EPC_SPRINKLE_DURATION_SETTING);
1770  return this;
1771  }
1772  }
1773 
1774  public static class Proxy extends Sprinkler {
1775  public Proxy(byte instanceCode) {
1776  super();
1777  mEchoInstanceCode = instanceCode;
1778  }
1779  @Override
1780  public byte getInstanceCode() {
1781  return mEchoInstanceCode;
1782  }
1783  @Override
1784  protected byte[] getOperationStatus() {return null;}
1785  @Override
1786  protected boolean setInstallationLocation(byte[] edt) {return false;}
1787  @Override
1788  protected byte[] getInstallationLocation() {return null;}
1789  @Override
1790  protected byte[] getStandardVersionInformation() {return null;}
1791  @Override
1792  protected byte[] getFaultStatus() {return null;}
1793  @Override
1794  protected byte[] getManufacturerCode() {return null;}
1795  @Override
1796  protected boolean setSprinkleValveOpenCloseSetting(byte[] edt) {return false;}
1797  @Override
1798  protected byte[] getSprinkleValveOpenCloseSetting() {return null;}
1799  }
1800 
1801  public static Setter setG() {
1802  return setG((byte)0);
1803  }
1804 
1805  public static Setter setG(byte instanceCode) {
1806  return setG(instanceCode, true);
1807  }
1808 
1809  public static Setter setG(boolean responseRequired) {
1810  return setG((byte)0, responseRequired);
1811  }
1812 
1813  public static Setter setG(byte instanceCode, boolean responseRequired) {
1814  return new Setter(ECHO_CLASS_CODE, instanceCode
1815  , EchoSocket.MULTICAST_ADDRESS, responseRequired);
1816  }
1817 
1818  public static Getter getG() {
1819  return getG((byte)0);
1820  }
1821 
1822  public static Getter getG(byte instanceCode) {
1823  return new Getter(ECHO_CLASS_CODE, instanceCode
1825  }
1826 
1827  public static Informer informG() {
1828  return informG((byte)0);
1829  }
1830 
1831  public static Informer informG(byte instanceCode) {
1832  return new Informer(ECHO_CLASS_CODE, instanceCode
1833  , EchoSocket.MULTICAST_ADDRESS, false);
1834  }
1835 
1836 }
synchronized boolean setProperty(EchoProperty property)
Definition: Sprinkler.java:572
final void removeSetProperty(byte epc)
Definition: EchoObject.java:98
final void addStatusChangeAnnouncementProperty(byte epc)
Definition: EchoObject.java:71
final void addGetProperty(byte epc)
static Setter setG(byte instanceCode, boolean responseRequired)
final void addSetProperty(byte epc)
Definition: EchoObject.java:93
abstract boolean setSprinkleValveOpenCloseSetting(byte[] edt)
static Setter setG(boolean responseRequired)
synchronized boolean isValidProperty(EchoProperty property)
Definition: Sprinkler.java:604
abstract boolean setInstallationLocation(byte[] edt)
static final String MULTICAST_ADDRESS
Definition: EchoSocket.java:53