OpenECHO
 All Classes Namespaces Files Functions Variables
WaterFlowmeter.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 WaterFlowmeter extends DeviceObject {
27 
28  public static final short ECHO_CLASS_CODE = (short)0x0281;
29 
30  public static final byte EPC_FLOWING_WATER_CLASSIFICATION = (byte)0xD0;
31  public static final byte EPC_OWNER_CLASSIFICATION = (byte)0xD1;
32  public static final byte EPC_MEASURED_CUMULATIVE_AMOUNT_OF_FLOWING_WATER = (byte)0xE0;
33  public static final byte EPC_UNIT_FOR_MEASURED_CUMULATIVE_AMOUNTS_OF_FLOWING_WATER = (byte)0xE1;
35  public static final byte EPC_DETECTION_OF_ABNORMAL_VALUE_IN_METERING_DATA = (byte)0xE3;
36  public static final byte EPC_SECURITY_DATA_INFORMATION = (byte)0xE4;
37  public static final byte EPC_ID_NUMBER_SETTING = (byte)0xE5;
38  public static final byte EPC_VERIFICATION_EXPIRATION_INFORMATION = (byte)0xE6;
39 
40  @Override
41  protected void setupPropertyMaps() {
42  super.setupPropertyMaps();
43 
50  }
51 
52  @Override
53  public short getEchoClassCode() {
54  return ECHO_CLASS_CODE;
55  }
56 
82  protected boolean setOperationStatus(byte[] edt) {return false;}
108  protected abstract byte[] getOperationStatus();
132  protected boolean setFlowingWaterClassification(byte[] edt) {return false;}
156  protected byte[] getFlowingWaterClassification() {return null;}
180  protected boolean isValidFlowingWaterClassification(byte[] edt) {
181  if(edt == null || !(edt.length == 1)) return false;
182  return true;
183  }
209  protected boolean setOwnerClassification(byte[] edt) {return false;}
235  protected byte[] getOwnerClassification() {return null;}
261  protected boolean isValidOwnerClassification(byte[] edt) {
262  if(edt == null || !(edt.length == 1)) return false;
263  return true;
264  }
288  protected abstract byte[] getMeasuredCumulativeAmountOfFlowingWater();
312  protected boolean isValidMeasuredCumulativeAmountOfFlowingWater(byte[] edt) {
313  if(edt == null || !(edt.length == 4)) return false;
314  return true;
315  }
344  protected abstract byte[] getUnitForMeasuredCumulativeAmountsOfFlowingWater();
374  if(edt == null || !(edt.length == 1)) return false;
375  return true;
376  }
429  if(edt == null || !(edt.length == 192)) return false;
430  return true;
431  }
457  protected byte[] getDetectionOfAbnormalValueInMeteringData() {return null;}
483  protected boolean isValidDetectionOfAbnormalValueInMeteringData(byte[] edt) {
484  if(edt == null || !(edt.length == 1)) return false;
485  return true;
486  }
509  protected byte[] getSecurityDataInformation() {return null;}
532  protected boolean isValidSecurityDataInformation(byte[] edt) {
533  if(edt == null || !(edt.length == 4)) return false;
534  return true;
535  }
560  protected boolean setIdNumberSetting(byte[] edt) {return false;}
585  protected byte[] getIdNumberSetting() {return null;}
610  protected boolean isValidIdNumberSetting(byte[] edt) {
611  if(edt == null || !(edt.length == 6)) return false;
612  return true;
613  }
638  protected boolean setVerificationExpirationInformation(byte[] edt) {return false;}
663  protected byte[] getVerificationExpirationInformation() {return null;}
688  protected boolean isValidVerificationExpirationInformation(byte[] edt) {
689  if(edt == null || !(edt.length == 6)) return false;
690  return true;
691  }
692 
693  @Override
694  protected synchronized boolean setProperty(EchoProperty property) {
695  boolean success = super.setProperty(property);
696  if(success) return success;
697 
698  switch(property.epc) {
700  case EPC_OWNER_CLASSIFICATION : return setOwnerClassification(property.edt);
701  case EPC_ID_NUMBER_SETTING : return setIdNumberSetting(property.edt);
703  default : return false;
704  }
705  }
706 
707  @Override
708  protected synchronized byte[] getProperty(byte epc) {
709  byte[] edt = super.getProperty(epc);
710  if(edt != null) return edt;
711 
712  switch(epc) {
722  default : return null;
723  }
724  }
725 
726  @Override
727  protected synchronized boolean isValidProperty(EchoProperty property) {
728  boolean valid = super.isValidProperty(property);
729  if(valid) return valid;
730 
731  switch(property.epc) {
739  case EPC_ID_NUMBER_SETTING : return isValidIdNumberSetting(property.edt);
741  default : return false;
742  }
743  }
744 
745  @Override
746  public Setter set() {
747  return set(true);
748  }
749 
750  @Override
751  public Setter set(boolean responseRequired) {
752  return new Setter(getEchoClassCode(), getInstanceCode()
753  , getNode().getAddressStr(), responseRequired);
754  }
755 
756  @Override
757  public Getter get() {
758  return new Getter(getEchoClassCode(), getInstanceCode()
759  , getNode().getAddressStr());
760  }
761 
762  @Override
763  public Informer inform() {
764  return inform(isSelfObject());
765  }
766 
767  @Override
768  protected Informer inform(boolean multicast) {
769  String address;
770  if(multicast) {
772  } else {
773  address = getNode().getAddressStr();
774  }
775  return new Informer(getEchoClassCode(), getInstanceCode()
776  , address, isSelfObject());
777  }
778 
779  public static class Receiver extends DeviceObject.Receiver {
780 
781  @Override
782  protected boolean onSetProperty(EchoObject eoj, short tid, byte esv,
783  EchoProperty property, boolean success) {
784  boolean ret = super.onSetProperty(eoj, tid, esv, property, success);
785  if(ret) return true;
786 
787  switch(property.epc) {
789  onSetFlowingWaterClassification(eoj, tid, esv, property, success);
790  return true;
792  onSetOwnerClassification(eoj, tid, esv, property, success);
793  return true;
794  case EPC_ID_NUMBER_SETTING :
795  onSetIdNumberSetting(eoj, tid, esv, property, success);
796  return true;
798  onSetVerificationExpirationInformation(eoj, tid, esv, property, success);
799  return true;
800  default :
801  return false;
802  }
803  }
804 
805  @Override
806  protected boolean onGetProperty(EchoObject eoj, short tid, byte esv,
807  EchoProperty property, boolean success) {
808  boolean ret = super.onGetProperty(eoj, tid, esv, property, success);
809  if(ret) return true;
810 
811  switch(property.epc) {
813  onGetFlowingWaterClassification(eoj, tid, esv, property, success);
814  return true;
816  onGetOwnerClassification(eoj, tid, esv, property, success);
817  return true;
819  onGetMeasuredCumulativeAmountOfFlowingWater(eoj, tid, esv, property, success);
820  return true;
822  onGetUnitForMeasuredCumulativeAmountsOfFlowingWater(eoj, tid, esv, property, success);
823  return true;
825  onGetHistoricalDataOfMeasuredCumulativeAmountsOfFlowingWater(eoj, tid, esv, property, success);
826  return true;
828  onGetDetectionOfAbnormalValueInMeteringData(eoj, tid, esv, property, success);
829  return true;
831  onGetSecurityDataInformation(eoj, tid, esv, property, success);
832  return true;
833  case EPC_ID_NUMBER_SETTING :
834  onGetIdNumberSetting(eoj, tid, esv, property, success);
835  return true;
837  onGetVerificationExpirationInformation(eoj, tid, esv, property, success);
838  return true;
839  default :
840  return false;
841  }
842  }
843 
867  protected void onSetFlowingWaterClassification(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
891  protected void onGetFlowingWaterClassification(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
917  protected void onSetOwnerClassification(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
943  protected void onGetOwnerClassification(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
967  protected void onGetMeasuredCumulativeAmountOfFlowingWater(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
996  protected void onGetUnitForMeasuredCumulativeAmountsOfFlowingWater(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
1022  protected void onGetHistoricalDataOfMeasuredCumulativeAmountsOfFlowingWater(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
1048  protected void onGetDetectionOfAbnormalValueInMeteringData(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
1071  protected void onGetSecurityDataInformation(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
1096  protected void onSetIdNumberSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
1121  protected void onGetIdNumberSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
1146  protected void onSetVerificationExpirationInformation(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
1171  protected void onGetVerificationExpirationInformation(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
1172  }
1173 
1174  public static class Setter extends DeviceObject.Setter {
1175  public Setter(short dstEchoClassCode, byte dstEchoInstanceCode
1176  , String dstEchoAddress, boolean responseRequired) {
1177  super(dstEchoClassCode, dstEchoInstanceCode
1178  , dstEchoAddress, responseRequired);
1179  }
1180 
1181  @Override
1182  public Setter reqSetProperty(byte epc, byte[] edt) {
1183  return (Setter)super.reqSetProperty(epc, edt);
1184  }
1185 
1186  @Override
1187  public Setter reqSetOperationStatus(byte[] edt) {
1188  return (Setter)super.reqSetOperationStatus(edt);
1189  }
1190  @Override
1191  public Setter reqSetInstallationLocation(byte[] edt) {
1192  return (Setter)super.reqSetInstallationLocation(edt);
1193  }
1194  @Override
1195  public Setter reqSetCurrentLimitSetting(byte[] edt) {
1196  return (Setter)super.reqSetCurrentLimitSetting(edt);
1197  }
1198  @Override
1199  public Setter reqSetPowerSavingOperationSetting(byte[] edt) {
1200  return (Setter)super.reqSetPowerSavingOperationSetting(edt);
1201  }
1202  @Override
1203  public Setter reqSetRemoteControlSetting(byte[] edt) {
1204  return (Setter)super.reqSetRemoteControlSetting(edt);
1205  }
1206  @Override
1207  public Setter reqSetCurrentTimeSetting(byte[] edt) {
1208  return (Setter)super.reqSetCurrentTimeSetting(edt);
1209  }
1210  @Override
1211  public Setter reqSetCurrentDateSetting(byte[] edt) {
1212  return (Setter)super.reqSetCurrentDateSetting(edt);
1213  }
1214  @Override
1215  public Setter reqSetPowerLimitSetting(byte[] edt) {
1216  return (Setter)super.reqSetPowerLimitSetting(edt);
1217  }
1218 
1242  public Setter reqSetFlowingWaterClassification(byte[] edt) {
1243  reqSetProperty(EPC_FLOWING_WATER_CLASSIFICATION, edt);
1244  return this;
1245  }
1271  public Setter reqSetOwnerClassification(byte[] edt) {
1272  reqSetProperty(EPC_OWNER_CLASSIFICATION, edt);
1273  return this;
1274  }
1299  public Setter reqSetIdNumberSetting(byte[] edt) {
1300  reqSetProperty(EPC_ID_NUMBER_SETTING, edt);
1301  return this;
1302  }
1327  public Setter reqSetVerificationExpirationInformation(byte[] edt) {
1328  reqSetProperty(EPC_VERIFICATION_EXPIRATION_INFORMATION, edt);
1329  return this;
1330  }
1331  }
1332 
1333  public static class Getter extends DeviceObject.Getter {
1334  public Getter(short dstEchoClassCode, byte dstEchoInstanceCode
1335  , String dstEchoAddress) {
1336  super(dstEchoClassCode, dstEchoInstanceCode
1337  , dstEchoAddress);
1338  }
1339 
1340  @Override
1341  public Getter reqGetProperty(byte epc) {
1342  return (Getter)super.reqGetProperty(epc);
1343  }
1344 
1345  @Override
1346  public Getter reqGetOperationStatus() {
1347  return (Getter)super.reqGetOperationStatus();
1348  }
1349  @Override
1350  public Getter reqGetInstallationLocation() {
1351  return (Getter)super.reqGetInstallationLocation();
1352  }
1353  @Override
1354  public Getter reqGetStandardVersionInformation() {
1355  return (Getter)super.reqGetStandardVersionInformation();
1356  }
1357  @Override
1358  public Getter reqGetIdentificationNumber() {
1359  return (Getter)super.reqGetIdentificationNumber();
1360  }
1361  @Override
1362  public Getter reqGetMeasuredInstantaneousPowerConsumption() {
1363  return (Getter)super.reqGetMeasuredInstantaneousPowerConsumption();
1364  }
1365  @Override
1366  public Getter reqGetMeasuredCumulativePowerConsumption() {
1367  return (Getter)super.reqGetMeasuredCumulativePowerConsumption();
1368  }
1369  @Override
1370  public Getter reqGetManufacturersFaultCode() {
1371  return (Getter)super.reqGetManufacturersFaultCode();
1372  }
1373  @Override
1374  public Getter reqGetCurrentLimitSetting() {
1375  return (Getter)super.reqGetCurrentLimitSetting();
1376  }
1377  @Override
1378  public Getter reqGetFaultStatus() {
1379  return (Getter)super.reqGetFaultStatus();
1380  }
1381  @Override
1382  public Getter reqGetFaultDescription() {
1383  return (Getter)super.reqGetFaultDescription();
1384  }
1385  @Override
1386  public Getter reqGetManufacturerCode() {
1387  return (Getter)super.reqGetManufacturerCode();
1388  }
1389  @Override
1390  public Getter reqGetBusinessFacilityCode() {
1391  return (Getter)super.reqGetBusinessFacilityCode();
1392  }
1393  @Override
1394  public Getter reqGetProductCode() {
1395  return (Getter)super.reqGetProductCode();
1396  }
1397  @Override
1398  public Getter reqGetProductionNumber() {
1399  return (Getter)super.reqGetProductionNumber();
1400  }
1401  @Override
1402  public Getter reqGetProductionDate() {
1403  return (Getter)super.reqGetProductionDate();
1404  }
1405  @Override
1406  public Getter reqGetPowerSavingOperationSetting() {
1407  return (Getter)super.reqGetPowerSavingOperationSetting();
1408  }
1409  @Override
1410  public Getter reqGetRemoteControlSetting() {
1411  return (Getter)super.reqGetRemoteControlSetting();
1412  }
1413  @Override
1414  public Getter reqGetCurrentTimeSetting() {
1415  return (Getter)super.reqGetCurrentTimeSetting();
1416  }
1417  @Override
1418  public Getter reqGetCurrentDateSetting() {
1419  return (Getter)super.reqGetCurrentDateSetting();
1420  }
1421  @Override
1422  public Getter reqGetPowerLimitSetting() {
1423  return (Getter)super.reqGetPowerLimitSetting();
1424  }
1425  @Override
1426  public Getter reqGetCumulativeOperatingTime() {
1427  return (Getter)super.reqGetCumulativeOperatingTime();
1428  }
1429  @Override
1430  public Getter reqGetStatusChangeAnnouncementPropertyMap() {
1431  return (Getter)super.reqGetStatusChangeAnnouncementPropertyMap();
1432  }
1433  @Override
1434  public Getter reqGetSetPropertyMap() {
1435  return (Getter)super.reqGetSetPropertyMap();
1436  }
1437  @Override
1438  public Getter reqGetGetPropertyMap() {
1439  return (Getter)super.reqGetGetPropertyMap();
1440  }
1441 
1465  public Getter reqGetFlowingWaterClassification() {
1466  reqGetProperty(EPC_FLOWING_WATER_CLASSIFICATION);
1467  return this;
1468  }
1494  public Getter reqGetOwnerClassification() {
1495  reqGetProperty(EPC_OWNER_CLASSIFICATION);
1496  return this;
1497  }
1521  public Getter reqGetMeasuredCumulativeAmountOfFlowingWater() {
1523  return this;
1524  }
1553  public Getter reqGetUnitForMeasuredCumulativeAmountsOfFlowingWater() {
1555  return this;
1556  }
1582  public Getter reqGetHistoricalDataOfMeasuredCumulativeAmountsOfFlowingWater() {
1584  return this;
1585  }
1611  public Getter reqGetDetectionOfAbnormalValueInMeteringData() {
1613  return this;
1614  }
1637  public Getter reqGetSecurityDataInformation() {
1638  reqGetProperty(EPC_SECURITY_DATA_INFORMATION);
1639  return this;
1640  }
1665  public Getter reqGetIdNumberSetting() {
1666  reqGetProperty(EPC_ID_NUMBER_SETTING);
1667  return this;
1668  }
1693  public Getter reqGetVerificationExpirationInformation() {
1695  return this;
1696  }
1697  }
1698 
1699  public static class Informer extends DeviceObject.Informer {
1700  public Informer(short echoClassCode, byte echoInstanceCode
1701  , String dstEchoAddress, boolean isSelfObject) {
1702  super(echoClassCode, echoInstanceCode
1703  , dstEchoAddress, isSelfObject);
1704  }
1705 
1706  @Override
1707  public Informer reqInformProperty(byte epc) {
1708  return (Informer)super.reqInformProperty(epc);
1709  }
1710  @Override
1711  public Informer reqInformOperationStatus() {
1712  return (Informer)super.reqInformOperationStatus();
1713  }
1714  @Override
1715  public Informer reqInformInstallationLocation() {
1716  return (Informer)super.reqInformInstallationLocation();
1717  }
1718  @Override
1719  public Informer reqInformStandardVersionInformation() {
1720  return (Informer)super.reqInformStandardVersionInformation();
1721  }
1722  @Override
1723  public Informer reqInformIdentificationNumber() {
1724  return (Informer)super.reqInformIdentificationNumber();
1725  }
1726  @Override
1727  public Informer reqInformMeasuredInstantaneousPowerConsumption() {
1728  return (Informer)super.reqInformMeasuredInstantaneousPowerConsumption();
1729  }
1730  @Override
1731  public Informer reqInformMeasuredCumulativePowerConsumption() {
1732  return (Informer)super.reqInformMeasuredCumulativePowerConsumption();
1733  }
1734  @Override
1735  public Informer reqInformManufacturersFaultCode() {
1736  return (Informer)super.reqInformManufacturersFaultCode();
1737  }
1738  @Override
1739  public Informer reqInformCurrentLimitSetting() {
1740  return (Informer)super.reqInformCurrentLimitSetting();
1741  }
1742  @Override
1743  public Informer reqInformFaultStatus() {
1744  return (Informer)super.reqInformFaultStatus();
1745  }
1746  @Override
1747  public Informer reqInformFaultDescription() {
1748  return (Informer)super.reqInformFaultDescription();
1749  }
1750  @Override
1751  public Informer reqInformManufacturerCode() {
1752  return (Informer)super.reqInformManufacturerCode();
1753  }
1754  @Override
1755  public Informer reqInformBusinessFacilityCode() {
1756  return (Informer)super.reqInformBusinessFacilityCode();
1757  }
1758  @Override
1759  public Informer reqInformProductCode() {
1760  return (Informer)super.reqInformProductCode();
1761  }
1762  @Override
1763  public Informer reqInformProductionNumber() {
1764  return (Informer)super.reqInformProductionNumber();
1765  }
1766  @Override
1767  public Informer reqInformProductionDate() {
1768  return (Informer)super.reqInformProductionDate();
1769  }
1770  @Override
1771  public Informer reqInformPowerSavingOperationSetting() {
1772  return (Informer)super.reqInformPowerSavingOperationSetting();
1773  }
1774  @Override
1775  public Informer reqInformRemoteControlSetting() {
1776  return (Informer)super.reqInformRemoteControlSetting();
1777  }
1778  @Override
1779  public Informer reqInformCurrentTimeSetting() {
1780  return (Informer)super.reqInformCurrentTimeSetting();
1781  }
1782  @Override
1783  public Informer reqInformCurrentDateSetting() {
1784  return (Informer)super.reqInformCurrentDateSetting();
1785  }
1786  @Override
1787  public Informer reqInformPowerLimitSetting() {
1788  return (Informer)super.reqInformPowerLimitSetting();
1789  }
1790  @Override
1791  public Informer reqInformCumulativeOperatingTime() {
1792  return (Informer)super.reqInformCumulativeOperatingTime();
1793  }
1794  @Override
1795  public Informer reqInformStatusChangeAnnouncementPropertyMap() {
1796  return (Informer)super.reqInformStatusChangeAnnouncementPropertyMap();
1797  }
1798  @Override
1799  public Informer reqInformSetPropertyMap() {
1800  return (Informer)super.reqInformSetPropertyMap();
1801  }
1802  @Override
1803  public Informer reqInformGetPropertyMap() {
1804  return (Informer)super.reqInformGetPropertyMap();
1805  }
1806 
1830  public Informer reqInformFlowingWaterClassification() {
1831  reqInformProperty(EPC_FLOWING_WATER_CLASSIFICATION);
1832  return this;
1833  }
1859  public Informer reqInformOwnerClassification() {
1860  reqInformProperty(EPC_OWNER_CLASSIFICATION);
1861  return this;
1862  }
1886  public Informer reqInformMeasuredCumulativeAmountOfFlowingWater() {
1888  return this;
1889  }
1918  public Informer reqInformUnitForMeasuredCumulativeAmountsOfFlowingWater() {
1920  return this;
1921  }
1947  public Informer reqInformHistoricalDataOfMeasuredCumulativeAmountsOfFlowingWater() {
1949  return this;
1950  }
1976  public Informer reqInformDetectionOfAbnormalValueInMeteringData() {
1978  return this;
1979  }
2002  public Informer reqInformSecurityDataInformation() {
2003  reqInformProperty(EPC_SECURITY_DATA_INFORMATION);
2004  return this;
2005  }
2030  public Informer reqInformIdNumberSetting() {
2031  reqInformProperty(EPC_ID_NUMBER_SETTING);
2032  return this;
2033  }
2058  public Informer reqInformVerificationExpirationInformation() {
2059  reqInformProperty(EPC_VERIFICATION_EXPIRATION_INFORMATION);
2060  return this;
2061  }
2062  }
2063 
2064  public static class Proxy extends WaterFlowmeter {
2065  public Proxy(byte instanceCode) {
2066  super();
2067  mEchoInstanceCode = instanceCode;
2068  }
2069  @Override
2070  public byte getInstanceCode() {
2071  return mEchoInstanceCode;
2072  }
2073  @Override
2074  protected byte[] getOperationStatus() {return null;}
2075  @Override
2076  protected boolean setInstallationLocation(byte[] edt) {return false;}
2077  @Override
2078  protected byte[] getInstallationLocation() {return null;}
2079  @Override
2080  protected byte[] getStandardVersionInformation() {return null;}
2081  @Override
2082  protected byte[] getFaultStatus() {return null;}
2083  @Override
2084  protected byte[] getManufacturerCode() {return null;}
2085  @Override
2086  protected byte[] getMeasuredCumulativeAmountOfFlowingWater() {return null;}
2087  @Override
2088  protected byte[] getUnitForMeasuredCumulativeAmountsOfFlowingWater() {return null;}
2089  }
2090 
2091  public static Setter setG() {
2092  return setG((byte)0);
2093  }
2094 
2095  public static Setter setG(byte instanceCode) {
2096  return setG(instanceCode, true);
2097  }
2098 
2099  public static Setter setG(boolean responseRequired) {
2100  return setG((byte)0, responseRequired);
2101  }
2102 
2103  public static Setter setG(byte instanceCode, boolean responseRequired) {
2104  return new Setter(ECHO_CLASS_CODE, instanceCode
2105  , EchoSocket.MULTICAST_ADDRESS, responseRequired);
2106  }
2107 
2108  public static Getter getG() {
2109  return getG((byte)0);
2110  }
2111 
2112  public static Getter getG(byte instanceCode) {
2113  return new Getter(ECHO_CLASS_CODE, instanceCode
2115  }
2116 
2117  public static Informer informG() {
2118  return informG((byte)0);
2119  }
2120 
2121  public static Informer informG(byte instanceCode) {
2122  return new Informer(ECHO_CLASS_CODE, instanceCode
2123  , EchoSocket.MULTICAST_ADDRESS, false);
2124  }
2125 
2126 }
static Setter setG(byte instanceCode, boolean responseRequired)
final void removeSetProperty(byte epc)
Definition: EchoObject.java:98
final void addStatusChangeAnnouncementProperty(byte epc)
Definition: EchoObject.java:71
final void addGetProperty(byte epc)
synchronized boolean isValidProperty(EchoProperty property)
synchronized boolean setProperty(EchoProperty property)
abstract boolean setInstallationLocation(byte[] edt)
static final String MULTICAST_ADDRESS
Definition: EchoSocket.java:53