void addReference(long instanceId) { try { byte flags = getFlags(); long ref = getReferencesPointer(); if ((flags & NUMBER_LIST) == 0) { // reference list is not used if (ref == 0L) { // no reference was set setReferencesPointer(instanceId); } else if (ref != instanceId) { // one reference was set, switch to reference list setFlags((byte)(flags | NUMBER_LIST)); long list = referenceList.addFirstNumber(ref,instanceId); setReferencesPointer(list); } } else { // use reference list long newRef = referenceList.addNumber(ref,instanceId); if (newRef != ref) { setReferencesPointer(newRef); } } } catch (IOException ex) { ex.printStackTrace(); } }
void addReference(long instanceId) { try { byte flags = getFlags(); long ref = getReferencesPointer(); if ((flags & NUMBER_LIST) == 0) { // reference list is not used if (ref == 0L) { // no reference was set setReferencesPointer(instanceId); } else if (ref != instanceId) { // one reference was set, switch to reference list setFlags((byte)(flags | NUMBER_LIST)); long list = referenceList.addFirstNumber(ref,instanceId); setReferencesPointer(list); } } else { // use reference list long newRef = referenceList.addNumber(ref,instanceId); if (newRef != ref) { setReferencesPointer(newRef); } } } catch (IOException ex) { ex.printStackTrace(); } }
void addReference(long instanceId) { try { byte flags = getFlags(); long ref = getReferencesPointer(); if ((flags & NUMBER_LIST) == 0) { // reference list is not used if (ref == 0L) { // no reference was set setReferencesPointer(instanceId); } else if (ref != instanceId) { // one reference was set, switch to reference list setFlags((byte)(flags | NUMBER_LIST)); long list = referenceList.addFirstNumber(ref,instanceId); setReferencesPointer(list); } } else { // use reference list long newRef = referenceList.addNumber(ref,instanceId); if (newRef != ref) { setReferencesPointer(newRef); } } } catch (IOException ex) { ex.printStackTrace(); } }