Mercurial Hosting > nabble
diff src/nabble/model/Site.java @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children | 18cf4872fd7f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/nabble/model/Site.java Thu Mar 21 19:15:52 2019 -0600 @@ -0,0 +1,100 @@ +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 String newAnonymousCookie(); + 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 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); +}