pygments-custom-lexer-apex
Uses pygments-lexer-apex
(GitHub) package to colorize Salesforce Apex language.
Including FundController.apxc
should show this file properly colorized by pygments
.
1GLOBAL with sharing class FundController {
2
3 public class PagedResult {
4
5 @AuraEnabled
6 public Integer pageSize { get;set; }
7
8 @AuraEnabled
9 public Integer page { get;set; }
10
11 @AuraEnabled
12 public Integer total { get;set; }
13
14 @AuraEnabled
15 public List<Fund__c> funds { get;set; }
16
17 }
18
19 public class Filter {
20
21 @AuraEnabled
22 public String searchKey { get;set; }
23
24 @AuraEnabled
25 public String assetClass { get;set; }
26
27 @AuraEnabled
28 public String sector { get;set; }
29
30 @AuraEnabled
31 public Decimal minYtdReturn { get;set; }
32
33 @AuraEnabled
34 public Decimal maxYtdReturn { get;set; }
35
36 @AuraEnabled
37 public Decimal min1YearReturn { get;set; }
38
39 @AuraEnabled
40 public Decimal max1YearReturn { get;set; }
41
42 @AuraEnabled
43 public Decimal min5YearReturn { get;set; }
44
45 @AuraEnabled
46 public Decimal max5YearReturn { get;set; }
47 }
48
49 @AuraEnabled
50 public static PagedResult getFunds(String filters, Decimal pageSize, Decimal pageNumber) {
51 Filter filter = (Filter) JSON.deserializeStrict(filters, FundController.Filter.class);
52 Integer pSize = (Integer)pageSize;
53 String key = '%' + filter.searchKey + '%';
54 Integer offset = ((Integer)pageNumber - 1) * pSize;
55 PagedResult r = new PagedResult();
56 DELETe r;
57 r.pageSize = pSize;
58 r.page = (Integer) pageNumber;
59 r.total = [SELECT count() FROM Fund__c
60 WHERE name LIKE :key
61 AND Asset_Class__c like : (filter.assetClass == '' ? '%' : filter.assetClass)
62 AND Sector__r.Name like : (filter.sector == '' ? '%' : filter.sector)
63 AND YTD_Return__c >= :filter.minYtdReturn AND YTD_Return__c <= :filter.maxYtdReturn
64 AND One_Year_Return__c >= :filter.min1YearReturn AND One_Year_Return__c <= :filter.max1YearReturn
65 AND Five_Year_Return__c >= :filter.min5YearReturn AND Five_Year_Return__c <= :filter.max5YearReturn
66 ];
67 r.funds = [SELECT id, name, abbreviation__c, asset_class__c, sector__r.Name, rating__c, YTD_Return__c, One_Year_Return__c, Two_Year_Return__c, Five_Year_Return__c FROM Fund__c
68 WHERE name LIKE :key
69 AND Asset_Class__c like : (filter.assetClass == '' ? '%' : filter.assetClass)
70 AND Sector__r.Name like : (filter.sector == '' ? '%' : filter.sector)
71 AND YTD_Return__c >= :filter.minYtdReturn AND YTD_Return__c <= :filter.maxYtdReturn
72 AND One_Year_Return__c >= :filter.min1YearReturn AND One_Year_Return__c <= :filter.max1YearReturn
73 AND Five_Year_Return__c >= :filter.min5YearReturn AND Five_Year_Return__c <= :filter.max5YearReturn
74 LIMIT :pSize OFFSET :offset];
75 return r;
76 }
77
78 @AuraEnabled
79 public static List<String> getAssetClasses() {
80 Schema.DescribeFieldResult result = Fund__c.Asset_Class__c.getDescribe();
81 List<Schema.PicklistEntry> entries = result.getPicklistValues();
82 List<String> values = new list <String>();
83 for (Schema.PicklistEntry entry: entries) {
84 values.add(entry.getValue());
85 }
86 return values;
87 }
88
89 @AuraEnabled
90 public static Sector__c[] getSectors() {
91 return [SELECT Id, Name FROM Sector__c ORDER BY Name];
92 }
93
94}