Mercurial Hosting > nabble
view src/nabble/model/Site.java @ 21:aba8ed4c8a06
semiprivate
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sat, 13 Jun 2020 22:30:48 -0600 |
parents | 18cf4872fd7f |
children | b0e75dfe1853 |
line wrap: on
line source
package nabble.model; import fschmidt.db.DbDatabase; import fschmidt.db.DbObject; import fschmidt.db.NoKey; import nabble.naml.compiler.Program; import nabble.naml.compiler.Template; import nabble.naml.compiler.CompileException; import nabble.model.export.NodeData; import java.io.File; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Collection; import java.util.Date; import java.util.List; import java.util.Map; public interface Site extends Message.Source, DbObject<NoKey,SiteImpl> { public DbDatabase getDb(); public long getId(); public Node getRootNode(); public Date getWhenCreated(); public Program getProgram(); public Template getTemplate(String templateName,Class... base); public void setCustomDomain(String customDomain); public String getCustomDomain(); public String getBaseUrl(); public int getActivity(); public boolean isEmbarrassing(); public void setEmbarrassing(boolean isEmbarrassing); public Date getDeleteDate(); public void clearDeleteDate(); public void deleteRootNode() throws ModelException; // root must have one child public void delete(); public User getUser(long id); public User getUserFromEmail(String email); public User getUserFromName(String name); public User getOrCreateUnregisteredUser(String email,String name) throws ModelException; public User getOrCreateUser(String email); public User getOrCreateUser(String email,String name); // for export/import public String newRegistration(String email,String password,String name,String nextUrl) throws ModelException; public User getRegistration(String registrationKey) throws ModelException; public List<User> getUsers(String cnd); public List<User> getUsersByNodeCount(int i, int n, String cnd); public int getUserCount(String cnd); public Person getAnonymous(String cookie, String name); public Person getPerson(String id); public void addTag(Node node,User user,String label); public void deleteTags(Node node,User user,String sqlCondition); public void deleteTags(String sqlCondition); // doesn't clear caches public boolean hasTags(Node node,User user,String sqlCondition); public int countTags(String sqlCondition); public List<String> findTagLabels(String sqlCondition); public List<User> findTagUsers(String sqlCondition); public List<Long> findTagUserIds(String sqlCondition); public List<Node> findTagNodes(String sqlCondition); public List<Long> findTagNodeIds(String sqlCondition); public boolean isSemiprivate(); public void setSemiprivate(boolean isSemiprivate); public boolean isModuleEnabled(String moduleName); public void setModuleEnabled(String moduleName,boolean isEnabled); public Map<String,String> getCustomTweaks(); public void setCustomTweaks(Map<String,String> tweaks); public boolean setTweakException(CompileException tweakException); public CompileException getTweakException(); public void update(); public Site getGoodCopy(); // moved from ModelHome public Node getNode(long id); public Node getNode(ResultSet rs) throws SQLException; public Collection<? extends Node> getNodes(Collection<Long> ids); public NodeIterator<? extends Node> getNodeIterator(String sql,DbParamSetter paramSetter); public String getProperty(String key); public void setProperty(String key,String value); public boolean isValidConfiguration(String name); public void deleteConfiguration(String name); public void saveConfiguration(String name,String value,String naml); public String getConfigurationValue(String name); public String getConfigurationTweak(); public String getNextUrl(String registrationKey); public Node newNode(NodeData data) throws ModelException; public Collection<Node> cacheLastNodes(Collection<Node> nodes); public <T> T getExtension(ExtensionFactory<Site,T> factory); public void addTask(String task); public File backup(); public void backup(String filename); public void backupSchema(String filename); }