public LinkValue(final LinkDefinition<Source, Target> link) { this(link.getSource(), link.getTarget(), CURRENT_VERSION); }
private void update(final Connection connection, final String linkKey, final LinkDefinition<? extends BaseSource, ? extends BaseTarget> linkDefinition) throws SQLException { try (PreparedStatement statement = connection.prepareStatement(String.format( "UPDATE %s SET source = ?, target = ? WHERE link_key = ?", getLinksTableName()))) { saveObjectAsBlob(statement, 1, linkDefinition.getSource()); saveObjectAsBlob(statement, 2, linkDefinition.getTarget()); statement.setString(3, linkKey); if (statement.executeUpdate() != 1) { throw new StoreException(String.format("Cannot save link %s", new LinkKey(linkDefinition))); } } }
public LinkImpl(final LinkDefinition<S, T> linkDefinition, final LinkRegistry<S, T> linkRegistry) { this(linkDefinition.getRemoteContainerId(), linkDefinition.getName(), linkDefinition.getRole(), linkRegistry); setTermini(linkDefinition.getSource(), linkDefinition.getTarget()); }
private void insert(final Connection connection, final String linkKey, final LinkDefinition<? extends BaseSource, ? extends BaseTarget> linkDefinition) throws SQLException { try (PreparedStatement statement = connection.prepareStatement(String.format( "INSERT INTO %s (link_key, remote_container_id, link_name, link_role, source, target) VALUES (?,?,?,?,?,?)", getLinksTableName()))) { statement.setString(1, linkKey); saveStringAsBlob(statement, 2, linkDefinition.getRemoteContainerId()); saveStringAsBlob(statement, 3, linkDefinition.getName()); statement.setInt(4, linkDefinition.getRole().getValue() ? 1 : 0); saveObjectAsBlob(statement, 5, linkDefinition.getSource()); saveObjectAsBlob(statement, 6, linkDefinition.getTarget()); if (statement.executeUpdate() != 1) { throw new StoreException(String.format("Cannot save link %s", new LinkKey(linkDefinition))); } } }