package net.pterodactylus.demoscenemusic.data;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import net.pterodactylus.util.database.ObjectCreator;
+import java.util.Collection;
/**
* TODO
*/
public class DefaultGroup extends DefaultBase implements Group {
- public static final ObjectCreator<Group> CREATOR = new GroupCreator();
-
public DefaultGroup(String id) {
super(id);
}
/**
* {@inheritDoc}
*/
+ @Override
public String name() {
return value("name", String.class).get();
}
/**
* {@inheritDoc}
*/
+ @Override
public Group name(String name) {
value("name", String.class).set(name);
return this;
/**
* {@inheritDoc}
*/
+ @Override
public String url() {
return value("url", String.class).get();
}
/**
* {@inheritDoc}
*/
+ @Override
public Group url(String url) {
value("url", String.class).set(url);
return this;
}
- private static class GroupCreator implements ObjectCreator<Group> {
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Group createObject(ResultSet resultSet) throws SQLException {
- return new DefaultGroup(resultSet.getString("GROUPS.ID")).name(resultSet.getString("GROUPS.NAME")).url(resultSet.getString("GROUPS.URL"));
- }
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Collection<Artist> artists() {
+ return value("artists", Collection.class).get();
+ }
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Group artists(Collection<Artist> artists) {
+ value("artists", Collection.class).set(artists);
+ return this;
}
}